소프트웨어 팩토리와 에이전트 시대의 도래

1 day ago 4

  • StrongDM AI팀코드를 보지 않고도 고품질 소프트웨어를 만드는 Software Factory 개념을 주장
  • 명세/시나리오 기반으로 에이전트가 코드를 작성하고, 테스트 하네스를 실행, 인간의 검토 없이 수렴하는 비대화형 개발 방식
  • 코드는 사람이 작성하거나 검토해서는 안 되며, 엔지니어당 하루 최소 1,000달러 이상의 토큰 비용을 지출해야 소프트웨어 팩토리가 제대로 작동함
  • Claude 3.5 2차 개정판(2024년 10월)부터 장기 에이전트 코딩 워크플로우가 오류 누적 대신 정확성을 복리로 축적하기 시작하며 비대화형 개발 가능성이 확인됨
  • 기존 테스트 개념을 확장해 시나리오(scenario)만족도(satisfaction) 를 도입, LLM이 사용자 만족도를 확률적으로 평가하는 체계 구축
  • Digital Twin Universe(DTU) 를 통해 Okta, Jira, Slack 등 주요 SaaS를 복제해 대규모 검증을 수행하며, 프로덕션 한계를 초과하는 볼륨과 속도로 시나리오 검증 가능
  • 에이전트 시대는 소프트웨어 경제학을 근본적으로 변화시켜, 과거에는 경제적으로 불가능했던 고충실도 SaaS 복제본 구축이 이제 일상적 작업이 됨

Software Factory 개념

  • 명세(specs)시나리오(scenarios) 가 에이전트를 구동해 코드를 작성하고 검증하는 비대화형 개발 체계
    • 인간의 코드 작성 및 리뷰를 금지하고, 모든 개발 과정을 에이전트가 수행
    • 하루 엔지니어당 1,000달러 이상의 토큰 사용량을 기준으로 효율성을 측정
  • 이 접근법은 인간의 개입 없이 코드가 자동으로 생성·검증·수렴하는 자율적 소프트웨어 생산 환경 구축을 목표로 함

StrongDM AI 팀의 출범

  • 2025년 7월 14일 StrongDM AI 팀이 결성되어 비대화형 개발 실험을 시작
    • 참여자: Jay Taylor, Navan Chauhan, Justin McCarthy(공동 창립자 겸 CTO)
  • 2024년 말 Claude 3.5(10월 개정판) 이후 장기적 코드 작성의 정확도가 향상되어, 반복적 오류 누적 대신 정확도 축적(compounding correctness) 이 가능해짐
  • Cursor의 YOLO 모드를 통해 모델의 장기 코드 작성 능력이 명확히 드러남
  • 이전 모델에서는 LLM을 코딩 작업에 반복 적용 시 오해, 환각, 구문 오류, 버전 DRY 위반, 라이브러리 비호환 등 모든 종류의 오류가 누적되어 앱이 "붕괴"했음
  • Anthropic의 업데이트된 모델과 YOLO 모드가 결합되며 비대화형 개발 또는 성장한 소프트웨어의 첫 가능성 확인

핵심 원칙: 손 떼기

  • AI 팀의 첫날 첫 시간에 헌장 수립, 가장 중요한 원칙: "코드는 사람이 직접 작성하면 안 됨"
  • 초기에는 단순한 직관과 실험: 손으로 코드를 전혀 작성하지 않고 얼마나 멀리 갈 수 있는가?
  • 처음에는 한계 봉착, 테스트 추가 후 진전 시작
  • 에이전트가 즉각적 작업에 집착하며 지름길 선택: return true로 좁게 작성된 테스트는 통과하지만 실제 원하는 소프트웨어로 일반화되지 않음
  • 단순 테스트만으로는 부족, 통합 테스트, 회귀 테스트, 종단간 테스트, 행동 테스트로 확장 필요

테스트에서 시나리오와 만족도로 전환

  • 에이전트 시대의 반복 주제: 새로운 언어 필요, "테스트"라는 단어가 불충분하고 모호함
  • 코드베이스에 저장된 테스트는 코드에 맞춰 게으르게 재작성되거나, 코드가 테스트를 사소하게 통과하도록 재작성될 수 있음
  • 시나리오라는 용어를 재정의: 엔드투엔드 사용자 스토리를 나타내며, 코드베이스 외부에 저장(모델 훈련의 "홀드아웃" 세트와 유사), LLM이 직관적으로 이해하고 유연하게 검증 가능
  • 성장시키는 소프트웨어 자체가 에이전트 컴포넌트를 포함하므로, 성공 여부를 단순한 불리언 값 대신 확률적·경험적 만족도(satisfaction) 로 전환
    • 만족도: 모든 시나리오를 통과한 관찰된 궤적 중 사용자를 만족시킬 가능성이 있는 비율 정량화

