도어대시, LLM 에이전트로 스테일 피처 플래그 자동 정리
최근 30일 조회수 — 좋아요 —핵심 요약
도어대시가 클로드 기반 멀티 에이전트 시스템으로 스테일 피처 플래그 50개 중 45개를 건당 평균 13.8분·4.79달러에 자동 정리했다.
도어대시(DoorDash)가 여러 개의 대규모언어모델(LLM) 에이전트를 동시에 투입해 코드베이스 전반에 흩어진 오래된 피처 플래그(feature flag)를 자동으로 정리하는 시스템을 구축했다고 InfoQ가 9월 18일 보도했다.[^1] 스테일 플래그 50개를 대상으로 한 평가에서 이 시스템은 45개에 대해 실사용 가능한 풀 리퀘스트를 만들어냈고, 건당 평균 13.8분에 4.79달러가 들었다. 도어대시가 추산한 수작업 정리 시간이 건당 1~2시간이었던 것과 비교하면 큰 격차다.
도어대시의 실험 플랫폼은 약 623개 저장소에 걸쳐 6만 개 이상의 피처 플래그를 관리하며, 매달 약 2,300개의 신규 플래그가 생긴다. 이 가운데 1,000개 넘는 플래그가 스테일 상태로 분류됐다. 플래그는 90일간 수정 이력이 없고, 코드에서 여전히 참조되며, 아카이브나 폐기 처리되지 않았고, 별도로 제외 대상이 아닌 경우 스테일로 간주된다. 매일 돌아가는 프로세스가 해당 플래그마다 지라(Jira) 티켓을 생성한다.
정리 작업이 까다로운 이유는 도어대시가 의존성 주입(dependency injection) 방식의 래퍼를 쓰기 때문이다. 플래그 정의, 클라이언트 호출, 비즈니스 로직이 서로 다른 파일에 흩어져 있어, 단순한 불리언 플래그 하나를 지우는 데도 테스트를 포함해 5~20개 파일을 고쳐야 하는 경우가 생긴다. 우버(Uber)가 오픈소스로 공개한 피라냐(Piranha)는 추상구문트리(AST) 기반 변환으로 스테일 플래그 코드를 찾아 제거하는 규칙 기반 도구다. 도어대시는 이 방식이 자사의 의존성 주입 패턴을 다루지 못한다고 판단했다. 플래그와 애플리케이션 로직의 관계가 구문적으로 대응되지 않고 의미적으로만 연결돼 있기 때문이다. 이 지점에서 도어대시는 규칙 기반 대신 LLM 기반 접근을 택했다.
도어대시가 구글의 에이전트 개발 키트(Agent Development Kit)로 구축한 이 워크플로는 두 단계로 나뉜다. 1단계에서는 클로드 소네트(Claude Sonnet)를 쓰는 오케스트레이터가 지라에서 스테일 플래그 티켓을 가져와 관련 저장소를 검색하고, 모델 컨텍스트 프로토콜(MCP)을 통해 실험 플랫폼에 롤아웃 비율·타깃 값 같은 메타데이터를 조회한다. 엔지니어가 이 보고서를 검토하고 타깃 값을 확정해야 다음 단계로 넘어간다. 2단계에서는 클로드 오퍼스(Claude Opus) 기반 정리 에이전트가 격리된 깃 워크트리(Git worktree)에서 저장소당 최대 4개까지 동시에 작동하며, 플래그 참조를 찾아 정리 전략을 정하고 소스 코드와 테스트를 수정한 뒤 빌드·테스트·재코코(JaCoCo) 패치 커버리지·디텍트(Detekt) 정적 분석을 돌린다. 이 검증을 통과해야만 풀 리퀘스트가 열린다. 에이전트별 타임아웃은 1시간이며, 워크트리 간 상태 공유를 막기 위해 그래들(Gradle)은 데몬 없이 실행된다.
평가 결과는 첫 시도 병합 31건, 수정 필요 14건, 엔지니어 개입 5건으로 나뉘었다. 단일 시도 정리 성공률은 단순 플래그가 100%, 중간 복잡도가 94%, 복잡한 플래그가 85%였다. 개입이 필요했던 5건은 깊은 호출 체인과 인터페이스 간 매개변수 전달이 얽힌 경우였다. 평가한 50건 중 버그나 리그레션은 보고되지 않았다. 도어대시는 앞으로 위험도가 낮은 정리 작업에 신뢰도 점수를 매기고, 플래그 제거 후 변수명이 실제 의미와 맞지 않게 되는 등의 문제를 잡아내는 코드 품질 검사 단계를 추가할 계획이다. 이 작업은 ICSME 2026 산업 트랙에 채택됐다.
[^1]: InfoQ, "DoorDash Uses Multi Agent LLMs to Clean up 60,000 Feature Flags" 읽기 목록은 이 브라우저에 저장됩니다.
출처
이 글은 위 출처를 근거로 자동 생성된 뒤 발행됐습니다. 원문을 함께 확인해 주세요. 교차 보도 없이 단독 출처로 작성됐습니다.