에이전트 하네스
Harness는 한 session run을 위한 bounded execution loop입니다. 이 페이지가 답하는 질문은 다음과 같습니다.- 한 번의 bounded run은 실제로 무엇을 하는가
- provider output은 어디서 durable runtime progress가 되는가
- proactive continuation과 learning capture는 왜 여기서 runtime behavior가 되는가
- 무엇이 harness 바깥에 남는가
Harness가 하는 일
한 번의 bounded run에서 harness는 보통 다음을 수행합니다.- session load
- pending event 읽기
- environment와 attached resource load
- session runtime memory load
- context assembly
- provider backend 호출
- loop directive 해석
- session event append
- session state와 runtime memory 갱신
- orchestration
- provider runner
- sandbox / tool execution
- session storage
Harness가 하지 않는 일
harness는 다음을 소유하지 않습니다.- public scheduling API
- application-specific routing
- external publication semantics
- session 바깥의 broader truth
- reusable environment definition
orchestration과의 관계
public orchestration seam은 단순히:- 지금 이 session을 돌릴지
- revisit를 queue에 둘지
- 이번 run이 무슨 의미인지
- 어떤 event를 append할지
- session이 sleep / requires_action / reschedule / done 중 어디로 가는지
proactive behavior가 여기서 현실이 된다
provider는 timer를 직접 스케줄하지 않습니다. 대신 loop directive 안에서queuedWakes를 emit하고, harness가 그것을 durable revisit request로 해석합니다.
즉 proactive loop는:
- provider가
queuedWakes를 제안 - harness가 validate / resolve
- wake scheduling을 durable하게 기록
- orchestration이 나중에 due wake를 실행
provider와의 관계
Codex나 Claude 같은 provider backend는 swappable brain입니다. 즉:- provider-specific runner는 implementation detail
- harness가 stable runtime contract
- session model은 brain이 바뀌어도 유지되어야 함
Loop directive
현재 harness는 provider 결과를 대략 다음 field로 해석합니다.- plain-text response
- durable summary
- sleep or continue
- optional queued wakes
- optional learnings
- optional custom tool pause
queuedWakes- proactive continuation
learnings- runtime improvement
Learning capture도 여기서 이뤄진다
learning loop는 다음과 같습니다.- provider가
learningsemit - harness가 normalize / dedupe
- learn store에 기록
- 선택된 learning은
MEMORY.md등으로 promotion 가능
설계 원칙
만약 변경이:- context assembly
- pending event 해석
- provider result를 durable runtime progress로 변환하는 문제
- public session API
- wake scheduling policy
- external routing / publication semantics