Tech Wiki

[Hermes Agent 실전 02] Hermes CLI·TUI·Desktop과 세션 관리

Hermes의 세 local interface는 서로 다른 agent가 아니라 같은 agent와 session store를 바라보는 화면입니다. 작업에 맞는 surface를 고른 뒤 session에 이름을 붙이고 export해 두면 나중에도 찾기 쉽습니다.

  • Classic CLI는 가장 가벼운 대화형 shell입니다.
  • TUI는 overlay, live session 전환, 풍부한 terminal control을 제공합니다.
  • Desktop은 native session list, file attachment, preview, 설정 화면을 더합니다.
  • 저장된 session은 같은 profile state를 사용하므로 surface 사이에서 이어갈 수 있습니다.

1. Surface 선택

한 가지 작업에 집중하는 terminal conversation에는 classic CLI가 잘 맞습니다. profile 기본값이 TUI여도 --cli로 CLI를 강제할 수 있습니다. 여러 live conversation이나 context 세부 정보를 계속 띄워 두려면 TUI가 편합니다. Preview, drag-and-drop file, session 탐색이 중요하다면 Desktop을 고릅니다.

hermes --cli
hermes --tui
hermes desktop

이 명령들은 front end만 고릅니다. Provider 설정, skills, memory, 저장된 session은 active profile에 속합니다.

2. 현재 대화 확인

두 read-only slash command가 서로 다른 질문에 답합니다. /status는 현재 session의 model, profile, token 합계, 경과 시간, 최근 활동과 tool 사용을 보여 줍니다. /context는 context window가 어디에 쓰이는지 나누어 보여 줍니다. /context all은 skill과 toolset 상세를 추가합니다.

/status
/context
/context all

Context 비율이 높다는 것은 prompt 크기를 관리할 시점이라는 뜻이지 session이 사라졌다는 뜻은 아닙니다. Session 관리와 context compression은 따로 생각하는 편이 정확합니다.

3. Session 이름 지정과 조회

주제가 분명할 때 중요한 작업에 title을 붙입니다. 저장 session picker는 title로 찾을 수 있습니다. Shell 명령으로 chat을 열지 않은 채 record를 나열할 수도 있습니다.

/title payments-refactor
/sessions
hermes sessions list --limit 20
hermes sessions rename <SESSION_ID> payments-refactor

나중에는 session ID나 title로 재개할 수 있습니다. Title은 목록과 export에 표시되므로 고객 정보나 credential을 넣지 않습니다.

4. 다른 surface에서 재개

단독 -c는 terminal-aware continuation의 breadcrumb가 유효하면 현재 terminal에서 최근에 쓰던 대화를 잇습니다. 그렇지 않으면 알맞은 최신 session으로 돌아갑니다. 선택을 명확히 해야 할 때는 ID나 title을 지정합니다.

hermes --continue
hermes --resume <SESSION_ID>
hermes --tui --resume <SESSION_ID>
hermes --resume latest --in ./my-project

일반적인 resume은 session에 기록된 working directory도 복원합니다. 현재 directory를 유지해야 한다면 --no-restore-cwd를 붙입니다. Desktop sidebar에서도 같은 저장 history를 볼 수 있습니다.

5. 검토 가능한 사본 export

Export는 resume과 별개의 작업입니다. Session 하나를 지정하고 redaction을 요청한 뒤, 검토가 끝날 때까지 결과를 public source control 밖에 둡니다.

hermes sessions export --session-id <SESSION_ID> --redact session.jsonl
python3 examples/chapter-02-interfaces-sessions/session_checklist.py examples/chapter-02-interfaces-sessions/session-export.json
{"status":"PASS","steps":["create","inspect","name","resume","export"],"redacted":true}

포함된 JSON은 합성 fixture입니다. 실제 transcript를 공개하지 않으면서 lifecycle schema와 public-safety check를 확인합니다. --redact는 위험을 줄여도 export를 공유하기 전 사람의 검토까지 대신하지는 않습니다.

6. Session과 interface 선택 분리

CLI에서 TUI나 Desktop으로 바꿔도 새로운 identity가 생기지는 않습니다. 반면 새 session은 conversation boundary를 만듭니다. Task나 trust boundary가 바뀌면 새 session을 시작합니다. 이전 message와 tool result가 계속 필요할 때 resume합니다.

실전 순서는 짧습니다. Surface를 고르고 status와 context를 확인한 다음 오래 남길 작업에 title을 붙입니다. 필요할 때 명시적인 identity로 재개합니다. Export는 redaction과 검토를 거친 사본만 공유합니다.

출처


답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Tech Wiki

Built with WordPress · Learn in public.