수천 개의 에이전트가 수행하는 작업을 일관되게 통합하기
Consistently unifying work from thousands of agents
핵심 요약
수천 개의 에이전트를 활용한 대규모 작업에서 결과의 일관성을 유지하고 최적화하는 방법론을 공유합니다.
- 에이전트 작업 최적화 — 수천 개의 에이전트가 동일한 방법론과 품질로 작업하도록 유도함
- 예측 모델링 사례 — 항구 물동량 예측 등 특정 도메인에서 에이전트 간 일관된 의견 반영
- 작업의 동질성 — 예측 작업의 유사성을 활용해 내부 벤치마크의 신뢰도를 높임
- 성능 검증 — 과거 데이터를 활용한 재현 테스트와 실제 예측 토너먼트에서 성과 입증
지금 맡은 일 하면서 사용자 요청 하나당 에이전트 수천 개씩 돌리는 워크로드 최적화에 시간을 엄청 쏟았거든. 목표는 간단해. 모든 워커가 내놓는 결과물의 응집력을 높이는 거지. 예를 들어, 데이터셋의 각 행마다 에이전트를 병렬로 돌려서 온라인 정보를 찾게 한다고 쳐봐. 이때 모든 에이전트가 똑같은 방법론, 똑같은 단위, 그리고 가급적이면 똑같이 질 좋은 웹사이트를 참고하게 만들고 싶은 거잖아. 근데 이게 일반적인 상황에선 생각보다 훨씬 골치 아파. 특히 변경 사항 하나 테스트할 때마다 수백에서 수천 달러씩 깨지면 더더욱 그렇지.
최근에 '예측(forecasting)'이라는 특정 유스케이스에 딱 맞는 솔루션을 하나 만들었어. 예를 들어 특정 지역 항구들의 선박 처리량을 예측하는 거지. 예측 하나를 돌릴 때 에이전트는 무역 정책 변화, 파업, 항로 봉쇄 같은 변수들을 암묵적으로 모델링해. 이런 메커니즘들이 해당 지역 모든 항구의 예측에 깔려 있으니까, 이런 사건들이 터질 확률에 대해 일관된 의견이 모든 개별 예측에 '반영'되어야 하는 셈이지.
이런 좁은 범위의 케이스가 일반적인 대규모 병렬 워크로드보다 다루기 훨씬 쉽다고 느낀 이유는 몇 가지가 있어.
-
작업이 훨씬 균일해. 모든 예측이 비슷한 구조를 따르니까, 내부 벤치마크를 개선하면 실제 사용자 유스케이스를 훨씬 더 잘 대변하게 돼.
-
모든 예측은 결국 같은 세상의 역학을 이해하려는 시도야. 즉, 과거의 모든 예측을 새로운 예측에 활용할 수 있다는 거지(물론 데이터가 낡았으면 감점해야겠지만).
-
일관성 요구 사항이 데이터의 특정 하위 집합에만 국한되는 경우가 많아.
-
이게 후처리(post-processing) 단계에서 돌아가거든. 그래서 원시 에이전트 작업에 쓴 수천 달러를 실험할 때마다 다시 쓸 필요가 없어(실행 중간에 에이전트끼리 통신하는 방식이랑은 다르지).
구체적으로 말하자면, 우리 '과거 예측(past-casting)' 에이전트 환경에서는 설계를 수정하고 시간을 몇 달 전으로 되돌려서 새로운 시스템이 어떻게 작동하는지 바로 볼 수 있었어. Briar 지표는 0.002 정도 개선됐고, 개선된 이유도 아주 명확하게 해석 가능했지. 우리는 이런 변경 사항들을 실제 예측 토너먼트에서 실시간으로 평가하고 있어. 현재 Metaculus 예측 토너먼트 몇 군데에서 1위를 달리고 있고, 실제 돈이 오가는 시장에서도 검증된 기록을 가지고 있지. FutureSearch라는 이름으로 직접 확인해 봐도 돼. 지금은 다양한 도메인에 걸쳐 수천 개의 예측을 쌓아둔 상태야. 새로운 예측이 나올 때마다 세상에 대한 이해도가 하나씩 더해지고, 이게 시간이 지날수록 복리로 쌓이는 거지.
초대규모 에이전트 워크로드 운영하면서 궁금한 거 있으면 뭐든 물어봐!


