AX Case BlogAI 전환 사례 연구

전체 사례No. 025

Checkout.com Agent HAL이 전체 PR의 18%를 생성하는 방식

사례 번호
025
1차 출처
Checkout.com Engineering Blog
원문 게시
2026-06-17

1. 왜 이 사례인가

AI 코딩 에이전트를 다룬 수많은 글은 대개 “엔지니어 10명분의 생산성”을 내세우는 과장된 데모나 제로투원(0 to 1) 시연에 주목합니다. 글로벌 결제 기업 체크아웃닷컴(Checkout.com)은 정반대의 길을 선택했습니다. 에이전트에게 무제한의 자율성을 부여하는 대신, 기존 개발 프로세스 안에서 엄격하게 범위가 제한된 작업(narrow contract)에 배치하는 것이야말로 실질적인 개발 속도를 끌어올리는 핵심이라고 설명합니다.

사내 AI 코딩 에이전트인 Agent HAL은 단순한 대화창 인터페이스에 머무르지 않고 실제 개발 파이프라인에 깊숙이 통합되어 있습니다. 2026년 6월 17일 기준, 체크아웃닷컴에서 생성되는 전체 PR의 18%를 HAL이 직접 만들어냅니다. 사람의 개입 없이 거대한 기능을 한 번에 배포한 것이 아니라, 요구사항과 범위가 명확한 작은 작업 단위들을 꾸준히 처리해 PR로 전환해 낸 결과입니다.

금융 거래를 다루는 결제 기업에서 자동화에 따른 방심과 안일함(automation complacency)은 치명적인 위험 요소입니다. 따라서 HAL은 스스로 모든 것을 결정하는 완전 자율형 에이전트가 아니라 철저히 통제 가능한 에이전트로 설계되었습니다. 최종 승인은 반드시 사람이 내리며, 기존과 동일한 CI 및 보안 검증 게이트를 거치고, 자동 머지는 원천 금지하는 안전장치가 시스템 구조에 그대로 보존되어 있습니다.


2. Problem

체크아웃닷컴이 HAL을 도입하기 전 마주했던 병목은 단순한 “코드 작성 속도”의 문제가 아니라, 개발 프로세스 곳곳에 숨어 있던 마찰이었습니다.

  1. 백로그의 모호성: 실제 코드를 작성하기 전 단계에서 가장 값비싼 엔지니어링 시간이 낭비되었습니다. 작업 티켓의 내용이 모호하면 요구사항을 파악하고 조율하느라 일주일씩 허비하기 일쑤였습니다.
  2. PR 부패(branch rot): 사람이든 에이전트든 PR을 생성해 두어도, 메인 브랜치(main)에 새로운 변경 사항이 지속적으로 반영되면 리베이스 충돌이나 CI 테스트 실패가 누적됩니다. 결국 PR이 제때 처리되지 못하고 방치되어, 정작 엔지니어가 검토하려 할 때는 즉시 머지할 수 없는 상태로 굳어지곤 했습니다.
  3. 잦은 맥락 전환(context switching): 금요일 오후에 불시에 접수되는 보안 취약점 경고(advisory)처럼 업무 흐름을 끊는 돌발 작업들이 엔지니어의 몰입 시간을 파편화했습니다. 기존에는 알림 내용을 일일이 확인하고 서비스에 실제로 영향을 미치는지 판단하는 데만 매번 반나절 이상을 소모해야 했습니다.
  4. 소규모 기능의 백로그 적체: 사내 대시보드에 검색 필터를 추가하는 것과 같은 작업은 범위가 작고 명확하지만, 대규모 프로젝트나 시급한 현안에 밀려 몇 주씩 백로그에 머물렀습니다.

확인된 사실: 속도 개선의 핵심은 화려한 제로투원 데모가 아니라 범위가 명확한 작업의 반복 수행에 있다는 인식, 백로그의 모호성·PR 부패·업무 흐름을 끊는 유지보수·소규모 기능의 백로그 적체가 주요 병목이었다는 점, 결제 서비스 특성상 무검토 승인이나 자동 머지는 원천적으로 허용되지 않는다는 점.


3. Solution

3.1 프로세스에 내장(Embedded), 덧붙이지 않음

HAL은 엔지니어링 팀이 이미 일상적으로 사용하는 도구 체계에 직접 연결됩니다. 작업은 라벨이 지정된 티켓, 예약된 정기 작업(scheduled job), HAL이 생성한 PR의 후속 작업처럼 명확히 정의된 진입 게이트를 통해 인입되며, 그 결과물은 항상 사람이 검토할 수 있는 PR 형태로 산출됩니다.

