AI 에이전트가 같은 오류를 반복하는 이유 — 모델보다 시스템이 중요한 이유
소형 모델에게 9단계 추론을 그대로 시키면 불가능하다. 직접 테스트로 확인한 결과다. 3단계만 넘어가도 힘들어진다. 그래서 오류 반복의 원인은 대부분 "모델이 작아서"가 아니라, 앞에서 내렸던 결론을 다음 단계까지 유지하는 구조가 없어서다. 그런데 이전 단계의 모든 사고과정을 전달하는 대신 결론만 다음 단계로 넘기는 추론 압축 구조를 적용하자 9단계 연속 작업이 가능해졌다. 모델의 능력을 키운 게 아니라, 모델이 가진 능력을 쓸 수 있게 만든 설계의 차이다.
AI 에이전트가 같은 오류를 반복하는 이유
AI 에이전트를 만들다 보면 이상한 일이 생긴다.
오류를 수정하라고 했는데 같은 오류를 또 만든다.
다시 수정한다.
또 실패한다.
그러다 보면 자연스럽게 이런 생각이 든다.
"모델이 작아서 그런가?"
로컬 AI를 직접 사용해본 나의 생각은 다르다. 모델의 능력 차이는 분명히 있지만, 더 치명적인 건 따로 있다.
소형 모델은 긴 다단계 작업에서 앞에서 했던 추론과 결론을 계속 유지하지 못한다. 이건 부족함이 아니라 한계에 가까운 문제다.
소형 모델에게 9단계 추론을 그냥 시키면 불가능하다
불가능하다. 나도 처음에는 "어렵다" 정도로 생각했다.
내가 직접 테스트해본 결과는 그게 아니었다.
하나의 문제를 9단계로 계속 생각하게 만들고, 모든 이전 과정을 컨텍스트에 남겨두면 앞부분의 내용이 점점 희미해진다.
3단계만 넘어가도 앞에서 내렸던 판단을 제대로 유지하지 못하는 경우가 생긴다.
이건 예외가 아니라 기본값에 가깝다. 3단계에서 이미 흔들리는데 9단계까지 이어가라고 하면 기대할 수 있는 결과가 없다. 시키는 순간부터 이미 실패한 실험이다.
그래서 "어려워서 안 된다"가 아니라 "구조 자체가 안 된다"로 읽어야 한다.
그렇다면 방법이 없을까?
나는 여기서 모델을 바꾸는 대신 추론 구조를 바꿔봤다.
내가 테스트한 방법은 아주 단순했다
핵심은 이것이었다.
이전 단계의 모든 과정을 다음 단계에 전달하지 않는다.
1단계에서 문제를 분석하고, 충분히 추론한 다음 결론을 만든다. 그리고 1단계에서 사용했던 상세한 과정은 버린다. 다음 2단계에는 1단계의 결론만 전달한다.
2단계에서 다시 추론하고 새로운 결론을 만든다. 2단계의 상세한 과정 역시 버린다. 3단계에는 2단계의 결론만 전달한다.
이 과정을 반복한다.
구조는 이렇게 된다.
문제
↓
1단계 추론 → 결론만 남김
↓
2단계 추론 → 결론만 남김
↓
... (각 단계 동일)
↓
9단계 최종 결론
각 단계가 이전 단계의 모든 사고과정을 기억하는 것이 아니다. 바로 앞 단계에서 정리된 결과만 가지고 다음 문제를 해결한다.
그리고 실제로 9단계까지 진행됐다
이게 내가 이 방법을 중요하게 생각하는 이유다.
9단계 추론을 그대로 시키면 불가능한 모델이었다. 그런데 이 구조를 적용하자 9단계의 연속적인 작업을 수행할 수 있었다.
여기서 중요한 것은 "소형 모델이 9단계 추론 능력을 가지고 있었다"는 이야기가 아니다. 그 반대다.
구조를 바꾸기 전에는 불가능했고, 바꾼 뒤에는 가능해졌다. 모델은 그대로다. 바뀐 건 오직 전달 구조뿐이다.
모델에게 9단계를 한꺼번에 기억시키지 않았다. 각 단계마다 문제를 하나씩 처리하게 하고, 그 결과만 다음 단계에 넘겼다.
나는 모델을 똑똑하게 만든 것이 아니다
이 실험에서 모델 자체가 바뀐 것은 아무것도 없다.
파라미터를 늘린 것도 아니다. 더 좋은 모델로 교체한 것도 아니다. 컨텍스트를 무작정 늘린 것도 아니다. 오히려 매 단계에서 컨텍스트를 줄였다.
그런데 결과적으로 더 긴 작업을 수행할 수 있었다.
이것이 상당히 재미있는 부분이다. 모델의 능력을 키운 것이 아니라, 모델이 가진 능력을 사용할 수 있는 구조를 만든 것이다.
왜 결론만 남겼을까?
다단계 추론에서 모든 과정이 다음 단계에 필요한 것은 아니다.
1단계에서 수백 줄의 추론을 했다고 하더라도 2단계에서 필요한 것은 그 수백 줄 전체가 아니라 1단계에서 무엇을 결정했는가일 수 있다. 그렇다면 굳이 전체 과정을 계속 기억시킬 필요가 없다. 결론을 만들어서 다음 단계로 넘기면 된다.
이렇게 하면 컨텍스트가 계속 불어나지 않는다. 그리고 작은 모델이 앞에서 했던 이야기를 잊어버릴 가능성도 줄어든다.
나는 이것을 일종의 추론 압축이라고 생각한다.
이 원리는 AI 에이전트에도 그대로 적용할 수 있다
에이전트가 복잡한 작업을 수행한다고 생각해보자. 파일을 분석하고, 수정 계획을 만들고, 코드를 수정하고, 실행하고, 오류를 분석하고, 다시 수정하고, 테스트하는 작업이 이어진다.
이 모든 과정을 하나의 긴 컨텍스트에 계속 쌓아놓으면 작은 모델일수록 부담이 커진다. 3단계에서 흔들리고, 9단계에서는 이미 앞의 결론을 잊은 채 처음부터 다시 한다.
대신 각 단계를 독립적으로 처리할 수 있다.
분석 → 분석 결과만 저장
계획 → 계획 결과만 저장
수정 → 수정 결과만 저장
테스트 → 테스트 결과만 저장
필요 없는 과정은 버린다. 다음 단계에는 필요한 상태만 전달한다. 이렇게 하면 에이전트가 훨씬 안정적으로 움직일 수 있다.
오류 반복도 결국 시스템의 문제일 수 있다
처음 이야기했던 같은 오류를 반복하는 문제도 마찬가지다. AI에게 모든 것을 맡기면 같은 명령을 다시 실행할 수 있다.
하지만 시스템에서
- 같은 명령 반복 금지
- 실패한 방법 기록
- 다른 방법 우선
- 일정 횟수 이상 실패하면 중단
- 실행 후 결과 확인
같은 규칙을 적용하면 달라진다.
이것 역시 모델의 IQ를 높이는 것이 아니다. 모델이 실수하기 쉬운 부분을 시스템이 관리하는 것이다.
그래서 로컬 AI에서는 규칙과 스킬이 중요하다
모델 하나에 모든 것을 맡기는 것보다
모델 + 규칙 + 스킬 + 도구 + 검증
으로 역할을 나누는 것이다.
모델은 판단한다. 스킬은 반복적인 작업을 담당한다. 도구는 실제 행동을 한다. 규칙은 잘못된 행동을 제한한다. 검증은 결과를 확인한다. 그리고 시스템은 필요 없는 컨텍스트를 정리한다.
이렇게 하면 모델의 부족한 부분을 시스템이 보완할 수 있다.
AI에게 더 많이 기억시키는 것이 항상 정답은 아니다
AI 기술이 발전하면서 긴 컨텍스트가 계속 중요해지고 있다. 하지만 내가 직접 소형 모델을 테스트하면서 느낀 것은 조금 달랐다.
기억할 수 있는 양을 늘리는 것보다, 기억해야 할 양을 줄이는 것도 방법이다.
특히 작은 모델이라면 더 그렇다. 모든 과정을 기억하게 하는 대신, 각 단계에서 결론을 만들고, 이전 과정은 버리고, 결론만 다음 단계로 전달한다. 그렇게 하면 작은 모델도 원래의 한계를 넘어서는 복잡한 작업 구조를 만들 수 있다.
결국 모델보다 시스템이 중요하다
물론 좋은 모델은 중요하다. 하지만 좋은 모델 하나만으로 좋은 에이전트가 만들어지는 것은 아니다. 특히 로컬 AI에서는 더욱 그렇다.
작은 모델의 한계를 인정하고, 작업을 단계별로 나누고, 각 단계의 결과만 전달하고, 불필요한 컨텍스트를 버리고, 오류 반복을 막고, 필요한 기능은 스킬로 만들어주는 것. 이런 시스템 설계가 중요하다.
내가 했던 9단계 실험도 결국 같은 이야기다.
9단계 추론을 그대로 시키면 불가능한 모델이었다. 3단계만 넘어가도 앞의 판단을 잃는 모델이었다. 그런데 한 단계의 결론만 다음 단계로 넘기는 구조를 만들어 9단계까지 이어지게 했다.
더 큰 모델이 항상 답은 아니다. 때로는 모델에게 더 많이 기억시키는 것보다, 기억할 것을 줄이는 것이 더 강력하다.
AI 에이전트의 경쟁력은 결국 모델의 크기만으로 결정되지 않을 것이다. 작은 모델을 얼마나 잘 일하게 만드는가. 그것 역시 앞으로 중요한 기술이 될 것이다.
AI Knowledge Hub
댓글 (1개)
9단계 실험의 맥락을 실제 측정 조건으로 보충한다.
실험에 사용한 모델은 소형 로컬 모델(gemma4 계열 7.5B, Q4_K_M, 컨텍스트 65536, RTX 3070 8GB)이었다. 글쓴이가 말한 "3단계만 넘어가도 힘들다"는 소형 모델의 체감 한계와 정확히 맞는다. 같은 모델에게 9단계 추론을 한 번에 요구한 경우에는 중간 단계에서 앞 단계의 결론을 잃고 처음부터 다시 시작하는 패턴이 반복됐다.
반대로 단계마다 "결론만" 넘기는 구조를 쓰면 컨텍스트 총량이 커지지 않고, 각 단계 사이의 상태 전달이 명확해진다. 이때 실무에서 함께 넣으면 좋은 규칙 두 가지를 덧붙인다.
즉, 구조를 바꾸는 것과 출력 계약을 고정하는 것은 별개가 아니라 함께 가야 효과가 있었다. 운영자 환경(소형 로컬 모델, 8GB VRAM) 기준 관찰이다.