보통 AI 에이전트의 성능을 측정할 때는 가장 강력한 모델을 붙여 점수를 최대한 끌어올립니다. 그런데 오픈소스 에이전트 goose 팀은 일부러 그러지 않습니다. 약한 모델을 써서, 일부러 실패를 남겨두죠.

Block의 오픈소스 AI 에이전트 goose 팀(글쓴이 Douwe Osinga)이 자기개선(self-improving) 에이전트를 실제로 어떻게 운영하는지 공개했습니다. “AI가 스스로 발전한다”는 말이 유행이지만, 이들이 신뢰하는 버전은 여전히 사람의 판단을 루프 한가운데에 끼워 넣습니다. 그 이유가 이 글의 핵심입니다.
출처: Self-Improving Agents Still Need Humans – goose 공식 블로그
리더보드 1등이 좋은 에이전트를 뜻하지 않는 이유
영국 경제학자 찰스 굿하트의 이름을 딴 “굿하트의 법칙”이 있습니다. 어떤 측정값이 목표가 되는 순간, 그 측정값은 더 이상 좋은 측정값이 아니게 된다는 것입니다. goose 팀은 코딩 에이전트 벤치마크가 이 함정에 빠지기 거의 완벽한 구조라고 봅니다. 과제가 공개돼 있고, 결과는 하나의 숫자로 나오며, 리더보드는 어느새 특정 벤치마크에만 맞춰 최적화된 도구들로 채워집니다. 의도하지 않았더라도 그렇게 됩니다.
그래서 goose 팀은 업계 표준인 Terminal-bench를 쓰되, 점수 자체를 목표로 삼지 않습니다. 리더보드는 에이전트의 전반적 능력을 보여주는 잡음 섞인 신호일 뿐이고, 진짜 의미 있는 신호는 실패의 패턴이라고 봅니다. goose가 계속 막히는 지점, 혹은 goose는 실패했는데 다른 도구는 성공한 지점 말이죠. 가장 강한 모델 대신 Sonnet 같은 모델로 벤치마크를 돌리는 이유도 여기 있습니다. 점수를 키우려는 게 아니라, 에이전트에게 어떤 지원이 부족한지 보려면 실패가 충분히 남아 있어야 하기 때문입니다.
자기개선 루프는 어떻게 도는가
goose 팀이 신뢰하는 루프는 다음 단계로 작동합니다.
- 벤치마크를 실행한다.
- 한 도구는 성공하고 다른 도구는 실패한 과제를 goose에게 비교시키고, 그 차이를 구체적으로 설명하게 한다.
- 사람이 그런 실패 몇 개를 가로질러 보고, 일반적인 교훈이 무엇인지 판단한다.
- 그 교훈을 더 넓은 개선으로 goose에게 구현시킨다.
여기서 비교 분석의 결과물은 추상적인 점수가 아니라 작동 메커니즘에 대한 설명입니다. “A는 이미지를 알아챘는데 B는 끝까지 열어보지 않았다”거나 “A는 올바른 파일이 생기자 멈췄는데 B는 그게 망가질 때까지 계속 고쳐 썼다” 같은 식입니다. 무엇이 성패를 갈랐는지를 사람이 읽고 판단할 수 있는 형태로 만드는 것이죠.
사람이 빠지면 루프가 무너진다
3단계의 사람이 핵심입니다. 이 단계가 없으면 자기개선 에이전트는 과제 하나하나마다 전용 Skill을 만들어 버리는 식으로 도망갈 수 있습니다. goose 팀의 표현을 빌리면, 에이전트도 사람만큼 게으릅니다. 한 과제만 통과시키면 되는 좁은 해법을 택하기 쉽다는 뜻입니다. 사람이 여러 실패를 묶어 “이건 결국 이런 일반적 약점이다”라고 짚어줘야, 한 과제의 실패가 아직 보지 못한 과제에까지 도움이 되는 능력으로 바뀝니다.
이 루프로 goose 팀이 실제로 찾아 고친 약점이 두 가지입니다. 하나는 goose가 답을 낼 정보를 이미 충분히 모았는데도 멈추지 않고 계속 탐색하던 문제입니다. 결론에 거의 다 와서도 마무리하지 않고 계속 들쑤시다가 정해진 턴을 다 써버려 실패하곤 했죠. 자신이 대화의 어디쯤 와 있는지 모르면 멈출 이유가 없는 겁니다. goose 팀은 모델이 방향을 잃지 않도록 주입하는 맥락 정보에 ‘턴 수 인식’을 추가해, 이제 goose가 마무리할 때를 알게 했습니다.
다른 하나는 goose가 디스크에 있는 이미지를 읽는 능력을 잃어버린 문제였습니다. 대화에 이미지를 끌어다 놓는 방식을 개선하는 과정에서, 디스크 이미지를 읽는 도구를 실수로 함께 지워버린 것이죠. 벤치마크에서는 goose가 모델의 시각 능력을 쓰지 않고 파이썬 이미지 라이브러리로 이미지를 분석하려는 모습으로 드러났습니다. 성공한 실행은 이미지를 직접 봤고 실패한 실행은 우회하려 했기 때문에, 비교를 통해 문제가 한눈에 드러났습니다.
벤치마크가 버그 리포트가 될 때
두 약점을 고치자 벤치마크 점수도 올랐지만, 더 중요한 건 두 수정 모두 일상적인 사용에서 goose를 낫게 만든다는 점입니다. 끝낼 때 엉뚱하게 헤매지 않고, 디스크에 놓인 이미지 파일을 다시 볼 수 있게 됐으니까요.
여기서 goose 팀이 던지는 관점이 인상적입니다. 벤치마크가 유용해지는 순간은 그것이 리더보드이기를 멈추고 버그 리포트가 되는 때라는 것입니다. 점수 경쟁의 대상이 아니라, 약점을 찾아내는 진단 도구로 쓰일 때 비로소 값어치를 한다는 뜻이죠. 자기개선이라는 이름이 붙은 자동화 속에서도, 무엇이 진짜 개선이고 무엇이 숫자놀음인지를 가르는 일은 아직 사람의 몫으로 남아 있습니다.

답글 남기기