마이크로소프트, 9명이 하루 1,211개 PR 병합...AI 에이전트로 '생산성 4배' 달성
마이크로소프트가 Copilot Cowork 개발팀의 엔지니어링 사례를 공개했다. 9명이 10월 한 날에 1,211개 PR을 병합하고, 월간 PR을 257개에서 2,754개로 10배 증가시킨 배경에는 AI 에이전트와 인간의 명확한 역할 분담, 보안 아키텍처, 자동화된 검증 시스템이 있었다. 공개 후 Python을 Rust로 전환한 '생애 마이그레이션'의 성공도 이 원칙들을 증명한다.

마이크로소프트가 AI 에이전트를 생산 환경에서 대규모 투입하는 방법을 공개했다. 지난 10월 21일, 9명의 엔지니어가 Copilot Cowork 백엔드에 하루 만에 1,211개의 풀 리퀘스트(PR)를 병합했는데, 이는 정규 소프트웨어 팀이 도달할 수 없는 속도다. AI 에이전트가 대부분의 코드를 작성했지만, 인간 엔지니어는 명확한 경계 안에서 검증과 최종 결정권을 유지했다.
Copilot Cowork는 마이크로소프트가 개발한 에이전트 실행 계층(agentic execution layer)으로, 사용자를 대신해 다단계 워크플로를 자동 수행하는 도구다. 1월 13일 첫 커밋부터 10월까지 약 10개월간 개발돼 6월 16일 전 세계 일반 공개(GA)에 이르렀다. 놀라운 점은 공개 후에도 Python 런타임을 Rust로 전환했다는 점이다. 시스템이 살아 움직이는 와중에도 에이전트 기반의 메이저 아키텍처 변경을 해낸 것이다.
AI와 인간의 역할 분담이 핵심
마이크로소프트 팀이 월 PR 병합 수를 1월 257개에서 5월 2,754개로 10배 이상 증가시킨 비결은 무엇인가. Microsoft의 공식 엔지니어링 블로그에 공개한 6가지 레슨에서 그 답을 찾을 수 있다.
첫째, 코드 전에 마크다운 명세를 작성하는 것이다. 초기 실험에서 팀은 에이전트가 구현 속도보다 명확한 요구사항 정의가 훨씬 느린다는 사실을 발견했다. 모호한 요청은 '그럴듯한' 코드를 만들어내지만, 며칠 뒤 동작 오류로 드러나 재작업으로 이어진다. 명확한 명세는 구현 시간을 단축시키는 것을 넘어 전체 개발 속도를 배로 높인다. 이 규칙은 지금까지 변하지 않았다.
둘째, 에이전트는 좁은 범위의 작업에만 집중시킨다. 초기에 하나의 에이전트가 여러 작업을 처리하도록 했을 때보다, 각 에이전트를 하나의 명확한 태스크에만 투입했을 때 오류가 급감했다. 또한 작업의 복잡도에 따라 모델을 선택적으로 배치했다. 고도의 추론이 필요한 작업에는 능력이 뛰어난 모델을, 단순한 구현에는 빠르고 저렴한 모델을 쓰는 식으로 품질과 비용을 최적화했다.

'신뢰 경계' 아키텍처가 보안 기반
핵심은 보안 아키텍처다. Copilot Cowork의 에이전트 컨테이너는 사용자 자격증명을 갖지 않는다. 에이전트가 할 수 있는 모든 요청은 컨테이너 외부의 신뢰할 수 있는 호스트를 거쳐야 하고, 호스트가 ID, 정책, 승인 및 감사를 관리한다. 에이전트는 자유롭게 계획을 세우고 어떤 작업이든 요청할 수 있지만, 실제 실행 권한은 호스트에만 있다.
이 설계는 이미 프로토타입 단계에서 구현되어 나중에 고도화하는 것보다 훨씬 수월했다. 또한 예상치 못한 이점을 제공했다. 에이전트와 호스트 사이에 명확한 인터페이스가 있었기에, 전체 호스트를 나중에 교체하는 것도 에이전트 코드를 건드리지 않고 가능했다. 실제로 Python에서 Rust로의 마이그레이션도 이 구조 덕분에 실현됐다.

자동화된 코드 리뷰가 병목 해소
세 번째 레슨은 검사가 실제로 검사한 내용을 증명하게 하는 것이다. AI 에이전트가 대부분의 코드를 쓰면, 9명의 엔지니어가 모든 변경사항을 읽을 수 없다. 인간 리뷰는 빠르게 병목이 되었다.
그래서 각 엔지니어가 자신의 리뷰 스타일을 모델로 삼아 리뷰 봇을 구축했다. 봇들이 서로 경쟁하면서, 한 봇이 놓친 문제를 다른 봇이 잡으면 그 봇에 새로운 규칙이 추가됐다. 결과적으로 각 리뷰 봇은 1만 세대를 거쳐 자신이 놓친 오류를 반복해서 학습했다. 지금은 PR 제출 후 평균 약 4분 30초 내에 유용한 첫 리뷰가 도착한다.
보다 느리지만 전문화된 추가 검사들이 뒤따른다. 호출 그래프를 순회하며 연결되지 않은 코드를 찾거나, 변경사항을 되돌려도 여전히 통과하는 테스트를 탐지하는 리뷰어들이 있다. 중요한 점은 **"검사 결과"만 아니라 "그것이 실제로 검사했는가"**를 추적한다는 것이다.

'생애 마이그레이션' 성공이 증명
이 모든 레슨을 시험대에 올린 프로젝트가 Python에서 Rust로의 런타임 전환이었다. 9월 23일부터 10월 10일까지 약 2주 반에 걸쳐 실행됐으며, 그 와중에도 Copilot Cowork는 고객사들을 위해 24/7 작동했다. 보안 경계 아키텍처와 자동화된 테스트, 명확한 명세가 있었기에 가능한 일이었다.
마이크로소프트는 이를 "프론티어 개발팀처럼 빌드하기"라고 부른다. 속도를 유지하면서도 신뢰성, 보안, 비용을 동시에 확보하는 방식이다. 인간과 AI의 경계를 명확히 하고, 기계는 제안하게 하되 인간이 최종 결정하는 구조. 이것이 생성형 AI 시대의 엔지니어링 팀이 나아가야 할 방향으로 보인다.
편집 안내 | 이 기사는 AI 기술을 활용하여 글로벌 뉴스 소스를 분석·종합한 후, AIB프레스 편집팀의 검수를 거쳐 발행되었습니다. 정확한 정보 전달을 위해 노력하고 있으며, 원문 출처를 함께 제공합니다.
AI·테크 핵심 뉴스, 매주 한 통으로
한 주의 글로벌 AI·IT 뉴스 중 꼭 알아야 할 것만 골라 보내드립니다. 광고 없음, 언제든 해지.


