본문으로 이동
장기 실행 안전

문서 탐색

GEODE 운영How-to

장기 실행 안전

라운드, 시간, 비용 가드와 컨텍스트 오버플로 사다리입니다. 긴 실행이 어떻게 정직하게 끝나는지 다룹니다.

긴 실행의 위험은 셋입니다. 끝나지 않는 루프, 넘치는 컨텍스트, 불어나는 비용. AgenticLoop는 매 라운드 진입 시점에 가드를 검사하고, 걸리면 이유가 적힌 termination_reason으로 끝납니다 (core/agent/loop/agent_loop.py).

라운드 진입 가드

가드기준종료 이유
라운드 상한max_rounds > 0일 때만. 0은 무제한이며 대화형 기본값입니다.max_rounds
실행 time budgettime_budget_s > 0일 때 wall-clock 검사. 게이트웨이 120초, 스케줄러 300초가 모드 기본값입니다.time_budget_expired
세션 budget세션 전체 기본 2시간 (core/agent/budget.py). 임계 도달 전 HANDOFF_TRIGGERED 훅이 한 번 발화해 인수인계 기회를 줍니다.session_time_budget_expired
비용 budgetcost_budget > 0이면 80%에서 1회 경고, 도달 시 종료. 세션 비용은 token tracker 누적치입니다.cost_budget_exceeded

마무리 단계(force_text)에서는 적응형 컴퓨트가 걸립니다. max_tokens를 컨텍스트 윈도의 0.5%(하한 4096)로 줄이고 thinking을 끄고 effort를 낮춰, 마지막 응답이 예산을 더 태우지 않게 합니다.

컨텍스트 오버플로 사다리

공통 요청 경로는 미들웨어 뒤의 모델·공급자·source·출력 예비분으로 예산을 정합니다. 원래 대화에 대한 유지보수는 한 번만 수행하고, 최종 적합성 검사는 읽기 전용입니다. 미들웨어가 대화를 교체하면 원래 세션을 대신 요약하지 않습니다.

  • 경고: 윈도 티어에 따라 유효 입력 예산의 50%·70%·80%.
  • 임계: 유효 입력 예산의 90%.
  • 200K: soft 로컬 유지보수 선호이며, 모든 경로의 서버 상한이 아닙니다.
  • 실제 입력 거절: 로컬 추정과 별개로 제한된 복구를 시도하고 다음 요청에서 다시 확인합니다.

지원되는 Anthropic 모델의 자동 threshold compaction은 유지합니다. 지원되지 않는 알려진 모델은 호환 이력에서 클라이언트 요약을 사용할 수 있습니다. native compaction 블록이 있는 이력은 일반 텍스트 교체나 강제 정리로 손상시키지 않습니다. API의 한도를 구독이나 OpenRouter 경로의 허용량으로 가정하지 않습니다.

전략은 ContextWindowManager가 소유합니다. PreCompact는 보존 개수와 soft 유예만 결정하고, CONTEXT_CRITICAL은 관측 이벤트입니다. CONTEXT_OVERFLOW_ACTION은 전략을 선택하지 않습니다. 복구할 수 없으면 context_exhausted로 끝내고 추가 모델 호출 없이 안내합니다. 모든 진입점의 세션 자동 초기화를 뜻하지는 않습니다. 이력 보호와 저장 경계는 컨텍스트 조립을 참고합니다.

도구 결과 오프로딩

임계값을 넘는 도구 결과는 컨텍스트에 그대로 쌓이지 않습니다. .geode/tool-offload/{session_id}/에 저장되고 컨텍스트에는 요약과 ref_id만 남으며, 필요하면 recall_tool_result(ref_id)로 다시 불러옵니다 (core/orchestration/tool_offload.py). 임계값은 tool_offload_threshold 설정이고 0이면 꺼집니다. 오프로드 시 TOOL_RESULT_OFFLOADED 훅이 발화합니다.

서브에이전트 경계

위임된 작업도 같은 규율을 따릅니다. 깊이 1 강제(재귀 금지), 세션당 15개 상한, 타임아웃 기본 600초 (GEODE_SUBAGENT_TIMEOUT_S, 10초에서 3600초로 clamp) 입니다 (core/agent/sub_agent.py).

운영 점검

> /status        # 데몬, 모델, MCP 상태
> /cost          # 세션 + 월간 비용
> /context       # 조립된 컨텍스트 계층 확인

실행이 어디서 어떻게 끝났는지는 멈춘 실행 디버깅의 session history와 SQL event timeline 절차로 추적합니다.

다음