"한 번 더 검토하라"는 반성이 아니라면, 진짜 반성이란 무엇인가

← 전체 목차 · 이전: 같은 모델인데 대화는 멀쩡하고 Agent만 환각을 일으키는 이유는 무엇인가 · 다음: 표 QA는 LLM이 읽게 할까, 코드가 계산하게 할까?

"모델에게 답을 다시 한번 검토하게 한다"는 대부분의 사람이 반성이라고 믿는 것이지만, 실은 한 번 더 비싼 추론일 뿐이다. 판별 질문은 하나다: 이번에 고친 뒤 무언가가 남았는가? 오류 원인·수정 방안·회피 규칙이 어디에도 기록되지 않으면, 다음번 같은 입력은 똑같은 우회로를 또 탄다. 진짜 반성은 당장 고치기 + 사후 복기 + 영구 축적 + 다음번 회피가 전부 갖춰진 폐루프여야 한다.

단순 검토와 반성 폐루프의 차이

단순 검토반성 폐루프
동작모델이 스스로 한 번 더 점검, 답 수정당장 고치기 → 사후 복기 → 영구 축적 → 다음번 회피
작용 범위단발 출력 최적화폐루프 능력, 작업을 넘나들며 유효
결과하고 나면 사라짐, 경험이 남지 않아 다음에도 똑같이 틀림"왜 틀렸는지, 어떻게 고쳤는지, 다음엔 어떻게 안 틀릴지"를 기억하며 지속적으로 진화

Self-Refine — 즉시 반복 반성, 실시간 교정

Agent 최초 답 생성 / 도구 실행

자동으로 "비평 검증" 모드 진입

논리 허점 · 파라미터 오류 · 내용 환각 식별

즉시 반복 재작성

최대 반복 횟수 제한 → 기준 도달 시 즉시 종료

당장 실시간으로 단발 오류를 고치는 데 강하고, 질의응답·문안·코드 생성에 적합하다. 단점은 이번 결과만 최적화할 뿐 장기 경험을 축적하지 않는다는 것 — 당장 자가 점검은 하지만 자동으로 다음번 경험이 되지는 않는다.

Reflexion — 기억형 반성, 장기 진화

1. 작업 종료 후 전체 실행 궤적을 일괄 복기
2. 오류 원인을 추출
3. 최적 흐름을 정리
4. 범용 규칙을 축적
5. 장기 기억(벡터 장기 기억)에 기록
6. 다음번 유사 시나리오 → 이력 반성 경험을 우선 조회 → 근원에서 오류를 회피

사후 복기처럼 작동해 한 번의 교훈을 장기적으로 재사용 가능한 능력으로 바꾼다. 반성의 산출물이 "더 나은 답 하나"(Self-Refine)가 아니라 "재사용 가능한 규칙 하나"(Reflexion)라는 점이 핵심이며, 규칙은 작업·세션·사용자를 넘나들며 효과를 낸다.

반성 없는 Agent의 네 가지 생산 치명 약점

#약점표현
1같은 함정에 계속 빠짐도구 파라미터 오류, 규칙 이해 편차, 흐름 순서 착오가 매번 같은 시나리오에서 반복됨
2출력 품질이 들쭉날쭉함모델 단발 무작위 추론에만 의존, 검증·교정 메커니즘 없음
3복잡 작업의 내결함성이 극히 낮음다단계 긴 체인에서 한 스텝이 틀리면 스텝마다 틀림, 복기·수정 메커니즘 없이 그대로 붕괴
4영원히 정적, 진화 불가흐름과 능력이 고정, 아무리 써도 경험이 쌓이지 않음

생산급 계층 반성 방안

방안트리거 대상목적
1경량 즉시 반성질의응답, 문안, 단순 도구 호출단발 검증·교정만: 환각·형식·규정 준수 검사, 비용을 통제하며 정확도만 올림
2배치 사후 복기복잡한 긴 작업, 실패 작업, 사용자 혹평 작업실행 링크 복기 → 오류 유형 정리 → 범용 규칙 추출 → 장기 기억에 저장
3반성 가중치 등급화전체 작업, 결과별로 등급 부여성공 작업은 가볍게, 실패 작업은 중점적으로, 고빈도 오류는 높은 가중치로 축적
4안전망(제한 설정)반성 메커니즘 자체최대 반복 횟수, 반성 타임아웃 임계값, 트리거 조건을 정해 간단한 작업은 반성을 덧대지 않고 복잡한 작업만 필요 시 깊게 복기

4층이 없으면 반성 자체가 새로운 장애 원인이 된다 — 상한 없는 반성은 토큰 폭증·인터페이스 눈사태·작업 정체로 이어진다.

결과 검증 → 오류 복기 → 반복 수정 → 축적 총괄, 4단계 실행 체인

단계내용
결과 검증"사용자 목표"와 "현재 실행 결과"를 대조, 데이터 완전성·논리 정확성·답변 규정 준수 세 차원으로 공백 결과·오류 결과·잔결 결과를 식별
오류 복기파라미터 오류인가 / 도구 선택 오류인가 / 검색 부족인가 / 논리 결손인가 / 컨텍스트 정보 부족인가 다섯 후보에서 근본 원인을 특정
반복 수정근본 원인에 맞춰 파라미터 수정 / 도구 교체 / 검색 보완 / 스텝 재규획 중 대응 동작을 실행, 2차 실행
축적 총괄오류 경험과 수정 논리를 장기 기억에 저장, 다음 동류 문제 발생 시 곧장 회피

