Escaping the Self-Confirmation Trap: An Execute-Distill-Verify Paradigm for Agentic Experience Learning Review
0. Introduction
Escaping the Self-Confirmation Trap, 이하 EDV 논문은 agent memory에서 꽤 중요한 실패 양상을 정면으로 다룬다. 핵심은 “agent가 경험을 많이 쌓으면 좋아진다”가 아니다. 잘못된 경험이 memory에 들어가는 순간, agent는 그 경험을 다시 검색하고 재사용하면서 오류를 증폭할 수 있다는 점이다.
기존 experience learning 계열은 대체로 single-agent loop를 쓴다. 한 agent가 task를 실행하고, trajectory를 보고, lesson을 요약하고, memory에 쓸지 판단한다. 이 구조는 간단하지만 취약하다. 어떤 trajectory가 내부적으로는 일관되어 보이지만 실제로는 틀렸다면, 같은 agent가 그 오류를 스스로 검증하지 못하고 “좋은 경험”으로 저장할 수 있다. 논문은 이를 Self-Confirmation Trap이라고 부른다.
EDV의 해법은 경험을 만드는 과정을 세 역할로 분리하는 것이다. Execute에서는 서로 다른 agent들이 같은 작업 공간을 병렬로 탐색한다. Distill에서는 별도의 distillation agent가 여러 trajectory를 비교해 후보 경험을 만든다. Verify에서는 execution group이 합의 방식으로 후보 경험을 검증하고, 승인된 것만 shared memory나 private memory에 쓴다.
한 줄 요약: EDV는 agentic experience learning에서 실행, 요약, 검증을 분리해 그럴듯하지만 틀린 trajectory가 memory에 들어가는 것을 막고, shared/private memory와 Ability Matrix를 통해 long-horizon agent의 성능과 memory 품질을 함께 개선하는 framework다.
이 논문을 지금 볼 가치가 있는 이유는 다음과 같다.
- Agent memory의 병목을 retrieval 자체가 아니라 memory에 무엇을 넣을지 결정하는 품질 관리 문제로 본다.
- Self-reflection이나 self-verification만으로 해결하기 어려운 self-confirmation trap을 명시적인 실패 양상으로 제시한다.
- 서로 다른 agent의 실행, 제3자 요약, 합의 기반 검증을 하나의 memory construction 절차로 묶는다.
- tau2-bench, Mind2Web, MMTB에서 No Memory, ReasoningBank, Judge, Router baseline과 비교한다.
- Memory 품질에 대한 human audit, memory contamination 실험, 단계별 ablation과 component ablation을 같이 제시한다.
- Agent self-evolution에서 “more memory”보다 “verified memory”가 더 중요하다는 실무적 메시지를 준다.
이 글에서는 EDV를 “multi-agent ensemble로 agent 성능을 올린 논문”이라기보다, 경험이 memory에 들어가기 전 어떤 검증 경계를 거쳐야 하는지 보여주는 agent memory 신뢰성 논문으로 읽는다.
1. Problem Setting
1-1. Problem definition
Experience learning은 과거 interaction trajectory에서 재사용 가능한 지식을 만들고, 이를 memory에 저장한 뒤 미래 task에서 검색해 쓰는 방식이다.
Task $x$가 주어지고 agent policy $\pi$가 trajectory $\tau$를 만든다고 하자.
\[\tau \sim \pi(\cdot \mid x)\]Experience memory는 trajectory에서 distilled lesson $e$를 만든 뒤 저장한다.
\[e = D(\tau)\] \[M \leftarrow M \cup \{e\}\]미래 task $x’$에서는 memory retrieval로 관련 경험을 가져와 reasoning context에 넣는다.
\[R(x',M) = \{e_1,\ldots,e_k\}\]문제는 $e$가 정말 올바른 경험인지 판단하기 어렵다는 점이다. 특히 open-world agent task에서는 trajectory correctness $c(\tau)$가 명시적 ground truth로 주어지지 않는 경우가 많다.
Single-agent loop에서는 같은 agent가 실행과 평가를 모두 수행한다.
\[\mathrm{approve} = V_{\pi}(\tau)\]이때 agent가 틀렸지만 self-consistent한 trajectory를 그럴듯하다고 판단하면, 잘못된 경험이 memory에 들어간다.
\[P(\mathrm{approve}=1 \mid c(\tau)=0)\]이 값이 커지면 memory contamination이 발생한다. EDV는 이 상태를 Self-Confirmation Trap으로 정의한다.
1-2. Why previous approaches are insufficient
1) Self-reflection
Self-reflection은 agent가 자신의 trajectory를 보고 lesson을 추출한다. 하지만 실행 실수와 평가 실수가 같은 model 관점에서 생긴다면, 둘은 같은 blind spot을 공유한다. 틀린 reasoning이 국소적으로 일관되어 보이면 self-reflection은 이를 고치기보다 강화할 수 있다.
2) Self-verification
Self-verification을 따로 prompt로 넣어도 같은 agent가 자기 산출물을 검증한다는 구조는 유지된다. 논문 ablation에서도 single-agent self-verify는 basic single-agent보다 낫지 않거나 오히려 조금 떨어진다.
3) Inference time의 LLM-as-Judge
Judge ensemble은 output selection에는 도움이 될 수 있다. 하지만 memory에 들어가는 content 자체를 개선하지 않으면, contaminated memory가 계속 future task에 영향을 준다.
4) Router나 ability matrix만 쓰는 방식
Router는 어떤 model이 어떤 task에 적합한지 고를 수 있다. 그러나 잘못된 경험이 memory에 들어가는 문제는 별개다. EDV는 solver routing과 memory 품질 관리를 함께 다룬다.
2. Core Idea
2-1. Main contribution
EDV의 핵심 기여는 네 가지다.
- Self-Confirmation Trap characterization
- Single-agent experience learning의 구조적 실패를 정의한다.
- 틀렸지만 그럴듯하게 일관된 trajectory가 memory에 들어가고, 이후 검색과 재사용을 거치며 반복 강화되는 과정을 문제화한다.
- Execute-Distill-Verify pipeline
- Execute: 서로 다른 agent들이 다양한 trajectory를 만든다.
- Distill: 제3자 agent가 trajectory들을 비교해 후보 경험을 생성한다.
- Verify: executor group이 합의 방식으로 경험을 검증한다.
- Shared/private memory and Ability Matrix
- 모든 agent가 승인한 경험은 shared memory에 들어간다.
- 일부 agent만 승인한 경험은 해당 agent의 private memory에 들어간다.
- Ability Matrix는 task-solver matching에 쓰인다.
- Memory quality evaluation
- Downstream benchmark만이 아니라 human audit, contamination sensitivity, ablation, efficiency까지 함께 본다.
2-2. Design intuition
EDV의 설계 직관은 memory construction에서 role separation이 필요하다는 것이다.
| Stage | Role | 중요한 이유 |
|---|---|---|
| Execute | 다양한 trajectory 생성 | Single agent bias를 줄임 |
| Distill | 여러 trajectory를 대조해 요약 | Executor 중심의 자기 요약 편향을 줄임 |
| Verify | 합의 기반 검증 | 시끄럽거나 해로운 memory 삽입을 막음 |
이 구조는 “multi-agent가 많으면 좋다”는 식의 단순한 주장과 다르다. 중요한 것은 역할 분리다. 실행한 agent가 바로 자기 경험을 요약하고 검증하는 것이 아니라, 다른 관점의 agent가 후보 경험을 만들고, execution group이 다시 검증한다.
3. Architecture / Method
3-1. Overview
EDV는 experience learning을 두 단계로 나눈다.
- Experience construction stage
- Execute, Distill, Verify를 통해 memory에 넣을 경험을 만든다.
- Inference-time usage stage
- 새 task가 들어오면 Ability Matrix로 solver를 고르고, shared/private memory에서 관련 경험을 retrieve해 reasoning context에 넣는다.
핵심은 memory write path와 memory read path를 분리해서 보는 것이다. EDV의 주요 novelty는 read-time retrieval trick보다, memory에 들어가기 전 경험을 어떻게 만들고 검증하는가에 있다.
3-2. Execute
Execute 단계에서는 서로 다른 agent로 구성된 pool에서 일부 agent를 뽑아 execution group을 만든다. 각 agent는 같은 task space를 독립적으로 탐색하고 후보 trajectory를 생성한다.
이 단계의 목적은 단순히 시도 횟수를 늘리는 것이 아니다. 서로 다른 foundation model이나 prompting strategy를 가진 agent들이 같은 문제를 풀면, 성공 경로와 실패 경로가 다양하게 드러난다. 이 다양성이 뒤의 Distill 단계에서 trajectory 간 비교 재료가 된다.
논문 구현에서는 Mimo-V2-Flash, GLM-4.7-FP8, MiniMax-M2.1 같은 heterogeneous model pool을 사용하고, memory construction 시 두 model을 execution group으로 sample한다.
3-3. Distill
Distill 단계에서는 execution group에 속하지 않는 third-party distillation agent가 여러 trajectory를 비교한다. 이 agent는 하나의 best trajectory를 단순 요약하지 않고, 여러 trajectory 사이의 차이를 보면서 재사용 가능한 후보 경험을 만든다.
이 설계가 중요한 이유는 executor 중심의 자기 요약 편향을 줄이기 위해서다. Task를 직접 수행한 agent가 자기 trajectory를 요약하면, 자기 오류를 lesson으로 포장할 위험이 있다. Third-party distillation은 trajectory들을 비교 대상으로 놓고 공통 패턴, 실패 원인, 더 일반화 가능한 규칙을 뽑는다.
논문 부록의 memory format은 title, description, content를 가진 structured JSON 형태다. 즉 EDV가 저장하려는 것은 raw trajectory가 아니라, 미래 task에서 바로 사용할 수 있는 압축된 lesson이다.
3-4. Verify
Verify 단계는 Self-Confirmation Trap을 끊는 핵심 장치다. 후보 경험마다 원래 execution group이 각자 자신의 execution context를 기준으로 검증한다.
EDV의 default policy는 strict default-reject다.
| 검증 결과 | 저장 결정 |
|---|---|
| 모든 agent 승인 | shared memory bank |
| 일부 agent 승인 | 해당 private memory bank |
| 충분한 승인 없음 | 폐기 |
모든 agent가 승인한 경험은 여러 agent 관점에서 재사용 가능하다고 판단된 것이므로 shared memory에 들어간다. 일부 agent만 승인한 경험은 특정 solver에게만 유효할 수 있으므로 private memory에 저장한다. 검증을 통과하지 못한 후보는 memory에 쓰지 않는다.
이 구조는 memory insertion threshold를 높인다. EDV는 경험을 많이 저장하는 것보다, 잘못되었거나 noise가 큰 경험이 long-term memory로 들어가는 것을 막는 데 더 높은 우선순위를 둔다.
3-5. Memory and inference-time usage
EDV는 두 종류의 memory를 유지한다.
| Memory | 역할 |
|---|---|
| Shared memory | 여러 agent가 공통으로 쓸 수 있는 일반화된 재사용 경험 |
| Private memory | 특정 solver나 agent에게만 맞는 개별 agent용 경험 |
추론 시에는 먼저 Ability Matrix를 이용해 새 task에 적합한 solver를 고른다. 그 다음 shared memory를 먼저 retrieve하고, 충분하지 않으면 선택된 solver의 private memory를 추가로 retrieve한다.
이 설계는 두 가지 효과를 노린다.
- Shared memory로 agent 간 지식 공유를 가능하게 한다.
- Private memory로 특정 agent에게만 맞는 edge-case lesson이 전체 system에 오염처럼 퍼지는 것을 막는다.
4. Training / Data / Recipe
EDV는 model weight를 새로 학습하는 논문이라기보다, agent 경험을 만들고 memory로 사용하는 pipeline을 제안하는 논문이다. 따라서 recipe의 핵심은 training epoch가 아니라, memory를 offline으로 구성하고 online inference에서 어떻게 쓰는지다.
4-1. Data
평가는 세 가지 long-horizon agent benchmark에서 진행된다.
| Benchmark | 평가 대상 |
|---|---|
| tau2-bench | 동적인 환경에서의 현실적인 이슈 해결 능력 |
| Mind2Web | 웹 상호작용과 task, website, domain을 넘어서는 일반화 |
| MMTB | 여러 tool을 쓰는 task 수행과 계층적 tool-use 품질 |
Baseline은 No Memory, ReasoningBank, Judge ensemble, Router ensemble이다. No Memory는 backbone 자체 능력을 보고, ReasoningBank는 single-agent memory learning을 대표한다. Judge는 inference-time output 판정, Router는 Ability Matrix 기반 solver 선택을 나타낸다.
4-2. Memory construction recipe
Memory construction은 offline에서 수행된다.
- 서로 다른 agent로 구성된 pool에서 execution group을 sample한다.
- Execution agents가 같은 task에 대해 candidate trajectories를 만든다.
- 별도의 distillation agent가 trajectory들을 비교해 후보 memory를 만든다.
- Execution group이 후보 memory를 합의 방식으로 검증한다.
- 승인 결과에 따라 shared memory, private memory, discard로 나눈다.
논문 구현에서는 construction 단계에서 execution group으로 두 model을 sample하고, 다른 model을 distillation agent로 둔다. 역할을 고정하지 않고 random role assignment를 사용해 특정 model이 특정 역할에 계속 묶이면서 생기는 편향을 줄인다.
4-3. Retrieval and storage details
Memory item은 structured JSON으로 저장된다.
| Field | 의미 |
|---|---|
| Title | memory entry의 짧은 식별자 |
| Description | 한 문장 요약 |
| Content | 1-3문장 분량의 전략 또는 경험적 통찰 |
Retrieval은 Qwen3-Embedding-4B 기반 semantic retrieval을 사용하고 cosine similarity로 비교한다. Shared memory와 private memory는 분리되어 있으며, 논문은 복잡한 clustering, deduplication, pruning 대신 새 항목을 순차적으로 추가하는 방식을 사용한다.
이 단순한 설계는 중요한 통제다. 성능 향상이 정교한 memory management 때문인지, EDV가 만든 memory의 품질 때문인지 섞이지 않게 하기 때문이다.
4-4. Practical recipe
실제로 EDV식 system을 만들려면 다음 순서를 지키는 것이 중요하다.
- Memory write는 offline batch로 처리한다.
- 후보 memory에는 출처를 확인할 수 있는 trajectory evidence를 남긴다.
- Shared memory와 private memory를 섞지 않는다.
- Solver routing과 memory retrieval을 분리해서 logging한다.
- Memory contamination test를 별도로 만든다.
이 논문의 메시지는 “memory를 붙이면 좋아진다”가 아니라, 검증되지 않은 memory는 agent를 더 나쁘게 만들 수 있다는 것이다.
5. Evaluation
논문은 EDV를 네 관점에서 평가한다.
- Benchmark에서의 downstream 성능.
- 실제로 저장된 memory의 품질.
- 잘못된 memory contamination이 주는 피해.
- EDV component와 설계 ablation.
5-1. Main evaluation points
세 benchmark에서 EDV는 강한 baseline보다 안정적으로 높은 성능을 보인다.
| Benchmark | 핵심 결과 |
|---|---|
| tau2-bench | EDV 평균 Pass@1 86.6으로 Router 83.5, Judge 81.5보다 높음 |
| Mind2Web | task, website, domain을 바꾼 setting에서 일관된 개선 |
| MMTB | overall score 58.10으로 Router 55.96보다 높음 |
중요한 점은 EDV가 단순히 model 수를 늘리거나 inference-time selection만 한 것이 아니라는 점이다. Judge와 Router도 여러 agent의 출력 판정이나 model selection을 쓰지만, EDV는 memory construction 자체를 바꾼다.
5-2. Memory quality audit
논문은 tau2-bench RETAIL domain에서 실제 memory bank에 저장된 item을 human audit으로 평가한다. 5점 척도에서 EDV는 ReasoningBank보다 전반적으로 높다.
| Metric | ReasoningBank | EDV |
|---|---|---|
| Groundedness / Correctness | 3.72 | 4.41 |
| Actionability | 3.58 | 4.32 |
| Specificity | 3.64 | 4.27 |
| Noise / Hallucination | 1.21 | 0.63 |
| Potential Harm if Reused | 1.08 | 0.51 |
이 결과는 EDV의 개선이 benchmark score만이 아니라 memory item quality에도 나타난다는 근거다. 특히 Noise/Hallucination과 Potential Harm if Reused가 낮아진 점이 Self-Confirmation Trap 논지와 직접 연결된다.
5-3. Memory contamination test
논문은 ReasoningBank memory에 내부적으로는 그럴듯하지만 실제로는 잘못된 경험을 10% 주입한다. 예시는 잘못된 payment rule 같은 것이다.
그 결과 tau2-bench RETAIL domain에서 RB의 Pass@1이 82.5에서 77.2로 떨어진다. 이는 잘못된 memory가 단순 noise가 아니라, 검색된 뒤 재사용되면서 task success를 직접 악화시킨다는 것을 보여준다.
5-4. Ablation
Progressive ablation은 EDV의 세 단계가 왜 필요한지 보여준다.
| Variant | Pass@1 |
|---|---|
| Basic single-agent | 83.3 |
| Single-agent + self-verify | 83.2 |
| Single-agent + independent verifier | 84.5 |
| Multi-agent + self-distill | 85.9 |
| Multi-agent + third-party distill | 87.1 |
| EDV full | 88.6 |
여기서 중요한 점은 self-verify가 거의 도움이 되지 않는다는 것이다. Self-Confirmation Trap은 같은 agent가 자기 reasoning을 검증하는 구조에서는 잘 깨지지 않는다. 반대로 서로 다른 agent의 실행, 제3자 distillation, 합의 기반 verification이 함께 있을 때 가장 높은 성능이 나온다.
Component ablation도 비슷한 메시지를 준다.
- Ability Matrix를 제거하면 88.6에서 86.6으로 떨어진다.
- Private memory를 제거하고 all-shared로 만들면 85.7로 떨어진다.
- Shared memory를 제거하고 all-private로 만들면 85.9로 떨어진다.
즉 solver matching과 shared/private hierarchy는 가벼운 lookup 수준의 비용으로 성능에 실질적으로 기여한다.
5-5. Efficiency and qualitative analysis
EDV의 construction stage는 offline으로 병렬화할 수 있다. Online inference에서는 추가 multi-agent coordination을 요구하지 않는다. 대신 더 좋은 memory를 retrieve하기 때문에 RETAIL subset에서 ReasoningBank 대비 평균 inference token consumption을 24.5% 줄이면서 더 높은 성능을 낸다.
부록의 qualitative analysis는 EDV memory가 세 방향으로 좋아진다고 설명한다.
- 상태를 고려해 operational inertia를 줄이는 adaptive experience.
- 국소적인 action pattern보다 높은 수준의 strategic experience.
- 여러 agent의 실패를 비교 분석해 얻은 reliable corrective experience.
이 부분이 EDV를 단순 ensemble이 아니라 memory 품질 개선 framework로 읽어야 하는 이유다.
6. Limitations
- Consensus bias가 생길 수 있다
- 서로 다른 agent들도 같은 blind spot을 공유하면 합의 과정이 잘못된 경험을 승인할 수 있다.
- Low-quality agent가 간섭할 수 있다
- 성능이 낮은 agent가 execution group이나 verification group에 들어오면 유용한 경험이 승인되지 못하거나 잡음이 큰 signal이 섞일 수 있다.
- Attribution이 어렵다
- Multi-agent, multi-turn pipeline에서는 어떤 agent나 단계가 실패의 원인인지 선형적인 system보다 추적하기 어렵다.
- Offline construction cost가 든다
- Online inference overhead는 줄일 수 있지만, offline memory construction에는 여러 agent의 rollout과 validation 비용이 든다.
- Memory growth를 관리해야 한다
- Long-term memory bank가 계속 커지면 pruning, consolidation, obsolete memory removal이 필요해진다. 논문도 future work에서 memory value function 기반 pruning을 언급한다.
- Benchmark coverage가 제한적이다
- tau2-bench, Mind2Web, MMTB는 long-horizon agent benchmark로 유용하지만, 모든 enterprise workflow나 safety-critical agent setting을 대표하지는 않는다.
- Heterogeneity scaling은 아직 검증이 부족하다
- Agent pool을 3개에서 10개 수준으로 늘렸을 때의 scaling law는 아직 future work에 가깝다.
7. My Take
7-1. Why this matters
EDV에서 가장 중요한 메시지는 agent memory의 병목이 retrieval만이 아니라 write-time quality control이라는 점이다. 잘못된 memory는 단순히 쓸모없는 정도가 아니라, 미래 task에서 검색되어 오류를 재생산한다.
이 관점은 RAG나 agent memory system에도 그대로 적용된다. Retrieval quality만 높이면 되는 것이 아니라, corpus나 memory bank에 들어가는 item이 검증된 것인지 먼저 확인해야 한다.
7-2. Reuse potential
EDV의 설계는 다음 상황에서 재사용 가능하다.
- Long-horizon web agent가 task-specific rule을 memory로 쌓는 경우.
- Coding agent가 실패한 debugging trajectory에서 재사용 가능한 lesson을 추출하는 경우.
- Customer support agent가 policy exception이나 edge case를 memory로 저장하는 경우.
- Multi-tool agent가 tool call pattern을 SOP 형태로 저장하는 경우.
핵심은 EDV를 그대로 복사하는 것이 아니라, 실행, distillation, verification을 같은 model prompt 안에 묶지 않는 것이다.
7-3. Production considerations
Production에서 이 아이디어를 쓰려면 다음 조건이 필요하다.
- Memory item마다 source trajectory와 approval record를 남긴다.
- Shared memory와 private memory를 물리적으로 분리한다.
- Memory insertion은 default accept가 아니라 default reject로 둔다.
- Contamination canary를 만들어 잘못된 memory 주입 시 성능 하락을 측정한다.
- Solver routing, memory retrieval, final answer quality를 따로 logging한다.
이 논문은 memory system을 database처럼 다뤄야 한다는 쪽에 가깝다. Write path에 validation, provenance, access scope가 없으면 retrieval 단계에서 아무리 좋은 embedding을 써도 오염된 지식을 잘 찾아올 뿐이다.
7-4. Follow-up directions
후속으로 볼 만한 방향은 다음과 같다.
- Memory pruning과 consolidation.
- Task complexity에 따른 dynamic agent scaling.
- Heterogeneity scaling law.
- Adversarial 또는 malicious memory contamination.
- 위험도가 높은 memory에 대한 human-in-the-loop approval.
EDV는 “agent가 경험을 저장한다”는 방향에서 한 단계 더 나아가, “어떤 경험은 저장하지 말아야 하는가”를 시스템 설계 문제로 만든다.
8. Summary
- EDV는 agentic experience learning의 Self-Confirmation Trap을 다룬다.
- 핵심은 Execute, Distill, Verify를 분리해 틀렸지만 그럴듯한 경험이 memory에 들어가는 것을 막는 것이다.
- Shared/private memory와 Ability Matrix는 재사용 가능한 공통 경험과 agent별 경험을 분리해 사용하게 한다.
- tau2-bench, Mind2Web, MMTB에서 EDV는 ReasoningBank, Judge, Router보다 좋은 결과를 보인다.
- 가장 중요한 교훈은 agent memory에서 retrieval보다 먼저 memory insertion quality를 통제해야 한다는 점이다.
댓글남기기