Agent coordination
목표
목표
목표는 현재 OpenClaw 세션에 연결된 하나의 지속적인 목적입니다. 목표는 장기 실행 작업을 위한 공통의 지향점을 에이전트와 운영자에게 제공하며, 그 지향점을 백그라운드 작업, 알림, Cron 작업 또는 상시 지시로 전환하지 않습니다.
목표는 세션 상태입니다. 세션 키와 함께 이동하고 프로세스 재시작 후에도 유지되며,
/goal, 모델용 목표 도구 및 TUI 바닥글에 표시됩니다.
빠른 시작
/goal start PR 87469의 CI를 통과시키고 수정 사항 푸시/goal/goal edit PR 87469의 CI를 통과시키고 수정 사항을 푸시한 후 문서 업데이트/goal pause CI 대기 중/goal resume/goal complete 푸시 및 검증 완료/goal clearstart는 선택 사항입니다. /goal get CI green for PR 87469도 목표를 생성합니다.
알려진 동작 단어가 아닌 /goal 뒤의 모든 텍스트는 새 목적으로 처리되기 때문입니다.
목표의 용도
세션에 여러 차례의 대화에 걸쳐 계속 표시되어야 하는 구체적인 결과가 있을 때 목표를 사용합니다.
- PR 마무리: 수정, 검증, 자동 리뷰, 푸시 및 PR 생성 또는 업데이트.
- 디버깅 실행: 버그 재현, 담당 영역 식별, 패치 및 수정 사항 입증.
- 문서 작업: 관련 문서 확인, 새 페이지 작성, 상호 링크 추가 및 문서 빌드 검증.
- 유지 관리 작업: 현재 상태 점검, 범위가 제한된 변경 수행, 적절한 검사 실행 및 변경 사항 보고.
목표는 작업 대기열이 아닙니다. 작업을 분리된 상태로 실행하거나, 일정에 따라 반복하거나, 관리되는 하위 작업으로 분산하거나, 정책으로 유지해야 하는 경우 Task Flow, 작업, Cron 작업 또는 상시 지시를 사용하세요.
명령어 참조
인수가 없는 /goal은 현재 목표 요약을 출력합니다.
목표상태: 진행 중목적: PR 87469의 CI를 통과시키고 수정 사항 푸시사용한 토큰: 12k토큰 예산: 12k/50k 명령어: /goal edit <목적>, /goal pause, /goal complete, /goal clear| 명령어 | 효과 |
|---|---|
/goal 또는 /goal status |
현재 목표를 표시합니다. |
/goal start <objective> |
현재 세션에 새 목표를 생성합니다. |
/goal set <objective>, /goal create <objective> |
start의 별칭입니다. |
/goal <objective> |
새 목표도 생성합니다(인식되는 동작 단어가 아닌 모든 텍스트). |
/goal edit <objective> |
현재 목적의 표현을 변경합니다. 상태와 토큰 집계는 그대로 유지됩니다. |
/goal pause [note] |
진행 중인 목표를 일시 중지합니다. |
/goal resume [note] |
일시 중지되거나 차단되었거나 사용량 또는 예산 제한에 도달한 목표를 재개합니다. |
/goal complete [note] |
목표를 달성한 것으로 표시합니다. |
/goal done [note] |
complete의 별칭입니다. |
/goal block [note] |
목표를 차단된 것으로 표시합니다. |
/goal blocked [note] |
block의 별칭입니다. |
/goal clear |
세션에서 목표를 제거합니다. |
한 세션에는 한 번에 하나의 목표만 존재할 수 있습니다. 현재 목표를 지우기 전에 두 번째 목표를
시작하면 Goal error: goal already exists 오류가 발생합니다.
/goal start에는 토큰 예산 플래그를 사용할 수 없습니다. 예산은 모델용 create_goal 도구를
통해서만 설정할 수 있습니다.
상태
active: 세션에서 목표를 수행 중입니다.paused: 운영자가 목표를 일시 중지했습니다./goal resume으로 다시 진행 중 상태로 전환합니다.blocked: 에이전트 또는 운영자가 실제 차단 요인을 보고했습니다. 새로운 정보나 상태를 사용할 수 있게 되면/goal resume으로 다시 진행 중 상태로 전환합니다.budget_limited: 구성된 토큰 예산에 도달했습니다./goal resume은 동일한 목적에서 새 예산 구간으로 목표 수행을 다시 시작합니다.usage_limited: 향후 사용량 제한으로 인한 중지 상태를 위해 예약되어 있습니다./goal resume은 같은 방식으로 목표 수행을 다시 시작합니다.complete: 목표를 달성했습니다. 완료된 목표는 최종 상태입니다. 다른 목표를 시작하기 전에/goal clear를 사용하세요.
/new와 /reset은 의도적으로 새로운 세션 컨텍스트를 시작하므로 현재 세션 목표를 지웁니다.
토큰 예산
목표에는 선택적으로 양의 토큰 예산을 설정할 수 있으며, create_goal 도구의 token_budget
매개변수를 통해 설정합니다. 예산은 목표 생성 시점의 세션 최신 토큰 수를 기준으로 측정됩니다.
목표가 시작될 때 세션에 오래되었거나 알 수 없는 토큰 스냅샷만 있는 경우, OpenClaw는 다음 최신
스냅샷을 기다렸다가 이를 기준값으로 사용하므로 목표가 생성되기 전에 사용된 토큰은 계산되지 않습니다.
사용량이 예산에 도달하면 목표가 budget_limited 상태로 전환됩니다. 이 상태는 목표를 삭제하거나
목적을 지우지 않습니다. 목표가 재개되거나 지워질 때까지 더 이상 적극적으로 수행되지 않음을 운영자와
에이전트에게 알립니다. 목표를 재개하면 현재 최신 토큰 수에서 새 예산 구간이 시작됩니다.
토큰 예산은 세션 목표의 안전장치이며 결제 한도가 아닙니다. 제공자 할당량, 비용 보고 및 컨텍스트 창 동작에는 계속해서 일반적인 OpenClaw 사용량 및 모델 제어가 적용됩니다.
모델 도구
OpenClaw는 에이전트 하네스에 세 가지 목표 도구를 제공합니다.
| 도구 | 용도 |
|---|---|
get_goal |
현재 세션 목표의 상태, 목적, 토큰 사용량 및 토큰 예산을 읽습니다. |
create_goal |
사용자 또는 시스템 지침이 명시적으로 요청한 경우에만 목표를 생성합니다. 세션에 이미 목표가 있으면 실패합니다. |
update_goal |
목표를 complete 또는 blocked로 표시합니다. |
모델은 목표를 알리지 않고 일시 중지, 재개, 삭제 또는 교체할 수 없습니다. 이러한 작업은 /goal 및
재설정 명령을 통한 운영자/세션 제어로 유지되므로 에이전트는 지향점을 몰래 변경하지 않고 달성 여부나
실제 차단 요인을 보고할 수 있습니다.
update_goal은 목적을 실제로 달성한 경우에만 목표를 complete로 표시해야 합니다. 일반적인 어려움이나
완성도 부족 때문이 아니라, 동일한 차단 조건이 연속된 목표 턴에서 최소 세 번 반복된 후에만 목표를
blocked로 표시해야 합니다.
모든 턴의 목표 컨텍스트
활성 목표가 있는 모든 사용자/채팅 턴에는 다음 사용자 역할 컨텍스트 줄이 포함됩니다.
활성 목표: <목적> — 목표를 진전시키거나 상태를 업데이트하세요(get_goal/update_goal).OpenClaw는 긴 목적을 잘라내어 이 줄을 간결하게 유지합니다. 일시 중지, 차단, 예산 제한, 사용량 제한 및 완료 상태의 목표는 삽입되지 않으므로 목표가 재개될 때까지 운영자의 중지 상태가 유지됩니다.
제어 UI
웹 제어 UI는 채팅 작성기 위에 목표를 간결한 알약 모양 요소로 표시합니다. 여기에는 상태 아이콘,
상태 레이블(예: 목표 수행 중), 잘린 목적 및 실시간 경과 시간 타이머가 포함됩니다.
이 요소에는 인라인 제어 기능이 있습니다.
- 연필은 목적의 표현을 변경하여 제출할 수 있도록 작성기에
/goal edit <objective>를 미리 입력합니다. - 일시 중지/재개는 현재 상태에 따라
/goal pause와/goal resume사이를 전환합니다. - 휴지통은
/goal clear를 전송합니다. - 펼침표는 요소를 확장하여 전체 목적, 최신 상태 메모, 토큰 사용량 및 경과 시간을 표시합니다.
작성기에서 전송할 수 없는 동안에는(예: Gateway 연결이 끊어진 경우) 동작 버튼이 숨겨지지만 펼침표는 계속 작동합니다.
TUI
TUI 바닥글은 활성 세션의 목표를 토큰/모드 표시기 앞에 있는 에이전트, 세션 및 모델 필드 옆에 계속 표시합니다.
바닥글 예시:
- 토큰 예산이 있는 활성 목표:
목표 수행 중 (12k/50k). - 일시 중지된 목표:
목표 일시 중지됨 (/goal resume). - 차단된 목표:
목표 차단됨 (/goal resume). - 사용량 제한에 도달한 목표:
목표가 사용량 제한에 도달함 (/goal resume). - 예산 제한에 도달한 목표:
목표 미달성 (50k/50k). - 완료된 목표:
목표 달성 (42k).
바닥글은 의도적으로 간결하게 구성되어 있습니다. 전체 목적, 메모, 토큰 예산 및 사용 가능한 명령어를
확인하려면 /goal을 사용하세요.
채널 동작
/goal은 TUI 및 텍스트 명령을 허용하는 채팅 화면을 포함하여 명령을 사용할 수 있는 OpenClaw 세션에서
작동합니다. 목표 상태는 전송 방식이 아닌 세션 키에 연결되므로 세션 키를 공유하는 두 화면에는 동일한
목표가 표시됩니다.
목표 상태는 전달 지시가 아닙니다. 채널을 통한 응답을 강제하거나, 대기열 동작을 변경하거나, 도구를 승인하거나, 작업을 예약하지 않습니다.
문제 해결
| 메시지 | 의미 |
|---|---|
Goal error: goal already exists |
세션에 이미 목표가 있습니다. /goal로 확인하고, 완료했다면 /goal complete를 사용하거나 다른 목적을 시작하기 전에 /goal clear를 사용하세요. |
Goal error: goal not found |
세션에 아직 목표가 없습니다. /goal start <objective>로 목표를 시작하세요. |
Goal error: goal is already complete |
목표가 최종 상태입니다. 다른 목적을 시작하거나 재개하기 전에 현재 목표를 지우세요. |
토큰 사용량이 0으로 표시되거나 오래된 것처럼 보이면 활성 세션에 아직 최신 토큰 스냅샷이 없을 수 있습니다.
OpenClaw가 세션 사용량과 대화 기록에서 계산한 합계를 기록하면 사용량이 갱신됩니다.