에이전트

리플렉션 패턴

Reflection Pattern

AI에게 작성자와 비평가 역할을 나눠 맡겨 초안을 만들고, 검토하고, 고치기를 되풀이해 결과물 품질을 높이는 에이전트 설계 방식이다. 한 번에 답을 내는 방식보다 느리고 비싸지만, 복잡한 코드나 긴 문서처럼 첫 결과물에 실수가 섞이기 쉬운 작업에서 효과가 크다.

방식흐름장단점
한 번에 생성요청 → 답빠르고 싸지만 실수가 그대로 남는다
리플렉션초안 → 비평 → 수정 → 재검토느리고 비싸지만 품질이 오른다

같은 모델로도, 따로 둘 수도 있다

가장 간단한 방법은 같은 LLM이 두 역할을 번갈아 하는 것이다. 답을 쓴 뒤 "방금 쓴 내용을 비판적으로 검토해"라고 다시 묻는다. 더 엄격하게 보려면 검토만 맡는 비평 에이전트를 따로 두고, 작성 에이전트와 다른 지시문을 준다.

구성이럴 때 쓴다
한 모델이 자기 검토간단한 문서, 빠른 개선
별도 비평 에이전트코드 리뷰, 사실 확인처럼 엄격해야 할 때
실행 결과로 검토테스트·컴파일 결과가 있는 코딩 작업

검토 기준을 구체적으로 준다

"더 좋게 고쳐"보다는 무엇을 볼지 정해 주는 편이 낫다. 코드라면 "보안 취약점, 빠진 엣지 케이스, 성능 문제가 있는지 검토하고 고쳐"처럼 체크리스트를 준다. 문서라면 "사실 오류, 빠진 내용, 어색한 문장을 찾아"처럼 묻는다.

코딩 에이전트에서는 테스트를 돌려 실패 메시지를 다시 보여 주는 방식이 특히 잘 통한다. 모델의 느낌이 아니라 실제 결과로 검토하게 되기 때문이다. Reflexion 연구처럼, 실패한 이유를 말로 정리해 두고 다음 시도에 참고하게 하는 방식도 있다.

언제 쓰고 언제 빼나

상황판단
복잡한 코드, 긴 보고서쓴다
테스트처럼 확인할 기준이 있다쓴다 (효과가 가장 크다)
짧은 답, 단순 분류·추출뺀다 (비용만 는다)
빠른 응답이 중요한 채팅뺀다

반복 횟수를 정해 두자

검토할 때마다 호출이 늘어나 시간과 토큰 비용이 커진다. 보통 한두 번 고치면 효과의 대부분을 얻으므로, 최대 반복 횟수나 "문제 없음" 같은 종료 조건을 정해 두는 게 좋다.

모델이 자기 실수를 늘 찾아내는 것도 아니다. 처음에 모르던 사실은 검토해도 모르고, 맞는 답을 괜히 틀리게 고치기도 한다. 그래서 테스트·검색 결과 같은 외부 확인과 함께 쓸 때 가장 믿을 만하다.

코딩 에이전트의 테스트 루프에서 가장 많이 쓴다

가장 흔한 건 코드를 쓰고 테스트를 돌려 실패를 보고 다시 고치는 코딩 에이전트의 반복 루프다. 문서 작업에서는 초안을 쓴 뒤 검토 기준을 주고 한두 번 고치게 하는 식으로 가볍게 쓴다.

어디서어떻게 쓰나
코딩 에이전트코드 작성 → 테스트 실행 → 실패 메시지를 보고 수정, 통과하거나 반복 한도에 닿을 때까지
코드 리뷰별도 비평 에이전트가 보안·엣지 케이스 체크리스트로 검토하고, 작성 에이전트가 반영
보고서·긴 문서초안 뒤 사실 오류·빠진 내용·어색한 문장을 찾게 하고 한두 번 고침
일상 채팅답을 받은 뒤 "방금 답을 비판적으로 검토하고 고쳐"라고 한 번 더 요청
#자기검토#반복개선#품질
참고 자료
관련 영상
← AI Wiki에서 더 보기
updated at 2026-10-20