강화학습으로 외부 도구 없이 스스로 코드를 반성하고 수정하는 ReflexiCoder를 분석합니다. 8B 파라미터로 GPT-5.1과 경쟁하며, 역설적으로 반성 과정이 토큰 사용량을 36% 줄이는 놀라운 결과를 보입니다.
Tristan2026.03.15LLM코드 생성강화학습자기반성논문 분석ReflexiCoderRL코드 생성 AI의 다음 단계: 스스로 틀린 코드를 고친다
"CompileBot이 빌드 실패 메시지를 보내줘야만 코드를 고칠 수 있다면, 진짜 실력인가?"
최근 발표된 ReflexiCoder 논문(Jiang et al., 2025)은 이 질문에 정면으로 맞서는 연구입니다. 외부 실행 환경 없이, 컴파일러 없이, 사람의 피드백 없이 — 모델 스스로 코드를 반성하고 고칠 수 있는 능력을 강화학습으로 내재화하는 방법을 제안합니다.
기존 접근법의 한계

코드 생성 LLM을 개선하는 기존 방법들은 크게 두 가지 패턴을 보입니다.
- 단일 패스 생성: 한 번에 코드를 생성하고 끝낸다. 복잡한 문제에서 실패율이 높다.
- 외부 피드백 활용: 컴파일러 실행 결과, 테스트케이스 통과 여부, 사람의 검토 등 외부 오라클에 의존해 반복적으로 코드를 수정한다.
두 번째 방법은 성능을 올릴 수 있지만 배포 환경에서 외부 오라클을 항상 사용할 수 없다는 치명적인 한계가 있습니다. 프로덕션 환경에서 매번 코드를 실행해볼 수는 없죠.
ReflexiCoder는 세 번째 길을 제시합니다: 자기반성 능력 자체를 모델 가중치에 내재화한다.
ReflexiCoder의 핵심 아이디어

ReflexiCoder는 코드 생성 과정을 구조화된 추론-반성 궤적(trajectory) 으로 정의합니다.
모델은 이 구조를 엄격히 따르도록 학습됩니다. 핵심은 각 단계가 강화학습의 보상으로 최적화된다는 점입니다. 단순히 "올바른 출력"만 보상하는 게 아니라, 반성하는 과정 자체를 보상합니다.
왜 RL이 필요한가?
단순 지도 학습(SFT)으로도 자기반성 패턴을 학습시킬 수 있습니다. 하지만 SFT는 "외부에서 준 정답 궤적"을 따라 하는 것에 불과합니다. RL은 모델이 직접 탐색하면서 최적의 반성 전략을 발견하게 합니다.
복합 보상 함수 설계
논문에서 가장 흥미로운 부분은 보상 함수 설계입니다. 네 가지 컴포넌트로 구성됩니다.
1. 형식 준수 게이팅
바이너리 게이트: 형식을 위반한 궤적은 보상 0. 아무리 코드가 옳아도 형식이 틀리면 학습에 반영하지 않습니다.
이건 단순해 보이지만 강력합니다. 모델이 형식을 무시하고 결과만 맞히는 지름길을 차단합니다.
2. 사이클 수 규제
최대 회의 반성 사이클은 패널티 없이 허용합니다. 5회 이후부터는 다항-지수 감쇠 + 진동 섭동을 적용합니다.
왜 이렇게 복잡하게? 단순 지수 감쇠를 쓰면 모델이 반성을 아예 포기하거나, 반대로 무한 반복하는 패턴으로 붕괴됩니다. 진동 항 은 이 극단적 수렴을 막습니다.
3. 반복 품질 향상 보상
가장 정교한 컴포넌트입니다. 단순히 최종 정답을 보상하는 게 아니라 반성을 통해 점진적으로 나아지는 궤적을 보상합니다.
- 이전 시도보다 더 좋아졌으면 지수 가중 보상 (나중 개선일수록 높은 가중치)
- 정체하면 패널티
- 올바른 해에 수렴하면 보너스
여기서 은 번째 반성 후의 품질 향상, 는 수렴 보너스입니다.
4. 효율 보상
최소한의 반성 횟수로 최대한 개선하는 것을 보상합니다.
최종 보상 공식
이 설계의 핵심은 형식, 효율, 품질, 점진적 개선 네 가지를 동시에 최적화한다는 것입니다.
Reflection-aware GRPO
최적화 알고리즘으로는 Group Relative Policy Optimization(GRPO) 을 반성에 맞게 수정한 버전을 사용합니다.
기존 RL의 가치 함수(value function) 대신 그룹 내 상대적 이점(advantage) 추정을 사용합니다. 같은 문제에 대해 개의 궤적을 샘플링하고, 그룹 내 정규화된 보상으로 이점을 추정합니다.
이 방식이 대규모 행동 공간(복잡한 코드 생성)에서 더 안정적이라는 게 논문의 주장입니다.
실험 결과
기본 성능 (HumanEval, MBPP 기준)
| 모델 | HumanEval | HumanEval+ | MBPP | MBPP+ |
|---|---|---|---|---|
| Qwen3-8B (베이스) | 89.02% | 80.49% | 70.20% | 59.60% |
| DeepCoder-14B | 94.51% | 85.37% | 77.20% | 66.40% |
| ReflexiCoder-8B (Single) | 94.51% | 87.20% | 81.80% | 69.00% |
| ReflexiCoder-8B (Multiple) | 95.73% | 87.80% | 82.00% | 70.20% |
| GPT-5.1 (참고) | 95.12% | 88.41% | 83.33% | — |
8B 파라미터 모델이 14B 모델을 능가하고, GPT-5.1과 경쟁적인 성능을 보입니다.
더 어려운 벤치마크

