PART 5 · Harness와 자기 개선

Harness가 스스로를 개선하게 하기

LLM이 Agent를 실행하는 코드를 최적화할 수 있다면 손으로 쓴 Prompt보다 훨씬 큰 설계 공간에 접근할 수 있습니다.

STOP: Self-Taught Optimizer
💬 쉽게 말하면: 칼을 갈 줄 아는 장인을 상상해보세요. 보통 방법은 칼로 채소를 써는 것(도구로 문제 해결)이고, STOP의 방법은 먼저 칼 가는 기술을 완벽히 익혀 칼이 자연스럽게 점점 날카로워지게 하는 것입니다. 더 놀라운 것은 칼 가는 기술 자체도 갈 수 있다는 점입니다: 개선된 방법으로 "개선 방법" 자체를 개선하는 것이며 층층이 쌓여 점점 강해집니다.
핵심 아이디어: 해답을 개선하지 말고 개선기를 개선하라
STOP(Zelikman et al. 2023)은 재귀적 스캐폴드 개선의 초기 사례입니다. 해답 s를 직접 개선하지 않습니다. 더 나은 해답을 생성하는 개선기 I 자체를 지속적으로 개선합니다.

시드 개선기 I₀은 세 가지 입력을 받습니다: 초기 해답 s, 효용 함수 u, 블랙박스 언어 모델 M, 그리고 개선된 해답 s'를 반환합니다.

핵심 통찰: 개선기 자체가 텍스트(prompt 또는 코드)이므로 동일한 개선 논리를 개선기 자체에도 적용할 수 있습니다.
// STOP 재귀 업데이트 공식
I_t = I_{t-1}(û, I_{t-1}; M)

// 여기서:
// I_{t-1} — 현재 개선기(텍스트 형태의 prompt/코드)
// û — meta-utility: 개선기 품질을 측정하는 함수
// M — 블랙박스 언어 모델
// 출력 I_t — 더 나은 개선기
💬 이 공식이 말하는 것: 기호에 겁먹지 마세요. 딱 한 마디입니다: 오늘의 자신이 어제의 자신을 업그레이드하게 하기. I가 그 업그레이드 방법이고, 공식은 말합니다: 구버전 업그레이드 방법으로 자기 자신에게 적용하여 새버전 업그레이드 방법을 만들어낸다. 마치 3.0 버전 학습 방법으로 4.0 버전 학습 방법을 도출하는 것처럼.
STOP 알고리즘 흐름
STOP 알고리즘 흐름: 개선기가 재귀적으로 자기 자신에게 작용하여 점점 더 나은 개선 전략을 생성합니다. (Zelikman et al. 2023)
STOP의 발견
자동으로 발견한 전략

개선된 개선기는 유전 알고리즘, 분해 기반 개선, 다중 팔 Prompt Bandit, 시뮬레이션 어닐링, Beam Search 등 고전적 최적화 전략을 자동으로 발견했으며 인간이 미리 설정할 필요가 없었습니다.

기반 모델 임계값

GPT-4는 지속적으로 개선할 수 있지만 GPT-3.5와 Mixtral은 오히려 퇴화합니다. 재귀 구조 자체만으로는 충분하지 않습니다: 기반 모델이 충분히 강해야 메타 수준 최적화를 지원할 수 있습니다.

STOP이 발견한 최적화 패턴
다양한 모델에서 STOP 성능: 충분히 강한 기반 모델만이 재귀적 개선을 통해 지속적으로 발전할 수 있습니다. (Zelikman et al. 2023)

경고: 재귀 ≠ 반드시 개선

재귀 구조는 개선의 가능성을 제공하지만 수렴을 보장하지 않습니다. 약한 모델은 메타 수준 작업에서 충분한 프로그래밍 직관이 부족하여 오히려 노이즈를 증폭시킵니다: 결과가 진전되지 않고 퇴보합니다. 이는 자기 개선 시스템의 안전성이 기반 능력에 대한 정확한 평가 위에 구축되어야 함을 시사합니다.

Self-Harness: Agent가 자신의 Harness를 개선하기
💬 쉽게 말하면: 직원이 스스로 성과 검토를 하는 것과 같습니다: ① 모든 실패 사례를 꺼내어 반복적으로 실수하는 함정을 찾습니다(Weakness Mining); ② 이를 바탕으로 자신의 업무 매뉴얼을 수정합니다(Harness Proposal); ③ 새 매뉴얼로 시범 운영하여 기존 역량이 퇴보하지 않고 새로운 문제가 없음을 확인한 후 공식 채택합니다(Validation). 전체 과정에서 상사의 개입이 필요 없습니다.
Propose → Evaluate → Accept 루프
Self-Harness(Zhang et al. 2026)는 LLM Agent가 3단계 루프를 통해 자신의 Harness 구성을 개선하도록 합니다. STOP의 순수 텍스트 개선기와 달리 Self-Harness는 system prompt, 도구 스케줄링 전략, 검증 규칙 등 Agent의 런타임 오케스트레이션 시스템을 직접 조작합니다.
1

Weakness Mining

실패 궤적을 verifier-grounded 실패 패턴으로 클러스터링합니다. 각 실패 기록에는 다음이 포함되어야 합니다: 터미널 검증기 수준의 원인 + 관련 Agent 행동의 인과 상태 + 궤적에서 노출된 추상 Agent 메커니즘.

2

Harness Proposal

발굴된 실패 패턴을 기반으로 유한한 Harness 편집을 제안합니다. 모델은 편집 가능한 표면, 실패 패턴 요약, 통과 행동 기록, 이미 시도된 편집 이력을 받습니다. 해결 가능한 반복 오류 패턴을 우선시합니다.

3

Proposal Validation

held-inheld-out 데이터셋으로 후보 편집을 검증합니다. 회귀가 없는 편집만 수용하여 개선이 기존 능력을 희생하지 않도록 합니다.

Self-Harness 흐름도
Self-Harness 3단계 루프: 실패에서 학습하고, 유한한 편집을 제안하며, 검증 후 수용합니다. (Zhang et al. 2026)
실험 검증
Terminal-Bench-2에서 MiniMax M2.5, Qwen3.5-35B-A3B, GLM-5를 대상으로 실험했습니다. Self-Harness는 각 모델에 대해 모델별 harness 지침을 학습했습니다: 동일한 프레임워크가 다른 기반 모델에 대해 다른 최적화 경로를 생성하여 Harness 개선이 실제로 컨텍스트에 민감함을 보여줍니다.
핵심 통찰

Harness 설계 = 실행 가능한 탐색 공간

Harness 설계가 실행 가능한 탐색 공간(편집 가능한 prompt, 정책 구성, 도구 오케스트레이션 코드)으로 형식화되면 강력한 코딩 Agent는 인간 엔지니어가 사용하는 동일한 설계 공간을 활용할 수 있습니다: 자동으로 탐색하고, 제안하고, 검증하며 수동 디버깅에 의존하지 않아도 됩니다. 이는 손으로 쓴 prompt보다 훨씬 더 큰 개선 가능성을 열어줍니다.

안전 경계는 필수불가결합니다

프로그램이 OS 시스템 수준의 구성을 편집하도록 허용되면 추상 경계가 깨집니다. 자기 개선 시스템의 편집 가능한 표면은 합리적으로 설계되어야 합니다: 권한 제어와 보안 계층은 개선 루프 외부에 있어야 하며 인간 또는 변조 방지 감독 메커니즘에 의해 보장되어야 합니다. 경계 없는 자기 개선은 통제 불능의 자기 개선입니다.