본문으로 건너뛰기

지속적인 목표 (/goal)

/goal는 턴을 가로지르는 서적 목적을 제공합니다. 각 회전 후 가벼운 판단 모델은 목표가 조수의 마지막 응답에 의해 만족했는지 확인합니다. 그렇지 않다면, Hermes는 자동으로 같은 세션으로 continuation 프롬프트를 다시 공급하고 작업 유지 - 목표가 달성 될 때까지, 당신은 일시 중지 또는 명확, 또는 차례 예산이 실행됩니다.

**Ralph 루프 **에 대한 우리의 일이, 직접 에릭 Traut (OpenAI)의 Codex CLI 0.128.0's /goal에 의해 영감을. 핵심 아이디어 - 전환을 통해 살아가는 목표를 유지하고 달성 될 때까지 멈추지 마십시오 - 그들의 것입니다. 여기에 구현은 독립적이며 Hermes의 아키텍처에 적합합니다.

그것을 사용할 때

사용 /goal 작업에 대 한 당신은 모든 회전을 다시 프로 밍 하지 않고 자신의에 대 한 해체를 원하는:

  • "Fix src/의 모든 lint 오류를 확인하고 ruff check 패스를 확인합니다"
  • "Port feature X from repo Y, 테스트 포함, 그리고 CI 그린을 얻을"
  • "중간 압축에 대한 세션 ID가 때때로 드리프트하고 보고서를 작성"
  • "EXIF 날짜에 의해 파일을 이름을 변경하는 작은 CLI를 구축 한 다음 사진 / 폴더에 대해 테스트"

에이전트가 한 차례이고 중지가 필요하지 않는 작업 /goal. 당신은 그렇지 않으면 "keep going"3 번이 빛이 어디에 있는지 말해야합니다.

빠른 시작

/goal Fix every failing test in tests/hermes_cli/ and make sure scripts/run_tests.sh passes for that directory

당신은 무엇을 볼 수:

  1. **Goal 허용 ** - ⊙ Goal set (20-turn budget): <your goal>
  2. 턴 1 실행 - 헤르메스가 정상 메시지로 목표를 보내면 작업을 시작합니다.
  3. 판단은 — 차례 후, 재판관은 done 또는 continue를 결정합니다.
  4. 필요한 경우 중화 화재 - continue이면 ↻ Continuing toward goal (1/20): <judge's reason>와 헤르메스가 다음 단계가 자동으로 나타납니다.
  5. Terminates - 결국 ✓ Goal achieved: &lt;reason&gt; 또는 ⏸ Goal paused — N/20 turns used 중 하나를 볼 수 있습니다.

설명

설명그것은 무엇입니까
/goal &lt;text&gt;설정 (또는 교체) 서적 목표. Kicks off the first turn 즉시 그래서 당신은 별도의 메시지를 보낼 필요가 없습니다.
/goal 또는 /goal status현재 목표, 그것의 상태를 보여주고, 이용된 회전.
/goal pause목표를 지우지 않고 자동 지속 루프를 중지합니다.
/goal resume반복을 재개합니다 (회로 카운터를 0으로 다시 설치하세요).
/goal clear전체 목표를 드롭.

CLI 및 모든 게이트웨이 플랫폼 (Telegram, Discord, Slack, Matrix, Signal, WhatsApp, SMS, iMessage, Webhook, API 서버 및 웹 대시보드)에 동일하게 작동합니다.

Behavior 세부사항

심사위원

각 회전 후에, Hermes는 다음과 같은 보조 모델을 호출합니다

  • 본문 바로가기
  • 에이전트의 최근 최종 응답 (마지막 ~4 KB 텍스트)
  • 엄격한 JSON으로 회신 할 수있는 시스템 프롬프트: {"done": &lt;bool&gt;, "reason": "&lt;one-sentence rationale&gt;"}

판사는 deliberately conservative: 그것은 목표 done를 표시할 때만 응답 explicitly는 목표가 완료되면, 최종 배달이 명확하게 생산될 때, 또는 목표가 unachievable/blocked (블록한 이유로 DONE로 떨어질 때, 우리는 불가능한 작업에 예산을 점화하지 않습니다).

실패 열려있는 semantics

심사위원 오류(network blip, malformed response, unavailable aux client)가 있다면, Hermes는 continue로 verdict를 다룹니다. 턴 예산는 실제 백스톱입니다.

턴 예산

기본값은 20 연속 회전 (goals.max_turnsconfig.yaml)입니다. 예산이 히트되면 Hermes Auto-pauses가 진행하는 방법을 정확히 알려줍니다

