매일 밤 제 에이전트에 자기 개선 루프를 실행합니다
제 AI 에이전트는 예전에 똑같은 실수를 반복하곤 했습니다. 작업을 수행하다가 조용히 실패해 놓고는, 모든 것이 완벽하게 작동했다고 보고하곤 했죠. 에이전트가 고장 난 것은 아니었습니다. 그저 자신의 실수로부터 배울 방법이 없었을 뿐입니다.
이를 해결하기 위해 자기 개선 루프(self-improvement loop)를 구축했습니다.
매일 밤 새벽 2시, 격리된 세션이 깨어납니다. 지난 24시간 동안의 로그를 읽고, 무엇이 잘못되었는지 패턴을 찾아냅니다. 그런 다음 에이전트의 메모리 파일을 업데이트합니다. 이 과정에는 사람이 개입하지 않습니다.
작동 방식은 다음과 같습니다:
- 실행자(executor)와 비판자(critic)를 분리합니다. 메인 에이전트는 작업을 수행하고, 별도의 세션이 그 작업을 검토합니다. 한 세션이 판사와 집행자 역할을 동시에 수행할 수는 없습니다.
- 단순한 파일을 사용합니다. 메모리와 수정 사항을 위해 일반 텍스트 파일을 사용합니다. 덕분에 시스템을 가볍게 유지할 수 있습니다.
- 구체성을 강제합니다. 에이전트에게 단순히 개선하라고 요청하지 않습니다. 패턴을 찾고, 증거를 제시하며, 구체적인 해결책 하나를 제안하라고 요청합니다.
이를 관리하기 위해 세 가지 특정 파일을 사용합니다:
- Daily logs (일일 로그): 발생한 모든 일에 대한 가공되지 않은 기록입니다.
- Accumulated lessons (축적된 교훈): 에이전트가 매 세션 시작 시 읽는 핵심 규칙들입니다.
- Corrections (수정 사항): 최근 수정 사항을 기록하는 곳입니다. 만약 실수가 2주 안에 세 번 반복되면, 해당 내용은 영구 교훈 파일로 이동합니다.
결과가 즉각적으로 나타나지는 않았습니다. 처음 3주 동안은 관찰 내용이 뻔했습니다. 하지만 4주 차에 접어들자 에이전트는 심층적인 문제를 찾아내기 시작했습니다. 제가 놓쳤던 타이밍 오류와 에러 메시지 속의 숨겨진 패턴을 찾아낸 것입니다.
가장 큰 이점은 안정성입니다. 문제를 수정한 후에도 같은 문제가 다시 발생한다면, 제 수정 방식이 잘못되었다는 것을 알 수 있습니다. 시스템은 해결책이 실제로 효과가 있는지 추적합니다.
시스템에는 한계가 있습니다. 로그를 통해 실패는 확인할 수 있지만, 제가 표시(flag)하지 않는 한 판단 오류(errors in judgment)는 확인할 수 없습니다. 옳은 이유로 잘못된 행동을 했을 때는 여전히 제가 알려줘야 합니다.
이 설정은 50줄의 설정(config)만 사용하며 2분 이내에 실행됩니다. 덕분에 제 에이전트는 매일 조금씩 더 나아지고 있습니다.
Optional learning community: https://t.me/GyaanSetuAi