AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

Cursor, AI 에이전트 수백 개로 100만 줄 코드 작성 성공한 비법

AI에게 “웹 브라우저를 밑바닥부터 만들어봐”라고 시키면 어떻게 될까요? Cursor 팀이 수백 개의 AI 에이전트를 동시에 돌려 이 불가능해 보이는 실험을 해냈습니다. 결과는 놀라웠습니다. 일주일 만에 100만 줄이 넘는 코드가 작성됐고, 실제로 작동하는 브라우저가 완성됐죠.

사진 출처: Cursor Blog

AI 코딩 도구 Cursor의 개발팀이 대규모 자율 코딩 에이전트 실험 결과를 공개했습니다. 수백 개의 AI 에이전트가 몇 주 동안 협업하며 보통 사람 팀이 몇 달 걸릴 프로젝트를 완수하는 데 성공했다는 내용입니다. 핵심은 에이전트들을 “어떻게 조직하느냐”였습니다.

출처: Scaling long-running autonomous coding – Cursor Blog

평등한 에이전트는 왜 실패했나

처음엔 단순했습니다. 여러 에이전트를 동시에 돌리되, 각자 알아서 조율하게 하면 되지 않을까? Cursor 팀은 모든 에이전트에게 동등한 권한을 주고, 공유 파일을 통해 “지금 뭐 하는지” 서로 확인하며 작업을 나눠 갖게 했습니다.

결과는 참담했습니다. 에이전트들이 작업 충돌을 막으려고 락(lock)을 걸었는데, 락을 너무 오래 잡고 있거나 아예 풀지 않는 경우가 속출했죠. 20개 에이전트를 돌려도 실제로는 2~3개만 일하는 꼴이었습니다. 락을 기다리느라 대부분이 놀고 있었거든요.

락 문제를 해결해도 더 근본적인 문제가 남았습니다. 계층 구조가 없으니 에이전트들이 지나치게 조심스러워졌어요. 어려운 작업은 피하고 쉽고 안전한 변경만 반복했습니다. 책임지고 끝까지 구현하는 에이전트가 없었죠. 일은 계속 돌아가는데 진짜 진척은 없는 상황이었습니다.

계획자와 실행자로 역할 분리

해답은 조직을 만드는 것이었습니다. 모두가 모든 걸 하려 하지 말고, 명확히 역할을 나누는 거죠.

Planner(계획자): 코드베이스를 계속 탐색하며 해야 할 작업을 만들어냅니다. 특정 영역이 복잡하면 하위 계획자를 생성해서 더 깊이 파고들게 할 수도 있어요. 계획 자체가 병렬적이고 재귀적으로 이뤄지는 거죠.

Worker(실행자): 주어진 작업만 집중해서 완료합니다. 다른 워커와 조율할 필요도 없고, 큰 그림을 걱정할 필요도 없어요. 그냥 자기 일만 끝까지 해내고 코드를 푸시합니다.

각 사이클이 끝나면 판단자(judge) 에이전트가 계속 진행할지 결정하고, 다음 반복이 새롭게 시작됩니다. 이 방식으로 조율 문제가 거의 사라졌고, 에이전트가 터널 비전에 빠지지 않으면서도 대규모 프로젝트를 처리할 수 있게 됐습니다.

실제로 뭘 만들었나

웹 브라우저 구축 프로젝트는 거의 일주일 동안 돌아갔습니다. 1,000개 파일에 100만 줄이 넘는 코드가 작성됐고, GitHub에서 소스를 확인할 수 있습니다. 코드베이스가 엄청나게 커졌는데도 새 에이전트가 들어와서 이해하고 작업을 이어갈 수 있었어요. 수백 개의 워커가 동시에 같은 브랜치에 푸시했는데 충돌은 거의 없었습니다.

더 인상적인 사례는 Cursor 자체 코드베이스를 Solid에서 React로 마이그레이션한 실험이었습니다. 3주 넘게 돌아가며 +26만 줄/-19만 줄을 수정했고, 실제로 머지 가능한 수준의 결과물이 나왔습니다.

또 다른 실험에서는 곧 출시될 제품의 성능을 개선했습니다. 에이전트가 Rust로 효율적인 버전을 작성해 비디오 렌더링 속도를 25배 빠르게 만들었고, 커서를 따라가는 자연스러운 줌/팬 효과와 모션 블러까지 추가했죠. 이 코드는 실제로 머지돼서 곧 프로덕션에 올라갈 예정입니다.

현재 진행 중인 프로젝트도 흥미롭습니다. Java LSP는 7,400번의 커밋으로 55만 줄, Windows 7 에뮬레이터는 14,600번의 커밋으로 120만 줄, 엑셀 클론은 12,000번의 커밋으로 160만 줄을 기록하고 있습니다.

프롬프트가 모델보다 중요했다

흥미로운 발견은 모델 선택보다 프롬프트가 더 결정적이었다는 점입니다. 에이전트들이 협력하고, 이상한 행동을 피하고, 며칠 동안 집중을 유지하게 만드는 데는 수많은 시행착오가 필요했습니다. 하네스와 모델도 중요하지만, 어떻게 지시하느냐가 더 중요했어요.

물론 모델 차이도 있었습니다. 장기 작업에선 GPT-5.2가 Opus 4.5보다 훨씬 끈질겼어요. Opus는 빨리 포기하고 쉬운 길을 택했습니다. 더 재밌는 건 GPT-5.2가 코딩 전용 모델인 GPT-5.1-codex보다 계획자 역할을 더 잘했다는 거예요. 역할마다 적합한 모델이 따로 있었습니다.

개선은 주로 복잡한 걸 빼면서 나왔습니다. 품질 관리용 통합자 역할을 만들었다가 오히려 병목만 생겨서 제거했어요. 워커들이 이미 충돌을 스스로 해결할 수 있었거든요. 시스템이 단순할수록 더 잘 작동했습니다.

아직 갈 길은 멉니다. 에이전트가 때때로 지나치게 오래 돌고, 방향을 잃지 않으려면 주기적으로 새로 시작해야 합니다. 하지만 “에이전트를 더 많이 투입하면 자율 코딩을 확장할 수 있는가”라는 질문에 대한 답은 긍정적입니다. 이 실험은 개발자가 무엇을 만들지 고민하고, AI가 실제로 만드는 방식으로 소프트웨어 개발이 바뀔 수 있다는 걸 보여줍니다.

참고자료:


AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다