⏸ Goal paused — 20/20 turns used. Use /goal resume to keep going, or /goal clear to stop.
``/goal resume` 카운터를 0으로 재설정하므로 측정된 펑크로 이동할 수 있습니다.

### 사용자 메시지 항상 preempt \{#user-messages-always-preempt}

목표가 활성화되는 동안 보내는 모든 실제 메시지는 continuation 반복에 우선권이 걸립니다. CLI에 `_pending_input`의 메시지 땅을 퀴즈 컨소시션의 앞에; 게이트웨이에 어댑터 FIFO를 통해 동일한 방식으로 간다. 재판관은 차례 후 다시 실행 - 그래서 당신의 메시지가 목표를 완료하기 위해 발생하면, 재판관은 그것을 잡고 중지합니다.

### 중간 실행 안전 (gateway) \{#mid-run-safety-gateway}

대리인이 이미 달리는 동안, `/goal status`, `/goal pause`, `/goal clear`는 실행이 안전합니다. 그들은 단지 제어 비행기 상태를 만 터치하고 현재 회전을 중단하지 않습니다. ** new** 목표 중기 (`/goal &lt;new text&gt;`)를 설정하면 `/stop`에 대한 메시지가 나타날 수 있으므로 이전의 윤곽이 새로운 것을 경주할 수 없습니다.

### 회사 소개 \{#persistence}

Goal state는 `SessionDB.state_meta`에 속합니다. 즉, `/resume` 는 왼편이 왼편이 왼편이 왼편이 왼편이 왼편이 왼편, 노트북을 닫고, 내일, `/resume`로 돌아가며, 그 목표는 여전히 왼편이 왼편(동태적, 일시적으로, 혹은 행) 으로 정확히 맞습니다.

### Prompt 캐시 \{#prompt-cache}

continuation prompt는 역사에 등록된 일반 사용자 접근 메시지입니다. 그것은 ** 아니 ** 시스템 프롬프트, 스왑 도구, 또는 Hermes의 프롬프트 캐시를 무효 방법으로 대화를 터치. 20 회전 목표를 실행하는 것은 20 정상적인 대화의 회전으로 동일한 캐시를 차지합니다.

## 제품 설명 \{#configuration}

`~/.hermes/config.yaml`에 추가:

```yaml
goals:
# Max continuation turns before Hermes auto-pauses and asks you to
# /goal resume. Default 20. Lower this if you want tighter loops;
# raise it for long-running refactors.
max_turns: 20

심사위원 모델 선택

심사위원은 goal_judge 보조 작업을 사용합니다. 기본적으로 메인 모델에 해결 (Auxiliary Models). 재판관을 저렴한 빠른 모델로 경로를 원하면 비용을 절감 할 수 있습니다

auxiliary:
goal_judge:
provider: openrouter
model: google/gemini-3-flash-preview

판단은 작습니다 (~200 산출 토큰)는 차례로, 그래서 싼 빠른 모형은 보통 맞은 전화입니다.

예제 walkthrough

You: /goal Create four files /tmp/note_&#123;1..4&#125;.txt, one per turn, each containing its number as text

⊙ Goal set (20-turn budget): Create four files /tmp/note_&#123;1..4&#125;.txt, one per turn, each containing its number as text

Hermes: Creating /tmp/note_1.txt now.
💻 echo "1" > /tmp/note_1.txt (0.1s)
I've created /tmp/note_1.txt with the content "1". I'll continue with the remaining files on the next turn as you specified.

↻ Continuing toward goal (1/20): Only 1 of 4 files has been created; 3 files remain.

Hermes: [Continuing toward your standing goal]
💻 echo "2" > /tmp/note_2.txt (0.1s)
Created /tmp/note_2.txt. Two more to go.

↻ Continuing toward goal (2/20): 2 of 4 files created; 2 remain.

Hermes: [Continuing toward your standing goal]
💻 echo "3" > /tmp/note_3.txt (0.1s)
Created /tmp/note_3.txt.

↻ Continuing toward goal (3/20): 3 of 4 files created; 1 remains.

Hermes: [Continuing toward your standing goal]
💻 echo "4" > /tmp/note_4.txt (0.1s)
All four files have been created: /tmp/note_1.txt through /tmp/note_4.txt, each containing its number.

✓ Goal achieved: All four files were created with the specified content, completing the goal.

You: _

4개의 회전, 하나 /goal invocation, 0개의 "keep going"는 당신에게서 신속한 합니다.

판단이 잘못되면

심사위원은 완벽합니다. 2개의 실패 형태를 위한 시계:

**False 부정적인 - 판단은 목표가 실제로 수행 될 때 계속 말한다. ** 턴 예산이 잡습니다. ⏸ Goal paused 를 참조하고 /goal clear 를 보내거나 새 메시지를 보낼 수 있습니다.

**False 긍정적 인 - 판단은 작업이 남아있을 때 수행 말한다. ** ✓ Goal achieved을 보겠습니다. 계속하려면 후속 메시지를 보내거나 목표를 더 정확하게 설정하십시오. /goal &lt;more specific text&gt;입니다. 판단의 시스템 프롬프트는 잘못된 부정적인 것보다 드물게 긍정을 만들기 위해 deliberately 보존적입니다.

판단을 발견하면 ↻ Continuing toward goal 또는 ... 라인의 이유 텍스트가 정확히 어떤 판단을 알려줍니다. 즉, 목표 텍스트가 주변인지 또는 모델의 응답인지 진단하는 것이 충분합니다.

관련 기사

/goal는 헤르메스입니다.Ralph loop 패턴입니다. user-facing design - 회전을 가로지르는 목표를 유지하고, 이를 달성할 때까지 멈추지 마십시오. create/pause/resume/clear controls - 대중화되고 OpenAI의 Codex 팀의 Eric Traut에 의해 Codex CLI 0.128.0. 우리의 구현은 독립적입니다 (중앙 CommandDef 레지스트리, SessionDB.state_meta Persistence, 보조 클라이언트 판단, 게이트웨이 측에 어댑터-FIFO 오염) 그러나 아이디어는 그들의 것입니다. 신용의 결점.