멀티 에이전트: 팬아웃, 적대자, 종합
별개의 과업들에 걸쳐서가 아니라 하나의 과업 안에서 돌아가는 "여러 에이전트"의 두 번째 갈래가 있다. 한 에이전트가 모든 것을 하는 대신, 역할을 나눈다:
- 너비를 위한 팬아웃. 여러 에이전트가 같은 문제를 다른 각도에서 공략하거나 — 큰 코드베이스의 다른 부분을 탐색한 다음 — 보고한다. 커버리지를 원할 때 유용하다: "이 폐기 예정 함수를 호출하는 모든 곳을 찾아라"는 잘 병렬화된다.
- 적대적 리뷰어. 한 에이전트가 작성한다. 두 번째 에이전트의 유일한 임무는 첫 번째의 출력을 공격하는 것이다 — 버그, 놓친 엣지 케이스, 처리되지 않은 오류를 찾는다. "이것이 틀렸다고 가정하고 왜 그런지 알아내라"는 지시로 디프를 향한 리뷰어는 작성자 에이전트가 스스로 납득해버린 것들을 잡아낸다.
- 종합. 마지막 패스가 발견 사항을 모아 하나의 일관된 결과를 만들어낸다 — 동작하는 코드와, 리뷰어가 무엇을 지적했고 어떻게 해결했는지에 대한 짧은 메모.
Reviewer agent brief:
You are reviewing a diff written by another agent. Assume it contains
at least one bug and find it. Specifically check:
- Does it actually satisfy the original goal, or just pass the tests?
- Edge cases: empty input, nulls, the largest realistic input.
- Anything deleted or changed that the task didn't ask for.
Report concrete problems with file and line. Do not rewrite the code —
just report. If you find nothing after a genuine look, say so plainly.
적대적 리뷰어는 에이전트 함대가 없는 혼자인 경우에도 갖춰둘 가치가 있다 — 어떤 변경의 작성자는 사람이든 AI든 그 결함을 찾기에 가장 부적합한 사람이기 때문이다. 적대적인 프롬프트로 한 번 더 돌아보는 것은 값싼 보험이다.