cloudflare

에이전트 개발 수명주기가 Cloudflare에 도래했습니다 (새 탭에서 열림)

AI는 소프트웨어 구현을 가장 빠르고 저렴한 단계로 만들었지만, 그 결과 테스트·배포·운영·유지보수 단계가 감당하기 어려운 속도로 몰려들고 있다. 글은 인간 중심의 SDLC만으로는 에이전트가 생산하는 코드와 변경량을 처리할 수 없다고 주장하며, 전체 개발 과정을 에이전트 중심의 ADLC(Agent Development Lifecycle)로 재설계해야 한다고 제안한다. 이를 위해서는 에이전트가 코드 작성뿐 아니라 검증, 배포, 관측, 장애 대응, 개선까지 수행할 수 있는 소프트웨어 팩토리와 전용 플랫폼이 필요하다.

AI가 바꾼 소프트웨어 개발 생태계

  • 전통적인 SDLC는 다음 단계로 구성된다.
    • 계획(Plan)
    • 설계(Design)
    • 구현(Implement)
    • 테스트(Test)
    • 배포(Deploy)
    • 유지보수(Maintain)
    • 폐기(Retire)
  • AI는 기존에 가장 느리고 비용이 많이 들던 구현 단계를 급격히 빠르고 저렴하게 만들었다.
  • 그러나 구현 이후의 단계는 같은 속도로 자동화되지 않아 다음과 같은 병목이 발생한다.
    • 오픈소스 프로젝트에 쏟아지는 풀 리퀘스트와 이슈
    • 급증한 배포량을 처리해야 하는 운영 엔지니어
    • 검토·병합·배포·장애 대응을 담당하는 사람들의 과부하
  • 현재 많은 조직은 에이전트에게 코드 작성만 맡기고, 검증과 운영은 사람이 담당하는 불균형한 구조를 사용하고 있다.

SDLC에서 ADLC로의 전환

  • 글은 인간 중심의 SDLC를 에이전트 중심의 ADLC로 대체해야 한다고 주장한다.
  • ADLC의 목표는 에이전트가 단일 작업이 아니라 다음 전체 흐름을 자율적으로 처리하는 것이다.
    • 버그 리포트나 고객 요청 수집
    • 문제 재현과 원인 분석
    • 코드 수정
    • 테스트와 검증
    • 리뷰 및 병합
    • 배포와 모니터링
    • 운영 중 발생한 문제의 자동 triage와 수정
  • 현재는 사람이 각 SDLC 단계에서 에이전트를 지시하고 결과를 확인하는 방식이 대부분이다.
  • 소프트웨어 팩토리는 이러한 사람의 개입을 줄이고, 인간이 창의성·판단·고객 이해가 필요한 업무에 집중하도록 만드는 시스템이다.

소프트웨어 팩토리에 필요한 플랫폼 특성

에이전트가 전체 개발 프로세스를 운전하려면 기존의 인간용 개발 환경을 그대로 사용할 수 없으며, 각 작업이 다음 특성을 가져야 한다.

  • 프로그램화 가능성
    • ClickOps처럼 사람이 화면을 클릭해야 하는 작업은 에이전트에 적합하지 않다.
    • 모든 작업이 호출·디버깅·자동화 가능한 API를 제공해야 한다.
  • 수평 확장성
    • 여러 에이전트가 동시에 작업할 수 있어야 한다.
    • 각 에이전트가 운영 환경과 일치하는 독립적인 프리뷰 환경을 가져야 한다.
  • 재현 가능성
    • 특정 기기, 네트워크 상태, 국가별 IP 등 복잡한 조건에서 발생하는 버그도 재현할 수 있어야 한다.
    • 단순한 단위 테스트와 통합 테스트만으로는 부족하다.
  • 실시간·푸시 기반 동작
    • 사람이 대시보드를 확인하기를 기다리는 방식은 에이전트에 맞지 않는다.
    • 장애나 상태 변화가 발생하면 이벤트가 에이전트를 자동으로 호출해야 한다.
  • 원자성
    • 각각의 변경은 독립적으로 테스트·배포·관측·롤백 가능해야 한다.
    • 한 변경이 관련 없는 동작에 영향을 주지 않아야 한다.
  • 권한 관리
    • 에이전트에 운영 환경의 무제한 권한을 제공할 수는 없다.
    • 작업에 필요한 권한을 명확히 제한하면서도, 안전한 절차를 통해 추가 권한을 요청하거나 상승시킬 수 있어야 한다.
  • 자기 개선
    • 에이전트도 과거 작업과 운영 경험으로부터 학습해야 한다.
    • 반복되는 작업에서 점점 더 빠르고 정확하게 동작할 수 있는 피드백 체계가 필요하다.

