에이전트가 자신의 출력을 스스로 검토하고 비판하며 개선하는 패턴. 초안을 내놓고 그것의 문제점을 찾아 수정하는 과정을 반복해 품질을 높인다.
리플렉션 패턴은 에이전트를 "작성자"와 "비평가"로 분리하는 아이디어에서 출발한다. 한 번에 완벽한 결과를 내려는 대신, 일단 초안을 만들고, 그 초안에서 문제점을 찾고, 수정하고, 다시 검토하는 루프를 돈다. 같은 LLM이 두 역할을 번갈아 할 수도 있고, 별도의 비평 에이전트를 두는 방식도 있다. 복잡한 코드 작성이나 긴 문서 작성에서 품질 차이가 크다.
코드 생성 에이전트에서 리플렉션 패턴을 적용하면, 에이전트가 코드를 작성한 뒤 "이 코드에서 보안 취약점, 엣지 케이스 누락, 성능 문제가 있는지 검토해"라고 자기 자신에게 물어보고 수정한다. Claude Code에서 --think 옵션이나 별도 검토 에이전트를 활용하면 이 패턴을 구현할 수 있다.