LiveCodeBench(실제 경쟁 프로그래밍 문제)에서.
- ReflexiCoder-8B: 54.12%
- DeepCoder-14B-Preview: 35.96%
- 40% 적은 파라미터로 p 격차
CodeForces(알고리즘 대회)에서.
- ReflexiCoder-8B: 37.68%
- 베이스 모델 대비 p
복잡한 문제일수록 자기반성 능력의 차이가 더 크게 드러납니다.
모델 크기별 스케일링

부터 까지 실험한 결과, ReflexiCoder의 성능 향상이 모델 크기와 함께 초선형(super-linear)으로 증가합니다. 큰 모델일수록 자기반성 능력을 더 효과적으로 내재화합니다.
놀라운 발견: 반성이 토큰을 줄인다

가장 반직관적인 발견입니다. 반성 과정을 추가하면 당연히 토큰이 더 많이 사용될 것 같지만, 실제로는 반대입니다.
| HumanEval 평균 토큰 | BigCodeBench 평균 토큰 | |
|---|---|---|
| Qwen3-8B | ~5,000+ | ~5,000+ |
| ReflexiCoder (Single) | 3,455 | 3,477 |
| ReflexiCoder (Multiple) | 2,214 | 2,422 |
Multiple 모드(반성 허용)가 Single 모드보다 약 36% 적은 토큰을 사용합니다.
왜 이런 결과가 나올까요? 반성 능력을 내재화한 모델은 처음부터 더 신중하게 사고합니다. 불필요한 추론 토큰을 줄이고 핵심에 집중합니다. 이를 논문에서는 "규율 잡힌 추론(disciplined reasoning)"이라 부릅니다.
실제로 ReflexiCoder는 약 99.9%의 케이스에서 정확히 번의 반성 사이클만 수행하고 종료합니다. 무한히 반복하지 않고 최적 지점에서 멈추는 법을 학습한 것입니다.
어블레이션: 각 보상 컴포넌트의 기여
| 제거된 컴포넌트 | HumanEval 하락폭 |
|---|---|
| 형식 게이팅 제거 | p |
| 효율 보상 제거 | p |
| 사이클 규제 제거 | p |
| 점진적 개선 보상 제거 | p |
형식 게이팅이 가장 중요합니다. 구조를 강제하지 않으면 모델이 즉각 지름길을 찾습니다.
시사점: AI 코딩 어시스턴트의 미래
이 연구는 AI 코딩 도구의 다음 방향을 시사합니다.
1. 실행 환경 의존성 탈피
컴파일러, 런타임, 테스트 환경에 의존하지 않는 자율적 디버깅. 에지 디바이스나 보안이 엄격한 환경에서도 동작 가능합니다.
2. 추론의 내재화
외부 도구 호출이 아닌 모델 자체의 인지 능력. CoT, RL, 자기반성이 결합될 때 단순 합이 아닌 시너지를 만들어냅니다.
3. 효율성의 역설
"더 많이 생각하면 더 많이 쓴다"는 상식을 뒤집습니다. 잘 훈련된 반성은 오히려 전체 연산량을 줄입니다.
4. 소형 모델의 가능성
파라미터로 모델과 GPT-5.1을 넘보는 성능. 파라미터 수보다 훈련 방식이 더 중요할 수 있습니다.
한계
논문도 솔직하게 한계를 인정합니다.
- 단일 파일 중심: 저장소 수준의 멀티파일 코드베이스에는 적용이 어렵습니다
- 알고리즘 중심: 실제 엔지니어링 작업(API 설계, 아키텍처 결정 등)은 다른 이야기
- Python 편향: 주요 벤치마크가 Python 중심이라 다른 언어 전이성 불확실
- 싱글 패스 대비 지연: 어떤 경우에는 여전히 반성 과정이 지연을 추가
마치며
ReflexiCoder는 단순한 성능 경쟁을 넘어 "AI가 어떻게 오류를 인식하고 수정하는가" 라는 근본적 질문을 다룹니다.
강화학습으로 자기반성을 내재화한다는 아이디어는 코드 생성을 넘어 다양한 추론 작업에 적용될 수 있습니다. 앞으로의 LLM 연구에서 "외부 도구에 의존하지 않는 자율적 오류 수정"이 핵심 키워드가 될 것으로 보입니다.
논문: ReflexiCoder: Teaching Large Language Models to Self-Reflect on Generated Code and Self-Correct It via Reinforcement Learning
코드: github.com/juyongjiang/ReflexiCoder
AI 솔루션이 필요하신가요?
cortexys.ai에서 맞춤 AI 개발 서비스를 확인하세요.

![[논문] KoALa 한국어 음성 AI를 제대로 평가하는 최초의 종합 벤치마크](https://arxiv.org/html/2604.19782v1/images/K-Bench-A.png)
![[논문] 데이터가 적을 때 이미지 AI를 제대로 훈련하는 법 - APT기법](https://arxiv.org/html/2507.02687v1/x1.png)