덧붙이면, 3대 착지 시나리오는 도구 호출 교정(파라미터 자동 수정 후 재시도, 사람 개입 불필요), 추론 논리 교정(흐름을 다시 정리하고 빠진 단계를 보완), 답변 내용 교정(재검증 후 답을 재작성)이다.

핵심 통찰

  1. "다시 한번 검토하라"는 반성이 아니라 더 비싼 추론이다 — 반성인지 아닌지는 "무언가가 남았는가"로 판별한다. 오류 원인·수정 방안·회피 규칙이 남지 않으면 다음번 같은 입력이 같은 우회로를 또 탄다.
  2. 반성의 가치 단위는 "답 하나"가 아니라 "규칙 하나"다 — Self-Refine의 산출물은 더 나은 답이고, Reflexion의 산출물은 재사용 가능한 규칙이다. 규칙은 작업·세션·사용자를 넘나들며 효과를 내므로 여기가 한계 수익이 체증하는 지점이다. Agent가 진화하는지는 규칙 라이브러리의 증가량과 명중률로 판단해야지 단발 답변 품질로 판단하면 안 된다.
  3. 반성 자체가 비용이 드는 서비스이므로 서비스처럼 다스려야 한다 — 온라인 즉시 사고의 상당수는 반성을 안 해서가 아니라 반성에 경계가 없어서다. 최대 반복 횟수·타임아웃 임계값·트리거 조건이 없으면 단순 작업도 심층 복기에 빠져 순환 사고로 이어진다.
  4. 오류에는 가중치가 있고, 반성 자원은 가중치대로 분배해야 한다 — 성공 작업은 가볍게, 실패 작업은 중점적으로, 고빈도 오류는 높은 가중치로 축적한다. 전부 똑같이 무작정 반복하면 비싸고 정작 중요한 경험이 희석된다.
  5. 긴 체인 작업의 취약성은 곱셈식이지 덧셈식이 아니다 — 다단계 작업에서 한 스텝이 틀리면 스텝마다 틀리며, 롤백·복기 메커니즘이 없으면 앞의 작은 오류가 뒤에서 작업 붕괴로 증폭된다. 그래서 복잡 작업은 매 스텝 경량 검사가 아니라 전체 궤적을 사후에 통째로 복기하는 쪽이 맞다.
  6. 정적 Agent의 문제는 "덜 똑똑해서"가 아니라 "안 변해서"다 — 흐름과 능력이 고정된 시스템은 사용자가 아무리 많이 써도 아무 것도 쌓이지 않고, 업무가 바뀌면 전체가 어긋난다. 상용 가능성의 판단 기준은 "돌아가는가"가 아니라 **"실패 후 같은 실수를 반복하지 않는가"**다.
  7. 도구 능력은 출발선을 정하고, 반성 능력은 상한선을 정한다 — 자료를 찾고 인터페이스를 부르고 흐름을 실행하는 것은 입장권일 뿐이다. 실패에서 개선할 수 있는가가 진입 장벽이며, 이것이 "죽은 흐름 Demo"와 "상용 지능체"를 가르는 선이다.

엔지니어링 실전 Tips

  • Self-Refine의 반복 조건에는 반드시 상한과 출구를 동시에 넣을 것: 기준 도달 시 즉시 종료가 없으면 모델이 자기 비평 속에서 무한히 맴돈다. 이것이 가장 흔한 시간 초과 정체의 원인이다.
  • 심층 복기는 반드시 비동기·사후에 할 것: Reflexion의 자리는 작업 종료 후 전체 궤적을 일괄 복기하는 것이지, 메인 링크에 끼워 넣는 것이 아니다. 메인 링크에는 경량 검증만 남겨야 사용자 체감 지연이 통제된다.
  • "사용자 혹평"을 공짜 트리거 신호로 쓸 것: 혹평 작업을 복잡 작업·실패 작업과 나란히 심층 반성 트리거 대상으로 두라. 혹평은 비용이 가장 낮고 신호 대 잡음비가 가장 높은 실패 라벨이다.
  • 기억 라이브러리는 조회 가능해야지 기록만 되면 안 된다: 장기 기억은 벡터 장기 기억으로 저장하고 "다음 유사 시나리오에서 우선 조회"가 짝을 이뤄야 한다. 쓰기만 하고 안 읽는 기억 라이브러리는 로그와 다를 바 없다.
  • 경험 항목에는 가중치를 주고 감쇠를 허용할 것: 고빈도 오류는 가중치를 높여 상단에 두고, 저빈도는 감쇠시킨다. 그렇지 않으면 일회성 우발 오류가 라이브러리를 부풀려 조회 품질을 떨어뜨린다.
  • 분층의 반대말은 "전역 무작정 반복"이며 그 결과는 서비스 눈사태다: 자체 방안을 검토할 때 "심층 반성을 면제받은 작업이 있는가"를 직접 물어보라. 답이 안 나오면 분층이 안 된 것이다.
  • 면접·설계 답변은 "구분 → 시나리오 → 다스림" 3단으로 갈 것: 단순 검토와 반성의 본질 차이(기억 축적 여부)를 먼저 말하고, Self-Refine과 Reflexion의 적용 시나리오를 말한 다음, 마지막으로 분층·안전망을 능동적으로 보충하라 — 세 번째 단이 가장 자주 빠지는 부분이다.