Cloudflare가 제시한 구현 사례

Cloudflare는 에이전트를 단순한 코드 생성기가 아니라 API를 통해 전체 시스템을 조작하는 고객으로 취급한다. 이를 바탕으로 다음과 같은 도구와 사례를 소개한다.

  • @cloudflare/ci
    • 수백만 개 저장소에서 CI/CD를 실행하기 위한 시스템
    • Cloudflare Workflows를 기반으로 동작
    • 실패를 스스로 복구하고, 복잡한 작업을 수행할 에이전트를 생성할 수 있음
  • 로컬 개발 환경의 OpenTelemetry 트레이스
    • 운영 환경에서 사용하는 수준의 관측성을 로컬 개발에도 제공
    • Wrangler와 Cloudflare Vite 플러그인에 통합
  • Cloudflare Agents와 Agent Traces
    • 에이전트의 실행을 관찰하고 유지보수하며 개선하기 위한 공간
    • 에이전트 활동을 OpenTelemetry 트레이스로 추적
  • AI 기반 엔지니어링 표준 적용
    • 여러 제품과 시스템 저장소에 공통 개발 원칙과 표준을 자동으로 적용
  • Astro 소프트웨어 팩토리
    • GitHub 이슈를 자동으로 분류하고, 재현하고, 검증하고, 수정
    • 규모가 커지는 오픈소스 프로젝트의 이슈 수를 0에 가깝게 줄이는 것을 목표로 함

자율 시스템에 필요한 신뢰성

  • 소프트웨어 팩토리는 자율주행차와 비슷한 문제를 가진다.
  • 단순히 80% 정도 성공하는 수준은 충분하지 않다.
  • 실제 운영 소프트웨어를 맡기려면 99%를 넘어 여러 개의 9가 붙는 수준의 안정성과 안전성이 필요하다.
  • 자율주행차가 카메라, 라이다, 고성능 연산 장치, 원격 제어 체계를 갖추는 것처럼, 자율적으로 개발하는 에이전트에도 인간 개발자를 위해 설계된 기존 도구 이상의 장치가 필요하다.
  • 에이전트가 PR을 자동 승인하고 운영 서비스에 병합하지 못하는 이유는 테스트 실패뿐 아니라 다음과 같은 복합적인 위험 때문이다.
    • 고객 요구를 잘못 해석할 가능성
    • 여러 팀과 전문 영역에 걸친 변경
    • 주관적인 품질 판단
    • 대시보드나 사용자 경험처럼 자동 테스트가 어려운 변화
    • 운영 중 발생할 수 있는 예측하기 어려운 부작용

실용적인 결론

에이전트 도입의 핵심은 코드 생성량을 늘리는 데 있지 않고, 생성된 변경을 안전하게 검증하고 배포하고 운영하는 전체 체계를 함께 자동화하는 데 있다. 따라서 조직은 에이전트에 단순한 코딩 권한만 주기보다, 재현 가능한 환경·세밀한 권한·실시간 관측·원자적 배포·자동 롤백과 같은 ADLC 기반 인프라부터 구축해야 한다.