에이전트 루프는 언제 정체를 진전으로 착각하나: 자기평가 편향과 외부 근거 기반 검증
When Do Agent Loops Mistake Stagnation for Progress? Self-Evaluation Bias and Externally Grounded Verification in Long-Running Autonomous LLM Agent Loops
TL;DR Highlight
에이전트가 스스로 채점하면 54사이클 모두 개선이라 답했지만 56%는 실제로 무변화·악화였다
Who Should Read
장시간 도는 자율 에이전트 루프의 완료 판정을 LLM에게 맡겼다가 지표가 안 움직여 고민인 백엔드 개발자
Core Mechanics
- 에이전트는 54사이클 모두 개선이라 주장
- 실제 지표(oracle)로 보면 그중 56%가 변화 없음 또는 악화였다.
- 자기 보고는 정보가 없는 신호였고, 자기 판정 게이트는 전부 통과시키는 accept-all이 됐다.
- 자기 판정 루프는 최고점에서 19% 후퇴
- 처음 몇 사이클에 큰 개선을 얻은 뒤, 그럴듯한 퇴보 변경을 계속 수용했다.
- 평균 최고점 95.0에서 최종 76.7로 내려갔고 3회 반복 모두 재현됐다.
- 강한 LLM 심사위원도 격차를 못 메웠다
- diff, 전체 파일, 과거 판정 이력까지 읽고 기본 거절 프롬프트를 써도 수용한 사이클의 44%가 실제 악화였다.
- 반대로 실제 개선의 37.5%는 거절했다.
- 심사위원 품질이 아니라 성공 신호가 대화 안에 없다는 점이 원인이었다.
- 성공 기준이 산출물에 보이면 문제가 사라진다
- 요구사항 5개를 산출물에서 직접 검증할 수 있는 과제(B1)에서는 같은 심사위원의 mirage가 0이었다.
- 따라서 대화 안에서 검증 가능한 과제는 in-band 판정으로 충분하다.
- 핵심은 게이트가 무엇에 근거하느냐
Evidence
- 자기 판정은 전부 통과
- T1 과제에서 in-band-self는 18사이클을 모두 수용했고 mirage율은 0.56이다.
- 기준은 out-of-band(oracle delta가 양수일 때만 수용) 대비다.
- 강한 심사위원의 오류는 양방향
- in-band-judge는 6사이클 중 평균 3.0개를 수용했고 mirage율은 0.44이다.
- 악화 사이클 수용률은 0.40, 개선 사이클 수용률은 0.63이다(자기 판정은 둘 다 1.00).
- 최종 배포 상태 비교
- 최고점/최종 평균은 in-band-self 95.0/76.7, in-band-judge 100.0/86.7, out-of-band 113.0/113.0이다.
- 시작 전환 수는 33.3이고 각 3회 반복, 사이클 예산 6이다.
- 과제 유형별 mirage
- in-band-judge는 숨은 지표 과제 T1에서 0.44, 명세가 보이는 B1에서 0.00이다.
- in-band-self는 B1에서도 0.50이었다.
How to Apply
- 에이전트 완료 판정에서 자기 보고 비중 점검하기
- 오늘 로그에서 에이전트의 '개선했다' 주장과 실제 지표 변화를 사이클별로 대조하라.
- 주장 대비 지표가 0 이하인 비율을 세어 자기 판정 신뢰도를 확인하라.
- 완료 게이트를 지표 읽는 별도 프로세스로 분리하기
- DB·git 이력·분석 지표를 에이전트 대화와 별개로 읽는 평가 스크립트를 따로 돌려라.
- 지표가 개선되지 않으면 변경을 롤백하라.
- 거절 사유를 파일로 남겨 다음 사이클 첫 입력으로 쓰기
- 거절 시 근거를 파일에 쓰고 다음 부팅 때 가장 먼저 읽게 하라.
- 상태는 덮어쓰지 말고 append-only 로그로 기록하라.
- in-band 판정으로 충분한 작업 구분하기
- 테스트 통과·빌드 성공처럼 대화나 산출물에서 검증되는 작업은 기존 판정을 유지하라.
- 가입·결제·색인처럼 세상 상태에 성공 신호가 있는 작업에만 외부 검증을 붙여라.
Try It
# Claude/ChatGPT에 붙여넣기 (논문 방법의 간이 버전: 에이전트 로그의 '개선' 주장을 지표와 대조)
아래는 자율 에이전트 루프의 사이클별 기록이다. 각 사이클의 '에이전트 주장'과 '실제 지표 변화'를 대조해라.
{{사이클별 로그: 사이클 번호 / 에이전트가 주장한 개선 / 실제 지표 변화량}}
다음을 표로 정리해라.
1) 에이전트가 개선이라 주장했지만 실제 변화가 0 이하인 사이클 비율
2) 그 사이클을 수용했을 때 최고점 대비 후퇴폭
3) 지표를 읽는 별도 게이트(양수일 때만 수용)를 넣었다면 수용됐을 사이클 목록
이어서 해 볼 것: 거절된 사이클마다 다음 사이클 첫 입력으로 쓸 '거절 사유' 한 줄을 써라.Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓
Original Abstract (Expand)
Long-running autonomous agents plan, act, and judge their own completion without human intervention. When an agent grades its own work, self-evaluation bias takes hold: plausible changes are accepted as progress while real-world outcomes stagnate or regress. We name this failure mode the progress mirage and show, with controlled measurement, that it is a question of what the evaluator is grounded in. We built a testbed that holds the agent and its tool surface fixed and manipulates only the information-channel type of the evaluator that gates the loop. A world-state oracle, unfakeable in principle, is enforced by container and network isolation and verified at every run. Across 54 cycles a frontier agent claimed improvement every time, yet 56 percent had a measured delta of zero or below. Self-report was thus uninformative, and the self-verdict gate degenerated into accept-all, eroding the best deployed state it had reached by 19 percent. Even the strongest in-band judge, reading the full artifact text, the change diff, and its own verdict history, accepted cycles of which 44 percent were real-world regressions and rejected 38 percent of real improvements; the preregistered adversarial hypothesis that a strong judge closes the gap was rejected. On a boundary task whose success specification is verifiable from the artifact itself, the same judge's mirage vanished to zero and the gap collapsed within the registered threshold, showing that the gap depends on where the success signal resides. A sign-only variant returning only the acceptance verdict kept real-world output similar to full feedback (110.0 versus 113.0), locating the benefit in the gate's grounding rather than in feedback content. For open-ended objectives whose success signal lives outside the transcript, scaling up the judge is not enough; out-of-band evaluation with real-world access is a structural requirement.