← 전체 기능

에이전트 실행v0.3.0에서 사용 가능

난이도, 모델과 추론 강도

작업마다 low, medium, high, max 가운데 하나인 tier가 붙고, tier가 엔진마다 모델과 추론 강도를 정한다. 읽을 수 있는 규칙이 종류, 작업량, 추론, 위험 네 축에 점수를 매긴다. 추론 강도는 검증하고 몰래 낮추지 않으며, 선택 사항인 tier 후보에 확인한 모델을 적고, 실행마다 tier의 출처를 기록한다.

필요한 상황

모든 작업을 같은 모델과 추론 강도로 돌리면 사소한 수정에 가장 강한 모델을 쓰거나 위험한 일을 약한 모델에 맡기게 되고, 나중에 왜 그 모델을 썼는지 알 수 없다.

동작 방식

  1. 규칙이 종류(docs, implementation, migration 등), 작업량, 추론, 위험에 점수를 매기고 oah recommend가 점수를 보여 준다. 위험이 critical이면 max이고 마이그레이션과 보안 작업은 최소 high다.
  2. oah packet new가 단계별 경로를 패킷의 ## Plan에 쓴다. 이 명령에는 --tier 옵션이 없으니 패킷의 tier를 바꾸려면 생성된 계획을 고친다.
  3. oah call은 패킷에 해당 단계의 tier가 있으면 쓰고 없으면 규칙을 따른다. 호출 시 --tier는 패킷을 다시 쓰지 않고 그 실행의 선택만 바꾼다.
  4. tier의 강도는 엔진이 그 모델에 대해 밝힌 단계 가운데 하나이고, highest는 Codex가 밝힌 가장 높은 단계다. 요청보다 낮은 강도로 실행되면 OAH_EFFORT_DOWNGRADED로 실패하고, Claude Code처럼 관측할 수 없는 강도는 unverified로 기록한다.
  5. 선택 사항인 [engines.<engine>.tier_pools]에 tier마다 확인한 모델을 적으면 그 tier는 CLI가 나열한 첫 모델로 실행한다. oah는 후보를 대신 고치지 않는다.
  6. 실행 기록마다 네 축, tier와 그 출처(rules, packet, flag, jev), 요청한 모델과 강도, 실제로 쓴 모델과 강도가 남는다.

예제

따라 하기 예제에서 `oah packet new`가 출력한 계획 줄. 단계마다 엔진과 tier를 보여 준다.

OAH_PACKET_CREATED .oah/tasks/hello-name/PACKET.md
plan: initial → claude → medium; review → codex → medium; correction → codex → medium

요구 사항

  • 자기 모델을 알려 주는 Claude Code와 Codex CLI. oah models가 tier마다 쓰는 모델을 보여 주고 --refresh로 다시 읽는다.
  • 선택. .oah/config.toml의 tier별 고정 모델, tier 후보, effort_caps. 업그레이드 문서는 이 설정들이 뜻을 유지한다고 적는다.

한계와 복구

  • Jev 키가 없으면 난이도는 파일과 경로의 개수로만 정해진다. 그래서 한 줄짜리 동시성 수정은 낮게, 파일 20개의 이름 바꾸기는 높게 나올 수 있다.
  • Codex가 추론 단계를 알려 주지 않았으면 highest tier는 짐작하지 않고 OAH_EFFORT_METADATA_MISSING으로 거절한다. 모델이 지원하지 않는 강도는 OAH_EFFORT_UNSUPPORTED다.
  • 후보 목록에 CLI가 나열한 모델이 없으면 OAH_MODEL_UNRESOLVED다.
  • v0.3.0에서는 벤치마크 점수로 모델을 자동 선택하고 선택형 Jev로 난이도를 판정한다.

원문 문서

관련 기능