CORE: Contrastive Reflection으로 추론 능력을 빠르게 개선하기
CORE: Contrastive Reflection Enables Rapid Improvements in Reasoning
TL;DR Highlight
성공/실패 추론 트레이스를 비교해 짧은 자연어 인사이트를 뽑아내고, 단 5개 학습 샘플로도 GRPO보다 빠르게 모델 추론 성능을 올리는 비파라메트릭 알고리즘.
Who Should Read
LLM 추론 성능을 개선해야 하는 ML 엔지니어나 연구자. 특히 학습 데이터가 적거나 파인튜닝 비용 없이 모델을 강화하고 싶은 상황.
Core Mechanics
- CORE는 모델 가중치를 전혀 건드리지 않는 비파라메트릭(non-parametric) 방식 - 모델을 frozen 상태로 유지하면서 외부 메모리에 인사이트를 쌓아 성능을 올림.
- 핵심 아이디어는 '대조 반성(Contrastive Reflection)': 실패한 추론 트레이스와 비슷한 문제의 성공 트레이스를 나란히 놓고 LLM에게 차이점을 분석하게 해서 짧은 자연어 인사이트를 생성.
- 생성된 인사이트는 admission test를 통과해야만 메모리에 저장됨 - 해당 인사이트를 붙였을 때 실제로 문제를 풀어야 통과, 안 되면 버림.
- 인사이트 검색 시 semantic similarity(의미적 유사도)와 utility score(과거에 얼마나 도움이 됐는지) 둘 다 고려해서 가져옴 - utility만 빼면 성능이 0.907 → 0.780으로 떨어짐.
- 실험 모델은 GPT-OSS-120B (OpenAI 오픈소스 120B 모델), 임베딩은 jina-embeddings-v2-base-en(137M BERT 기반)을 사용.
- Tower of Hanoi, MathGAP, ZebraLogic, Matchstick Arithmetic 4가지 태스크에서 GRPO, GEPA, Episodic RAG, MemRL 모두 제침.
Evidence
- 350번의 rollout(학습 시도)만에 CORE의 평균 held-out 정확도가 0.445 → 0.712로 59.9% 향상 - 이 시점에서 이미 4000 rollout을 쓴 모든 베이스라인의 최고 성능을 초과.
- 5개 학습 샘플만으로도 12개 조건(4 태스크 × 3 데이터 크기) 중 9개에서 1위, 평균 54.8% 성능 향상(no-learning 대비).
- 컨텍스트 효율성: CORE는 평가 시 평균 0.92k 토큰 추가, Episodic RAG는 33.6k, MemRL은 32.7k - 각각 36.6배, 35.6배 더 많은 토큰을 씀.
- Contrastive Reflection 제거 실험: 실패 트레이스만 보는 경우 0.617, 성공 트레이스만 보는 경우 0.830, 둘 다 비교하는 CORE는 0.907 (Matchstick Arithmetic, 10샘플).
How to Apply
- 검색/추천 시스템에서 사용자 피드백 루프가 있는 경우: 정답/오답이 나올 때마다 성공-실패 쌍을 저장하고, LLM에게 '이 두 응답의 차이가 뭔지 규칙으로 설명해줘'를 주기적으로 실행해 인사이트를 축적하면 됨.
- 코드 생성이나 SQL 생성 에이전트에 적용할 때: 테스트 통과 여부를 verifier로 사용하고, 실패한 코드와 비슷한 문제의 성공 코드를 비교해 추출한 규칙(예: '배열 인덱스 확인', 'NULL 처리')을 프롬프트에 점진적으로 추가.
- admission test 패턴만 빌려서 프롬프트 최적화에 활용: 새 규칙이나 지침을 프롬프트에 추가하기 전에 소수 샘플로 효과를 검증하고, baseline 성공률보다 높을 때만 채택하는 gating 로직을 파이프라인에 붙이면 됨.
Code Example
Terminology
관련 논문
LLM 기반 Multi-Agent 시스템의 Temporal & Structural Credit Assignment 통합 Prompt 최적화
여러 AI 에이전트가 협력할 때 '어느 라운드의 어느 에이전트'가 실패했는지 정확히 짚어내서 그 프롬프트만 고치는 최적화 프레임워크
Multi-Agent LLM 시스템으로 취약점 자동 발견 및 재현하기 - FuzzingBrain V2
LLM 기반 멀티 에이전트 시스템으로 C/C++ 코드의 보안 취약점을 자동으로 찾고 재현하는 FuzzingBrain V2 논문으로, AIxCC 2025 대회에서 40개 중 36개(90%) 취약점 탐지에 성공했다.
Claude Code를 일상 도구로: Claude.md, Skills, Subagents, Plugins, MCPs 활용법
Claude Code를 터미널 AI 코딩 도구로 제대로 쓰기 위한 Claude.md 설정, 서브에이전트, 플러그인, MCP 연동 실전 가이드
FinHarness: 금융 LLM 에이전트를 위한 인라인 라이프사이클 Safety Harness
금융 AI 에이전트가 실행 중간에 위험한 툴 호출을 차단하면서도 정상 승인율을 유지하는 인라인 안전 프레임워크
AI Control에서 Retrying vs Resampling: 어느 쪽이 더 안전한가
Claude Code처럼 의심 행동을 막고 재시도하는 방식이 오히려 공격자에게 힌트를 줘서 더 위험할 수 있다는 연구.
Typed Memory Representation으로 Long-Term Agent의 Provenance-Role Collapse 완화
LLM 에이전트의 장기 메모리가 출처를 뒤섞는 문제를 '타입이 있는 메모리 원자' 구조로 해결한 논문
당신의 에이전트를 밀어붙여라: Long-Horizon LLM 에이전트의 Quantitative Goal Persistence 측정과 강제
Related Resources
Original Abstract (Expand)
Language models can use verifiable rewards to improve at a wide variety of reasoning tasks. However, both parametric (e.g. RLVR) and non-parametric (e.g. prompt optimization) approaches to doing so typically require hundreds of training samples and thousands of model rollouts, making them expensive in the best case and intractable in the worst. To address this challenge, we introduce Contrastive Reflection (CORE), a non-parametric learning algorithm that compares past reasoning traces to generate insights: short natural-language descriptions of reasoning strategies and constraints that capture differences between successful and unsuccessful problem attempts. Across four reasoning tasks, we demonstrate that CORE enables more rapid improvement than both parametric (GRPO) and non-parametric (GEPA, episodic RAG, and MemRL) methods, while using fewer rollouts. Under fixed rollout budgets with as few as five training samples, we then show that CORE also achieves comparable or greater performance gains than each baseline. Finally, we highlight how CORE is also substantially more context-efficient than non-parametric baselines, requiring fewer prompt tokens while storing learned knowledge as compact, interpretable natural-language insights. Our results therefore suggest that distilling contrasts between successful and unsuccessful reasoning traces into abstract and useful insights can provide a more efficient and interpretable route to model self-improvement than weight updates, prompt optimization, or direct reuse of stored reasoning traces.