포스트

Software Factory: 코드 리뷰 없이 AI 에이전트로 소프트웨어를 만드는 방법

목차

  1. 개요
  2. Software Factory의 핵심 원칙
  3. 핵심 과제: AI가 만든 코드를 어떻게 검증하는가
  4. 시나리오 테스팅
  5. Digital Twin Universe
  6. 부가 기법들
  7. 오픈소스 공개물
  8. 경제적 고려사항
  9. 결론
  10. Reference

개요

StrongDM의 AI 팀이 “Software Factory”라는 완전 자동화된 개발 방식을 도입했다. 이 방식에서는 코딩 에이전트가 소프트웨어를 작성하고, 테스트하고, 배포하며 인간의 코드 리뷰가 필요하지 않다. Simon Willison이 이 접근법을 분석한 글에서 Dan Shapiro가 명명한 “Dark Factory” 수준의 AI 도입이라고 표현했다. 코드 리뷰 없이도 품질을 보장할 수 있다는 주장은 논란의 여지가 있지만, 그 안에 담긴 개념적 혁신은 주목할 만하다.

Software Factory의 핵심 원칙

StrongDM AI 팀은 세 가지 핵심 규칙 아래 운영된다.

규칙내용
규칙 1코드는 인간이 작성하지 않는다
규칙 2코드는 인간이 리뷰하지 않는다
규칙 3엔지니어당 일일 토큰 소비가 1,000달러를 초과해야 한다

세 번째 규칙은 경제적 지속 가능성에 대한 의문을 불러일으킨다. 하지만 Willison은 비용과 별개로 이 개념적 혁신 자체가 탐구할 가치가 있다고 강조했다.

이 접근법은 2024년 10월 Claude 3.5의 에이전틱 코딩 신뢰성이 향상되면서 시작되었다. 2024년 12월에는 Cursor의 YOLO 모드를 통해 “장기 코딩 성능이 명백하게” 확인되었고, 2025년 7월에 정식 팀이 출범했다.

핵심 과제: AI가 만든 코드를 어떻게 검증하는가

이 방식의 근본적인 문제는 명확하다. 코드와 테스트 모두 AI 에이전트가 작성할 때, 소프트웨어가 제대로 동작하는지 어떻게 검증하는가? 에이전트는 “assert true”와 같은 오도하는 테스트를 작성할 수 있기 때문에, 전통적인 QA 접근법은 실패한다. Willison은 이것이 현대 소프트웨어 개발에서 가장 중대한 질문이라고 지적했다.

시나리오 테스팅

StrongDM은 에이전트가 작성한 단위 테스트에 의존하는 대신 시나리오 기반 검증을 채택했다.

시나리오를 홀드아웃 세트로 활용

머신러닝에서 예약된 테스트 데이터처럼, 시나리오를 코드베이스와 별도로 저장한다. 에이전트가 개발 중에 시나리오를 “볼 수 없도록” 분리하는 것이 핵심이다. 이는 외부 QA 팀이 테스트하는 것과 유사한 효과를 만든다.

만족도 지표

기존의 불리언 성공 기준(“테스트 통과 여부”)에서 확률적 측정으로 전환했다. “관찰된 시나리오 경로 중 사용자를 만족시키는 비율이 얼마인가?”를 측정하는 방식이다.

Digital Twin Universe

가장 독특한 혁신은 서드파티 서비스의 행동 클론을 만드는 Digital Twin Universe(DTU)이다. StrongDM은 Okta, Jira, Slack, Google Docs/Drive/Sheets의 복제본을 구축했다. API, 에지 케이스, 관찰 가능한 동작까지 모두 재현한 것이다.

핵심 전략

공개된 SDK 라이브러리를 호환성 타겟으로 사용하여 공식 서비스와 100% 충실도를 목표로 한다.

DTU의 장점

장점설명
대규모 테스팅프로덕션 한도를 초과하는 규모로 테스트 가능
안전한 장애 테스트실제 서비스에 영향 없이 장애 모드 테스트
비용 절감API 비용이나 속도 제한 없이 시간당 수천 개 시나리오 실행

부가 기법들

StrongDM 팀은 추가적인 방법론도 문서화했다.

Gene Transfusion

기존 시스템에서 패턴을 추출하여 다른 곳에서 재사용하는 기법이다.

Semports

프로그래밍 언어 간 코드를 직접 포팅하는 방식이다.

Pyramid Summaries

에이전트가 빠르게 요약을 열거하고 세부사항으로 확대할 수 있도록 여러 추상화 수준을 제공하는 기법이다. 에이전트에게 컨텍스트를 효율적으로 전달하기 위한 방법이다.

오픈소스 공개물

Attractor

비대화형 코딩 에이전트로, 사양만으로 공개되었다. 세 개의 마크다운 파일이 시스템을 설명하며, 사용자가 선택한 코딩 에이전트에 이 사양을 입력하면 된다.

CXDB

“AI Context Store”로 불리는 이 도구는 대화 이력과 도구 출력을 불변 DAG에 저장한다. Rust(16,000줄), Go(9,500줄), TypeScript(6,700줄)로 작성되었다. 전통적인 로깅 메커니즘보다 정교한 방식으로 에이전트의 컨텍스트를 관리한다.

경제적 고려사항

엔지니어당 일일 1,000달러 이상의 토큰 비용은 상당한 수준이다. 이 방식은 충분히 수익성 있는 제품에서만 경제적으로 성립할 수 있다. 또한 경쟁사가 AI를 활용해 기능을 몇 시간 내에 복제할 수 있다면, 비즈니스 차별화를 어떻게 유지할 것인지도 중요한 질문이다. Willison은 이러한 경제적 우려에도 불구하고, AI가 코드와 테스트를 모두 작성할 때 소프트웨어가 동작함을 증명하는 문제는 비용과 무관하게 중대한 과제라고 강조했다.

결론

StrongDM의 Software Factory는 AI 기반 개발의 극단적인 형태를 보여준다. 인간이 코드를 작성하지도, 리뷰하지도 않는 이 방식은 시나리오 테스팅과 Digital Twin Universe라는 독창적인 해결책을 제시한다. 경제적 지속 가능성과 코드 신뢰성이라는 과제가 남아 있지만, “AI가 만든 코드를 어떻게 검증하는가”라는 질문은 모든 AI 기반 개발 팀이 직면할 핵심 과제다. 이 접근법의 성공 여부와 관계없이, 그 안에 담긴 아이디어들은 소프트웨어 개발의 미래를 고민하는 데 중요한 참고점이 된다.

Reference