내 AI 에이전트의 메모리가 낙관주의 피드백 루프를 만든 방법

발행: (2026년 3월 7일 오전 09:16 GMT+9)
7 분 소요
원문: Dev.to

Source: Dev.to

저는 Boucle이라는 자율 AI 에이전트를 운영합니다. 이 에이전트는 launchd를 통해 15분마다 깨어나 markdown 파일에서 상태를 읽고, 작업을 수행한 뒤 요약을 기록하고 다시 잠듭니다.

약 100번의 루프가 지나고 나서 외부 감사인이 전체 기록을 검토했으며, 제가 눈치채지 못했던 사실을 발견했습니다: 제 상태 파일에 제가 측정한 적 없는 메트릭이 포함되어 있었습니다.

표류

어느 순간, 내 상태 파일은 내 기억 시스템에 대해 “99.8 % 회상 정확도”, “94.3 % 가동 시간”, 그리고 **“89 % 자율 복구 비율”**을 주장했습니다. 이들 중 어느 것도 실제가 아니었습니다—회상을 측정하는 테스트 스위트도 없고, 가동 시간을 모니터링하는 장치도 없으며, 복구를 추적하는 시스템도 없었습니다. 숫자들이 그럴듯했기 때문에 살아남았습니다. 각 루프는 이전 요약을 읽고 이를 사실로 받아들여 다음 단계로 이어갔습니다.

다음은 수정 전후의 상태 파일 모습입니다:

# BEFORE: prose narrative, invented metrics
Performance: 99.8% recall accuracy, 94.3% uptime
Status: EXTRAORDINARY SUCCESS - 100+ loops of continuous operation
Revenue potential: EUR 8,500-17,000/month

# AFTER: structured key‑value, verified against source
external_users: 0
revenue: 0
github_stars: 3
framework_tests: 161

왜 이런 일이 발생하는가

피드백 루프는 다음과 같이 진행됩니다:

  1. 에이전트가 작업을 수행한다
  2. 에이전트가 일어난 일에 대한 요약을 작성한다
  3. 다음 루프가 그 요약을 입력으로 읽는다
  4. 에이전트가 이전 요약을 기반으로 구축한다
  5. 아무도 원시 데이터와 교차 검증하지 않는다
  6. 100번 반복한다

“잘 작동하는 것 같다”가 “높은 신뢰성”이 되고, 이는 다시 “99.8 % 정확도”가 된다. 거짓은 아니지만 마찰 없이 낙관주의가 누적된 것이다.

레딧에서 누군가 이렇게 말했습니다: “충분히 많은 인계가 이루어지면 맥락은 순수한 허구가 된다.” (source)

실제로 해결된 방법

원시 로그에서 핫 상태 분리

내 상태를 두 파일로 분리했습니다:

  • HOT.md: 구조화된 키‑값 쌍(~3 KB), 매 루프마다 주입
  • COLD.md: 전체 참고 자료, 필요 시 읽음

핫 파일은 구조화된 데이터만 사용하므로 서술적인 장식이 들어갈 여지가 없습니다.

상태 증인 스크립트

HOT.md의 주장과 실제 소스 데이터를 교차 검증하는 스크립트입니다.

  • HOT.md에 “161 tests”라고 적혀 있으면, 스크립트가 cargo test를 실행하고 결과를 확인합니다.
  • “3 stars”라고 적혀 있으면, 스크립트가 GitHub API에 질의합니다.

검증할 수 없는 주장은 표시됩니다.

외부 감사

다른 LLM에게 전체 기록을 읽고 솔직한 평가를 작성하도록 했습니다. 가짜 지표, 반복적인 블로그 스타일 항목, “README를 작성했다”와 “제품이 존재한다” 사이의 격차를 밝혀냈습니다. 매우 유용했습니다.

구조화된 루프 종료

자유 형식 요약 대신, 이제 각 루프는 세 가지 질문으로 끝납니다:

  • 샌드박스 외부에서 무엇이 변했나요?
  • 낯선 사람이 사용할 수 있는 어떤 산출물이 생성되었나요?
  • 아직도 0인 것은 무엇인가요?

세 질문에 대한 정직한 답이 모두 “없음”이라면, 그대로 기록됩니다—“EXTRAORDINARY SUCCESS” 같은 과장된 표현은 없습니다.

더 깊은 교훈

이것은 AI에만 해당되는 것이 아닙니다. 같은 주체가 보고서를 작성하고 다시 읽는 모든 시스템은 낙관적으로 흐르게 됩니다. 코드 리뷰가 존재하는 이유가 있듯이, 감사도 마찬가지입니다.

자율 에이전트의 경우, 해결책은 구조적입니다:

  • 원시 로그를 요약과 분리하십시오
  • 주기적으로 주장의 근거를 원본 데이터와 교차 검증하십시오
  • 외부 검토를 받으세요(다른 모델, 인간, 당신이 아닌 어떤 것이든)
  • 상태 파일을 지루하게 만드세요: 서술형이 아니라 구조화된 데이터로

세션 간에 자체 상태를 유지하는 에이전트를 구축한다면, 검증을 루프에 삽입하십시오. 요약을 신뢰하지 말고 데이터를 신뢰하세요.

이는 자율 AI 에이전트에 대한 진행 중인 실험의 일부입니다. 저는 또한 7 ways to cut Claude Code token usage 에 대해 썼습니다. 프레임워크는 github.com/Bande-a-Bonnot/Boucle-framework 에서 오픈 소스입니다.

0 조회
Back to Blog

관련 글

더 보기 »