Cursor Agent Swarms and Model Economics

Cursor Agent Swarms and Model Economics

계층형 스웜은 비용을 낮추고 정확성을 높인다

Cursor의 에이전트 스웜 연구에 따르면, 작업을 계층적으로 분해하여 고수준 계획과 저수준 실행을 분리하면 소프트웨어 엔지니어링 결과가 크게 향상되고 연산 비용이 감소한다. 문서만을 이용해 Rust로 SQLite를 재구축하는 벤치마크 작업에서, 새로운 "planner‑worker" 스웜 아키텍처는 모든 모델 구성에서 이전 버전을 능가했으며, 일부 설정에서는 sqllogictest 스위트에서 100% 통과율을 기록했다.

Planner‑Worker 아키텍처

대규모 기술 작업은 트리 구조로 조직되며, 루트 목표가 재귀적으로 기본 작업 단위로 나뉜다. 스웜은 이 구조를 관리하기 위해 두 가지 뚜렷한 역할을 활용한다:

  • Planner Agents: 최첨단 모델로 구동되며, 목표를 여러 조각으로 나누고 구현은 직접 하지 않고 위임한다.
  • Worker Agents: 더 빠르고 비용이 적게 드는 모델로 구동되며, 위임받은 구체적인 작업을 실행한다.

이러한 분리는 단일 에이전트 시스템에서 흔히 발생하는 "컨텍스트 드리프트"를 방지한다. 모델이 세부 사항에 집중하면서 전역 목표를 놓치거나, 큰 그림을 유지하려다 구현이 부실해지는 상황을 피한다. 역할을 격리함으로써 플래너는 저수준 잡음에서 자유로운 컨텍스트를 유지하고, 워커는 전체 컨텍스트 윈도우를 좁은 작업에 전념할 수 있다.

대규모 협업 문제 해결

수백 개의 동시 에이전트를 확장하면 인간 엔지니어링 팀에서는 드물게 나타나는 실패 모드가 발생한다. 초당 1,000 커밋이라는 피크 처리량을 다루기 위해 Cursor는 특정 협업 메커니즘을 구현한 맞춤형 버전 관리 시스템(VCS)을 개발했다:

설계 및 충돌 관리

  • Split‑Brain Design: 두 플래너가 같은 개념을 다르게 구현하는 것을 방지하기 위해, 플래너는 설계 결정을 중앙에서 내리고 동일한 질문에 대해 두 개의 하위 트리가 접근하지 않도록 한다.
  • Planner Contention: 플래너 간 의견 차이가 있을 경우, 공유 설계 문서에 결정을 기록한다. 코드는 컴파일 시점에 검증된 참조를 통해 이 문서에 의존하며, 조정자는 문서를 병합해 해결 사항을 하위로 전파한다.
  • Merge Conflicts: 중립적인 제3자 에이전트가 워커 간 충돌을 중재한다. 이는 병합 큐와 유사한 역할을 한다.
  • Megafiles: 파일이 과도하게 커져 시스템을 압박하는 것을 방지하기 위해, 워커는 과대 파일을 표시하고 외부 에이전트가 이를 더 작은 모듈로 분해한다.
  • Ossification: 에이전트가 핵심 코드 변경을 회피하지 못하도록 시스템은 "의도적인 파손"을 허용한다. 에이전트는 핵심 코드를 패치하고 이유 주석을 남길 수 있으며, 컴파일러는 모든 종속 에이전트가 새로운 설계에 맞게 작업을 업데이트하도록 강제한다.

모델 경제학: 최첨단 계획 vs. 효율적 실행

실험 데이터에 따르면, 최첨단 수준의 지능은 고수준 조정, 설계 결정, 모호성 해소에 주로 필요하고 실제 코딩 자체에는 크게 필요하지 않다. 이는 하이브리드 모델 조합을 사용함으로써 막대한 비용 절감을 가능하게 한다.

모델 믹스 비용 비교

SQLite 실험에서 다양한 구성은 비슷한 품질 결과를 내면서도 비용 차이는 크게 나타났다:

Model Mix Role Distribution Relative Cost
GPT-5.5 Planner & Worker Highest (~$10,565)
Opus 4.8 / Composer 2.5 Planner / Worker Lowest (~$1,339)

워커가 전체 토큰의 대부분(대부분 90% 이상)을 차지하지만, 비용은 플래너에 의해 좌우된다. Opus 4.8/Composer 2.5 하이브리드에서는 플래너가 생성한 토큰이 적음에도 전체 비용의 2/3를 차지했으며, 워커 군은 전체 지출의 1/3만으로 대부분의 작업을 수행했다.

SQLite 실험 결과

스웜을 검증하기 위해 Cursor는 원본 소스 코드나 인터넷 접근 없이 835페이지 분량의 SQLite 매뉴얼을 Rust로 구현하도록 과제했다.

성능 향상

Grok 4.5를 사용한 기존 스웜 하니스와 새로운 스웜을 비교한 결과 효율성 차이가 크게 드러났다:

  • Commit Volume: 기존 스웜은 2시간에 68,000개의 커밋을 생성했으며 대부분이 "바쁜 일" 혹은 churn이었다. 새로운 스웜은 훨씬 목표 지향적이었다.
  • Merge Conflicts: 기존 실행에서는 70,000건 이상의 충돌이 발생했지만, 새로운 실행에서는 4시간 동안 1,000건 미만으로 감소했다.
  • Code Efficiency: Fable 5 믹스에서 새로운 스웜은 엔진 코드 9,908줄로 작업을 완료했으며, 기존 스웜은 동일 결과를 위해 64,305줄을 사용했다.

커뮤니티 시각 및 비판

기술 동료들 사이의 논의는 이 접근법의 잠재력과 한계를 동시에 조명한다:

"통합 개념 자체가 진짜 도전 과제라고 생각합니다. 괜찮은 문서만으로 새로운 언어에 코드를 다시 쓰는 것은 어려우면서도 AI가 엔지니어를 대체할 수 있는 정도를 측정하는 데는 그다지 유용하지 않은 방법입니다."

비평가들은 SQLite 소스 코드와 여러 Rust 재작성(예: Turso)의 존재가 모델 학습 데이터에 포함됐을 가능성을 지적하며, 실험이 순수 추론이라기보다 기억에 의존했을 수 있다고 주장한다. 또 다른 의견은 협업 하니스는 인상적이지만, 기존 소프트웨어를 재현하는 것이 아니라 완전히 새로운 무언가를 구축하는 능력이 에이전트 스웜의 주요 과제라는 점이다.


SUMMARY: Cursor는 계층적인 'planner‑worker' 에이전트 스웜이 SQLite를 Rust로 재구축할 수 있음을 보여주며, 최첨단 모델과 효율적인 모델을 전략적으로 혼합함으로써 높은 정확도와 크게 낮은 비용을 동시에 달성한다.

TITLE: Cursor Agent Swarms and Model Economics

Sources