HAL은 단순히 PR을 열어두고 작업을 끝내지 않습니다. PR 생성 이후의 전체 생명주기를 스스로 책임지고 관리합니다:

  • 자신이 수정한 코드 변경 사항을 스스로 사전 검토
  • CI 파이프라인 실패 시 원인을 분석하고 수정 커밋 반영
  • 메인 브랜치(main)에 새 커밋이 머지되면 지속적으로 최신 상태 유지(리베이스)

따라서 담당 엔지니어가 코드를 검토하는 시점에는 PR이 충돌 없이 최신 상태를 유지하며 즉시 머지 가능한 상태로 준비되어 있습니다.

3.2 백로그 선행: 준비도 점수화

정기 예약 작업으로 유입되는 각 작업 티켓의 준비도(readiness)를 자동으로 점수화하여 티켓 본문에 기록합니다. 요구사항이 지나치게 부실하거나 맥락이 부족한 티켓(thin ticket)의 경우 섣불리 구현에 착수하지 않고 구체적인 세부 내용을 보완해 달라고 요청합니다. 에이전트가 필요한 질문을 능동적으로 던지는 과정에서 백로그 자체가 자연스럽게 정제됩니다.

3.3 소규모 신규 기능, 유지보수만이 아님

실제 프로덕트 엔지니어링 작업의 상당수는 범위가 작고 명확합니다. 대표적인 사례가 사내 대시보드에 새로운 필터를 추가하는 작업이었습니다. 이 작업은 몇 주 동안 백로그에 머물러 있었지만, HAL이 티켓을 전달받은 당일 오후 곧바로 PR을 생성했고 같은 날 동료 검토와 머지까지 완료되었습니다. 새로운 API 엔드포인트 구현이나 프론트엔드 UI 변경 등에서도 동일한 패턴이 적용됩니다.

PR을 올리기 전에는 별도의 리뷰 페르소나가 구현 내용을 사전 검증합니다. 코드를 작성한 페르소나와 완전히 분리된 맥락(컨텍스트)과 시스템 프롬프트를 부여함으로써, 동일한 세션에서 요구 스펙을 연속으로 오독하는 치명적인 실수를 방지합니다. 스펙 충족 여부가 불충분하다고 판단되면 무엇이 누락되었는지를 명확히 보고하고 작업을 중단하며, 최종 승인 권한은 철저히 사람 엔지니어에게 남겨둡니다.

3.4 유지보수: 금요일 오후 취약점 알림

서비스 운영 중 보안 취약점 알림이 접수되면 — 실제 위협과 단순한 노이즈가 뒤섞여 있어 모두 선별(트리아지) 작업이 필요합니다 — HAL이 티켓을 할당받아 각 알림 내용을 분석합니다. 이어 필요한 라이브러리 의존성을 업데이트하거나 특정 버전에 고정(pin)하고, 전체 테스트 스위트를 실행하여 검증한 뒤 해당 보안 권고를 해제하는 PR을 생성합니다. 검토 담당 엔지니어는 의존성 파일 외에 다른 코드가 변경되지 않았는지 확인하고 테스트 통과 로그를 점검한 뒤 머지 버튼을 누르기만 하면 됩니다. 여러 리포지토리에서도 정기 예약 작업을 통해 동일한 자동화 흐름이 병렬로 실행됩니다.

3.5 통제, 자율이 아님

HAL의 모든 실행 과정은 명확히 정의된 특정 지시 사항으로 추적 및 감사가 가능합니다. 엔지니어는 진행 중인 작업을 언제든 즉각 중단할 수 있으며, 사람이 남긴 피드백은 다음 실행 단계에 직접 반영됩니다. 아울러 요구사항을 정의한 담당자가 구현 결과까지 임의로 승인할 수 없도록 하는 상호 견제 구조가 안전하게 유지됩니다.

HAL이 생성한 PR 역시 일반 엔지니어의 PR과 완전히 동일한 품질 게이트를 거칩니다. 단위 및 통합 테스트, 보안 취약점 스캔, 공식 지정된 승인자의 필수 리뷰를 모두 통과해야 하며, 자동 머지는 일체 허용되지 않습니다. 시스템의 신뢰는 에이전트 모델 자체의 막연한 능력에서 오는 것이 아니라, 이를 철저히 감시하고 검증하는 프로세스에서 비롯됩니다.

