최적화 대상은 사다리로 올라간다prompt → structured context → workflow → harness code → optimizer code. 위 칸이 더 세지만, 아래 칸을 손으로 못 짜는 게 확인될 때만 올라간다.

언제: harness를 짜다 “이걸 자동화해야 하나” 싶을 때. 먼저 지금 문제가 어느 칸인지 짚는다.

올라갈 신호 그 칸에서 하는 일
1 프롬프트
2 구조화된 컨텍스트 컨텍스트가 윈도우를 넘게 자란다 상태를 파일시스템에 두고 컨텍스트엔 포인터만
3 워크플로 컨텍스트 관리 규칙이 태스크마다 달라 손으로 못 짠다 subagent + process manager, 병렬 가설
4 harness 코드 워크플로 설계 공간이 방대해 수작업으로 못 짠다 코드로 workflow 생성, 그래프 + 탐색
5 optimizer 코드 진화 탐색, meta-prompt 공진화

확인: 한 칸 올라간 뒤 held-in(약점이 풀렸나) + held-out(새 이슈가 없나) 양쪽이 no-regression일 때만 채택한다. 한쪽만 보면 그 신호에 overfit된다 — unit test면 test에, judge면 그 judge 특화 트릭에.

함정

  • 재귀 구조만으론 부족하다. 베이스 모델이 메커니즘을 개선할 만큼 유능하지 않으면 자기개선 루프는 퇴화한다 — STOP은 GPT-4에서 올랐고 GPT-3.5·Mixtral에서 내렸다.1
  • 평가가 빠르고 객관적일 때만 돈다. taste·novelty·장기 가치처럼 verifier가 없는 축에선 루프가 헛돈다.
  • evaluator와 권한 제어는 루프 바깥에 둔다. harness를 진화시키는 루프가 자기 채점기를 못 만지게.
  • 컨텍스트를 통째로 다시 쓰지 마라. 매 스텝 blob을 rewrite하면 디테일이 뭉개지고 점점 짧아진다(context collapse). 증분 항목만 병합한다.1
  • 단순·generic이 이긴다. 커스텀 메모리 API를 발명할수록 코어 모델 향상에 무임승차할 기회를 버린다. bash·파일시스템·표준 툴셋을 선호.

그런데 고정 모델에서도 harness만 진화시켜 크게 오른다 — DGM이 발견한 에이전트가 SWE-bench Verified에서 20 → 50%.1 사다리를 올라갈 값어치가 있다는 쪽의 근거다.


칸마다 붙는 사례(ACE·MCE·ADAS·AFlow·Autodata·Self-Harness·DGM·AlphaEvolve·ShinkaEvolve…)는 원문에 있다. 여기 남긴 건 어느 칸에서 언제 올라가느냐뿐이다.

Footnotes

  1. “A harness should not carry the entire workflow and all logs in context; instead, it should keep durable state in files.” / “the curator does not rewrite a full prompt blob.” / “STOP improved mean downstream performance across iterations with GPT-4 but degraded with weaker models like GPT-3.5 and Mixtral.” / “the DGM-discovered agents are comparable to or outperform handcrafted agents on SWE-bench Verified (20% to 50%)” (Harness Engineering for Self-Improvement — Lilian Weng) 2 3

#581raw