Goal 시스템
Goal은 세션 간에 유지되는 영속적인 목표입니다. 에이전트에게 장기적인 방향을 제시하며, 예산 추적과 함께 자동 연속 실행을 트리거할 수 있습니다.
Goal 생명주기
Goal은 다음 상태를 거칩니다: set(활성 목표), paused, resumed, done(완료), 또는 cancelled. Goal 상태는 영구적으로 저장되며, 서버를 재시작해도 유지됩니다.
CLI 명령어
# Set a new goal
jaw goal set "Migrate the auth module to JWT tokens"
# Check goal status
jaw goal status
# Pause the current goal
jaw goal pause
# Resume a paused goal
jaw goal resume
# Mark goal as done (this is an API call, not a CLI command)
jaw goal done
# Cancel the goal
jaw goal cancel
# Reset goal state
jaw goal reset
슬래시 명령어
| 명령어 | 설명 |
|---|---|
/goal set <objective> | 새로운 목표를 설정합니다 |
/goal status | 현재 Goal 상태를 표시합니다 |
/goal run start | 예산 추적이 포함된 제한적 자동 연속 실행을 시작합니다 |
/goal run stop | 현재 Goal 실행을 중지합니다 |
/goal pause | Goal을 일시 중지합니다 |
/goal resume | 일시 중지된 Goal을 재개합니다 |
/goal done | Goal을 완료로 표시합니다 |
/goal cancel | Goal을 취소합니다 |
/goal clear | Goal 상태를 초기화합니다 |
/goal reset | 전체 초기화 |
Goal 실행 (자동 연속)
/goal run start 명령어는 제한적 자동 연속 세션을 시작합니다. 에이전트는 Goal 목표를 향해 작업하며, Goal이 완료로 표시되거나 실행이 중지될 때까지 각 응답 후 자동으로 계속합니다.
예산 적용은 현재 추적 전용입니다. 시스템은 실행 시간과 연속 횟수를 추적하지만, 아직 엄격한 예산 제한을 강제하지는 않습니다.
API 엔드포인트
| 메서드 | 경로 | 설명 |
|---|---|---|
| GET | /api/goal | 현재 Goal 상태를 가져옵니다 |
| GET | /api/goal/history | Goal 히스토리를 가져옵니다 |
| POST | /api/goal | Goal을 설정, 업데이트, 완료, 취소, 일시 중지 또는 재개합니다 |
| GET | /api/goal-run | 현재 Goal 실행 상태를 가져옵니다 |
| GET | /api/goal-run/preflight | 실행 시작 전 사전 검사를 수행합니다 |
| POST | /api/goal-run | Goal 실행을 시작, 일시 중지, 재개 또는 중지합니다 |
WebSocket 이벤트
Goal 생명주기 변경 시 Web UI가 소비하는 WebSocket 이벤트가 발생합니다:
goal_done-- Goal 완료goal_cancel-- Goal 취소goal_continuation-- 자동 연속 트리거goal_continuation_failed-- 연속 시도 실패goal_continuation_limit-- 연속 예산 도달
Goal + PABCD 통합
Goal은 PABCD 오케스트레이션과 함께 작동합니다. Goal을 설정한 후 PABCD 단계를 사용하여 세분화할 수 있습니다. 활성 PABCD 단계 중에도 Goal 연속이 허용되므로, 에이전트는 오케스트레이션 프레임워크 내에서 Goal 기반 작업을 계속 수행할 수 있습니다.