확인된 사실: 전체 PR의 18% 생성(2026-06-17 기준), 이벤트 기반 작업 인입(라벨 티켓·예약 작업·소유 PR 후속 작업), PR 자체 리뷰·CI 오류 수정·주기적 리베이스 수행, 백로그 준비도 점수화 및 불충분한 티켓 거부 메커니즘, 구현과 리뷰 페르소나의 분리, 대시보드 필터 당일 PR 생성 및 머지 사례, 취약점 알림 자동 처리, 일반 작업과 동일한 CI/보안 게이트 적용 및 자동 머지 원천 금지.


4. Impact

지표수치비고
HAL 생성 PR 비율전체 PR의 18%2026-06-17 기준
대시보드 필터 사례백로그 수주 → 당일 PR·머지소규모 신규 기능
취약점 알림 트리어지반나절 → 의존성 확인·머지 수준금요일 오후 사례
측정 프레임인지 부하(cognitive offload)LoC·원시 속도만이 아님
기준일2026-06-17블로그 발행일

정성적인 관점에서, 엔지니어들은 맥락 파악 부담은 적지만 번거로운 마찰이 컸던 단순 반복 작업들을 백그라운드 에이전트에 위임하고 본연의 핵심 업무 몰입도를 회복했습니다. HAL은 당초 ‘몇 가지 지루한 반복 작업을 덜어보자’는 소규모 실험으로 출발했으나, 현재는 체크아웃닷컴 소프트웨어 배포 체계의 핵심 축으로 확고히 자리 잡았습니다.

확인된 사실: 18% PR, 당일 머지 사례, 취약점 처리 시간 축소, 인지 부하 감소 프레이밍. HAL PR의 결함률·롤백 빈도·인프라 비용은 미공개.


5. Insight

자율이 아니라 명확히 한정된 계약이 실질적인 속도를 만듭니다. 체크아웃닷컴은 에이전트에게 무작정 자율성을 위임하지 않고, 이미 검증된 개발 게이트 안에서 작고 범위가 명확한 작업에만 엄격하게 한정했습니다. 18%라는 생산성 수치는 화려한 대형 기능 하나를 배포해서 얻은 결과가 아니라, 잘 정의된 소규모 PR이 꾸준히 축적되어 만들어진 성과입니다.

코드 작성보다 백로그 정제가 먼저입니다. 코딩에 착수하기 전 티켓의 준비도를 먼저 평가하고 내용이 부실한 티켓을 걸러냄으로써, 에이전트가 불완전한 스펙을 근거로 ‘그럴듯하지만 틀린(confidently wrong)’ PR을 양산하는 비효율과 낭비를 사전에 차단합니다.

구현과 리뷰 페르소나를 철저히 분리해야 합니다. 동일한 맥락 안에서 요구 스펙을 읽고 코드를 작성한 뒤 자체 채점까지 진행하면, 잘못된 해석과 논리 오류가 두 번 연속 굳어지기 마련입니다. 새로운 컨텍스트를 부여받은 독립적인 리뷰 페르소나와 사람 엔지니어의 최종 판단을 단계적으로 분리 배치해 검증의 실효성을 극대화했습니다.

PR 생성 이후의 생명주기 관리가 성패를 가릅니다. PR을 생성한 뒤 그대로 방치하면 메인 브랜치의 빠른 변화에 밀려 브랜치 부패(branch rot)가 발생하고, 엔지니어가 검토할 시점에는 이미 머지할 수 없는 폐기물이 되기 쉽습니다. 실패한 CI 파이프라인의 수정과 지속적인 리베이스까지 에이전트가 완결해 주어야만 엔지니어의 검토 시간이 낭비되지 않습니다.

적용 조건과 한계. 세밀한 라벨링과 정기 예약 실행 체계, 철저한 CI 게이트, 결제 플랫폼에 걸맞은 엄격한 보안 검사 및 승인 워크플로, 그리고 높은 티켓 작성 문화가 선행되어야 합니다. 한편 생성된 18%의 PR 중 실제 머지까지 도달한 최종 비율이나 배포 후 결함률, 에이전트 운영 인프라 비용 등은 공개되지 않은 한계가 있습니다.

한 줄 요약: 에이전트 엔지니어링의 본질은 모든 것을 알아서 처리하는 만능 자율 AI의 환상이 아니라, 기존 가드레일 안에서 손이 많이 가는 정형화된 작업을 묵묵히 처리하여 사람이 즉시 검토할 수 있는 양질의 PR로 준비해 두는 든든한 조력자를 구축하는 데 있습니다.


6. 원문에 없는 추정 (구현 가설)