Digital Twin Universe를 통한 시나리오 검증

  • 이전 체제에서는 통합 테스트, 회귀 테스트, UI 자동화로 "작동하는가?" 를 판단
  • 기존 신뢰할 수 있던 기법의 두 가지 한계 발견:
    • 테스트가 너무 경직적: 에이전트로 코딩하고 LLM과 에이전트 루프를 설계 프리미티브로 구축하므로, 성공 평가에 종종 LLM-as-judge 필요
    • 테스트가 보상 해킹에 취약: 모델의 부정행위에 덜 취약한 검증 필요
  • Digital Twin Universe(DTU) 가 해답: 소프트웨어가 의존하는 서드파티 서비스의 행동(behavioral) 클론
    • Okta, Jira, Slack, Google Docs, Google Drive, Google Sheets의 트윈 구축, API, 엣지 케이스, 관찰 가능한 행동 복제
    • DTU를 통해 프로덕션 한계를 훨씬 초과하는 볼륨과 속도로 검증 가능
    • 라이브 서비스에 대해서는 위험하거나 불가능한 실패 모드 테스트도 가능
    • 속도 제한 도달, 남용 탐지 트리거, API 비용 누적 없이 시간당 수천 개의 시나리오 실행 가능

비전통적 경제학

  • DTU를 통한 성공은 에이전트 시대(Agentic Moment)가 소프트웨어 경제학을 근본적으로 변화시킨 여러 방식 중 하나를 보여줌
    • 주요 SaaS 애플리케이션의 고충실도 클론 생성은 항상 가능했지만 경제적으로 실현 불가능했음
    • 여러 세대의 엔지니어가 테스트용 CRM의 전체 인메모리 복제본을 원했지만, 관리자에게 제안조차 하지 않음(거절 예상)
  • 소프트웨어 팩토리 구축자는 의도적 순진함(deliberate naivete) 실천 필요: Software 1.0의 습관, 관습, 제약을 찾아서 제거
    • DTU를 통해 6개월 전에는 상상할 수 없었던 것이 이제는 일상적 작업으로 루틴화

다음 읽어볼 것들

  • Principles : 에이전트를 이용한 소프트웨어 개발에 대한 우리의 믿음
    • 시드 → 검증 하네스 → 피드백 루프 구조로 소프트웨어를 성장시키며, 토큰이 연료 역할 수행
    • 모든 소프트웨어는 초기 시드 필요: 과거의 PRD나 명세서, 현재는 몇 문장, 스크린샷, 기존 코드베이스로도 가능
    • 검증 하네스는 종단간이어야 하며 실제 환경(고객, 통합, 경제성)에 최대한 근접해야 함
    • 출력 샘플을 입력으로 피드백하는 폐쇄 루프가 시스템의 자체 수정과 정확성 복리 축적 가능하게 함
    • 검증과 피드백 이론은 이해하기 쉽지만, 실무는 창의적이고 최첨단 엔지니어링 필요: 모든 장애물을 모델이 이해할 수 있는 표현으로 변환하는 방법 모색
  • Techniques : 이러한 원칙을 적용하기 위한 반복적인 패턴
    • Digital Twin Universe (DTU)
      • 중요한 서드파티 의존성의 외부 관찰 가능한 행동을 복제
      • 프로덕션 한계를 훨씬 초과하는 볼륨과 속도로 검증
      • 결정적이고 재생 가능한 테스트 조건 제공
    • Gene Transfusion
      • 에이전트를 구체적 예시에 지정하여 코드베이스 간 작동 패턴 이동
      • 좋은 참조와 쌍을 이룬 솔루션을 새로운 컨텍스트에서 재생산 가능
    • Filesystem
      • 모델이 저장소를 빠르게 탐색하고 파일 읽기/쓰기로 자체 컨텍스트 조정
      • 디렉토리, 인덱스, 온디스크 상태가 실용적 메모리 기반으로 작동
    • Shift Work
      • 대화형 작업과 완전히 명세화된 작업 분리
      • 의도가 완전할 때(명세, 테스트, 기존 앱), 에이전트가 왕복 없이 종단간 실행 가능
    • Semport
      • 의미론적으로 인식하는 자동화된 포팅, 일회성 또는 지속적 수행
      • 의도를 보존하면서 언어 또는 프레임워크 간 코드 이동
    • Pyramid Summaries
      • 여러 줌 레벨에서 가역적 요약
      • 전체 세부사항으로 다시 확장할 수 있는 능력을 잃지 않고 컨텍스트 압축
  • Products : 우리가 매일 사용하는 도구이며, 다른 사람들에게도 유용할 것이라고 생각하는 것들
    • CXDB 는 AI 에이전트를 위한 자체 호스팅 컨텍스트 저장소로, Turn DAG, blob 중복 제거, 동적 타입, 시각적 디버깅 제공
    • StrongDM ID 는 인간, 워크로드, AI 에이전트를 위한 아이덴티티 시스템으로 연합 인증과 경로 범위 공유 지원
    • Attractor 는 페이즈 그래프로 구조화된 비대화형 코딩 에이전트로, 작업이 완전히 명세화되었을 때 종단간 실행

Read Entire Article