6.1 이벤트 게이트와 PR 생명주기 오케스트레이터

근거: 원문은 HAL이 라벨된 티켓·예약 작업·소유 PR 활동으로 작업을 받고, PR을 열고 떠나지 않으며 자체 리뷰·CI 수정·main 이동 시 리베이스를 수행한다고 기술합니다.

특정 티켓 라벨(예: hal-ready)이나 정기 cron 스케줄러가 HAL의 실행을 트리거하면, 에이전트는 티켓 설명과 관련 코드 맥락을 분석한 뒤 작업 브랜치를 분기하여 구현에 착수했을 것입니다. PR이 생성된 후에는 웹훅(webhook)을 통해 CI 파이프라인의 실행 결과를 전달받고, 빌드나 테스트가 실패하면 동일 브랜치에 수정 커밋을 스스로 추가하는 오류 자동 복구 루프가 동작했을 것으로 보입니다. 메인 브랜치(main)에 새로운 커밋이 머지될 때마다 HAL은 자신이 생성한 PR에 대해 자동 리베이스를 시도하고, 만약 코드 충돌이 발생하면 작업을 중단하거나 담당 엔지니어에게 알림을 에스컬레이션했을 가능성이 높습니다. 최종적으로 사람 엔지니어에게 리뷰 요청 알림이 도달하는 시점에는 모든 CI 테스트가 정상 통과(green)하고, 최신 메인 브랜치와의 리베이스가 완료되었으며, 구현 에이전트와 분리된 리뷰 페르소나의 사전 검사까지 무사히 마친 상태였을 것입니다.

6.2 백로그 준비도 점수와 얇은 티켓 거부 루프

근거: 원문은 HAL이 예약 실행으로 각 티켓의 준비도를 점수화해 티켓에 다시 쓰고, 너무 얇으면 상세를 요청하며 작업하지 않는다고 밝힙니다.

티켓 준비도 점수는 설명 본문의 구체성, 인수 조건(Acceptance Criteria) 명시 여부, 관련 코드 파일 및 API 명세 참조의 충실도, 모호한 자연어 표현의 포함 비율 등을 LLM이 다각도로 평가하여 0~100점 척도로 산출하는 방식이었을 것입니다. 계산된 점수가 사전에 설정된 기준 임계값에 미치지 못하면, HAL은 Jira(또는 사내 이슈 트래커) 티켓에 자동으로 코멘트를 남겨 ‘구현에 필요한 구체적인 API 엔드포인트나 화면 구성, 검증용 테스트 시나리오’를 질문하고 해당 작업의 실행을 건너뛰었을 것으로 추정됩니다. 이러한 피드백 루프가 반복되면서 사내 백로그의 작성 품질이 전반적으로 상향 평준화되었고, 대시보드 필터 추가와 같이 명확하게 정제된 소규모 티켓들만 HAL의 실행 큐에 진입함으로써 당일 PR 생성과 머지가 가능했을 것입니다.

6.3 취약점 알림 처리의 의존성 전용 diff 가드

근거: 원문은 HAL이 취약점 알림 티켓을 받아 의존성을 업데이트·핀하고 테스트 후 PR을 열며, 리뷰 엔지니어는 변경이 의존성만인지 확인한다고 합니다.

HAL의 실행 프로필은 dependencies-only와 같은 엄격한 모드로 제한되어, 패키지 파일 외에 일반 애플리케이션 비즈니스 로직이 수정되는 것을 원천 차단하는 diff 검증 절차가 PR 생성 직후 자동으로 실행되었을 것입니다. 패키지 매니페스트와 잠금 파일(lockfile)의 변경 사항 및 테스트 스위트의 실행 로그를 PR 설명 본문에 일목요연하게 첨부하고, 사내 보안 스캔 게이트를 통과해야만 엔지니어의 최종 승인이 가능한 상태로 전환되었을 것으로 보입니다. 나아가 여러 리포지토리에 걸쳐 예약 작업이 돌아갈 때 리포지토리별로 동일한 의존성 관리 프로필이 병렬 적용됨으로써, 금요일 오후에 집중되는 보안 권고 폭주를 엔지니어의 수작업 개입 없이 안정적으로 흡수하는 파이프라인으로 확장되었을 가능성이 큽니다.


7. 출처

  1. Checkout.com Engineering Blog — How our AI coding agent generates 18% of our PRs
    https://www.checkout.com/blog/how-agent-hal-ships-software-checkout-com
    발행일: 2026-06-17 (Featuring Agent HAL)