AI 브랜치: AI 에이전트로 프로젝트 변경을 더 안전하게

에이전트가 프로젝트 리소스를 수정할 때는 안전성과 검토 가능성이 중요합니다. AI 브랜치는 격리된 편집 환경을 제공하며, 변경 사항은 사람의 확인 후에만 대상 브랜치에 적용됩니다.

Oliver Kingsley

Oliver Kingsley

7 July 2026

AI 브랜치: AI 에이전트로 프로젝트 변경을 더 안전하게

Apidog 엔터프라이즈

온프레미스 배포

SSO & RBAC

SOC 2 준수

Apidog Enterprise 살펴보기

이 문서는 API 테스트 및 API 수명 주기 관리를 위한 커맨드라인 도구인 Apidog CLI를 Apidog가 어떻게 개발했는지 공유하는 10부작 시리즈입니다. 순서대로 읽으시거나 관심 있는 게시물로 바로 이동하세요:

제목 초점
1 우리는 126개의 MCP 도구를 만들었습니다. 하지만 이는 에이전트를 위한 최고의 솔루션이 아닙니다 문제 발견
2 우리가 새로운 Apidog CLI를 개발한 이유 아키텍처 개발
3 황금률: CLI는 사실을 생성하고, 모델은 사실에 따라 행동합니다 핵심 철학
4 agentHints: CLI가 에이전트와 대화하도록 가르치기 구조화된 출력
5 SKILL: 운영 경험을 코드로 제공 운영 경험
6 수치는 거짓말하지 않습니다: 30% 적은 도구 호출, 25% 적은 토큰 정량적 결과
7 PRD부터 테스트 루프까지: Apidog CLI를 사용한 완벽한 에이전트 워크플로우 실용적인 튜토리얼
8 에이전트 도구에 CI/CD 호환성이 필수적인 이유 DevOps 관점
9 AI Branch: AI 에이전트를 통한 안전한 프로젝트 변경 보안 계층
10 스펙 우선은 과거입니다. 스킬 우선에 오신 것을 환영합니다. 비전 및 미래

에이전트가 프로젝트 리소스를 수정할 때, 안전과 검토 가능성이 중요합니다. AI 브랜치는 격리된 편집 환경을 제공하며—변경 사항은 사람의 확인 후에만 대상 브랜치로 들어갑니다.


보안 과제

AI 에이전트가 API 개발 및 테스트에 참여할 때, CLI 명령을 통해 프로젝트 리소스를 생성, 업데이트, 삭제할 수 있습니다.

이러한 권한에는 위험이 따릅니다.

위험 발생할 수 있는 일
예측 불가능한 출력 에이전트가 예상치 못한 내용을 작성함
필드 오류 잘못된 어설션, 누락된 매개변수
범위 이탈 에이전트가 작업 범위를 넘어 리소스를 수정함
검토 기록 없음 변경 사항이 메인 브랜치에 직접 나타남
팀 혼란 공유 협업 브랜치가 갑자기 변경됨

메인 브랜치를 위험에 빠뜨리지 않고 에이전트가 실제 프로젝트에서 작업하게 하려면 어떻게 해야 할까요?


AI 브랜치: 안전 계층

AI 브랜치는 외부 AI 및 CLI 작업을 위해 특별히 설계된 스프린트 브랜치의 특별한 유형입니다.

AI branch

핵심 개념:

Apidog CLI에서 시작된 모든 편집 작업은 기본적으로 AI / AI 에이전트가 시작한 것으로 간주됩니다.

AI 브랜치는 AI 에이전트에게 격리된 편집 브랜치를 제공합니다. 변경 사항은 사람이 검토하고 병합할 때까지 AI 브랜치에 남아 있습니다.

에이전트가 CLI를 통해 변경 사항을 만듭니다
        ↓
변경 사항이 AI 브랜치에 저장됩니다 (격리됨)
        ↓
사용자가 차이점을 검토합니다
        ↓
사용자가 리소스 범위를 확인합니다
        ↓
대상 브랜치로 병합합니다 (직접 또는 병합 요청)

승인할 때까지 메인 브랜치는 그대로 유지됩니다.


AI 브랜치가 필요한 이유

AI가 시작하는 편집은 예측할 수 없습니다. Apidog CLI는 엔드포인트, 스키마, 테스트 시나리오, 테스트 스위트 등 광범위한 편집 기능을 제공합니다.

AI 브랜치는 이러한 고위험 AI 시작 편집 작업을 위해 설계되었습니다.

이를 통해 AI 에이전트가 제어된 범위 내에서 프로젝트 리소스를 편집할 수 있습니다:

AI 브랜치 없이 AI 브랜치 사용 시
에이전트가 메인 브랜치에 직접 작성함 에이전트가 격리된 브랜치에 작성함
변경 사항이 즉시 나타남 변경 사항이 검토를 기다림
안전망 없음 사람의 확인 필요
의도치 않은 수정 위험 범위가 특정 리소스로 제한됨

AI 브랜치란?

AI 브랜치는 특정 특징을 가진 특별한 스프린트 브랜치입니다:

주요 특징

특징 설명
격리된 편집 변경 사항이 AI 브랜치에 저장되며, 메인 또는 소스 브랜치에 영향을 주지 않음
명확한 소스 클라이언트에서 생성할 수 없으며—CLI/MCP에서 와야 함; 소스 브랜치 기록
사람의 확인 변경 사항은 병합 전에 확인되어야 함
수량 제한 없음 다른 작업을 위해 필요한 만큼 AI 브랜치 생성 가능
자동 아카이빙 차이점이 없는 브랜치는 24시간마다 아카이빙됨

작동 방식

작업 발생하는 곳
AI가 엔드포인트 생성 AI 브랜치에서
AI가 테스트 시나리오 업데이트 AI 브랜치에서
팀이 변경 사항 검토 클라이언트 또는 CLI 미리보기에서
사용자가 병합 승인 AI가 아닌 사용자 작업
변경 사항이 대상 브랜치에 입력됨 확인 후

사용자에 의한 일반적인 클라이언트 내 편집은 여전히 프로젝트 멤버 권한 및 브랜치 보호 규칙을 따릅니다.


사용 사례

AI 브랜치는 브랜치 격리 및 사람의 확인을 유지하면서 AI가 프로젝트 유지 관리에 참여해야 하는 경우에 적합합니다.

시나리오 AI 브랜치가 도움이 되는 방법
코드에서 API 초안 생성 AI가 AI 브랜치에 엔드포인트를 생성하고; 사용자는 병합 전에 확인
API 리소스를 일괄적으로 정리 AI가 협업 브랜치에 영향을 주지 않고 폴더, 설명, 모델을 조정
자동화된 테스트 초안 생성 AI가 테스터 검토를 위해 AI 브랜치에 테스트 시나리오/케이스를 생성
API 문서의 누락된 부분 채우기 AI가 버그 보고서 또는 구현을 기반으로 누락된 필드를 보충
CI/CD에서 일괄 작성 자동화된 워크플로우가 AI 브랜치에 작성하고, 사용자 병합을 기다림

기본 워크플로우

일반적인 AI 브랜치 워크플로우:

┌─────────────────────────────────────────────────────────────────┐
│                     AI 브랜치 워크플로우                           │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  단계 1: AI 브랜치 생성                                            │
│  ┌───────────────────────────────────────────┐                  │
│  │ apidog branch create --type ai             │                  │
│  │ --name "ai/20260312-from-main-feature"     │                  │
│  │ --from main                                │                  │
│  └───────────────────────────────────────────┘                  │
│                    ↓                                             │
│  단계 2: 리소스 가져오기 또는 생성                                   │
│  ┌───────────────────────────────────────────┐                  │
│  │ apidog branch pick-to (기존 가져오기)          │                  │
│  │ 또는                                         │                  │
│  │ apidog endpoint create (새로 생성)           │                  │
│  └───────────────────────────────────────────┘                  │
│                    ↓                                             │
│  단계 3: AI가 리소스를 수정합니다                                  │
│  ┌───────────────────────────────────────────┐                  │
│  │ 에이전트가 CLI를 사용하여 엔드포인트,           │                  │
│  │ 스키마, 테스트 시나리오 등을 업데이트합니다.       │                  │
│  │ (--branch 매개변수는 AI 브랜치를 지정합니다)    │                  │
│  └───────────────────────────────────────────┘                  │
│                    ↓                                             │
│  단계 4: 사용자가 차이점을 검토합니다                              │
│  ┌───────────────────────────────────────────┐                  │
│  │ apidog merge-request preview              │                  │
│  │ 또는                                         │                  │
│  │ Apidog 클라이언트에서 보기                      │                  │
│  └───────────────────────────────────────────┘                  │
│                    ↓                                             │
│  단계 5: 대상 브랜치로 병합합니다                                  │
│  ┌───────────────────────────────────────────┐                  │
│  │ 직접 병합 (보호되지 않은 브랜치)            │                  │
│  │ 또는                                         │                  │
│  │ 병합 요청 (보호된 브랜치)                 │                  │
│  └───────────────────────────────────────────┘                  │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

AI 브랜치 생성

branch create --type ai 사용:

apidog branch create \
  --project 123456 \
  --type ai \
  --name "ai/20260312-from-main-userRegister" \
  --from main

이름 추천: ai/YYYYMMDD-from-sourceBranch-featureOrModule

명령어 목적
branch create --type ai AI 브랜치 생성
branch list --type ai 프로젝트의 AI 브랜치 보기
branch list --type all 모든 브랜치 유형 보기
branch get --type ai AI 브랜치 세부 정보 보기

AI 브랜치에서 리소스 편집

CLI가 프로젝트 리소스를 작성할 때, --branch 매개변수를 사용하여 AI 브랜치에 작성합니다:

리소스 명령어 예시
HTTP 엔드포인트 apidog endpoint create --project <id> --branch <aiBranchName> --file ./endpoint.json
데이터 모델 apidog schema update <schemaId> --project <id> --branch <aiBranchName> --file ./schema.json
테스트 시나리오 apidog test-scenario update <scenarioId> --project <id> --branch <aiBranchName> --file ./scenario.json
테스트 스위트 apidog test-suite create --project <id> --branch <aiBranchName> --file ./suite.json

권장 워크플로우:

# 1. 스키마 가져오기
apidog cli-schema get endpoint-create

# 2. 작성하기 전에 유효성 검사
apidog cli-schema validate endpoint-create --file ./endpoint.json

# 3. AI 브랜치에 작성 (메인이 아님)
apidog endpoint create \
  --project 123456 \
  --branch "ai/20260312-from-main-userRegister" \
  --file ./endpoint.json

기존 리소스 가져오기

기존 리소스를 수정하려면 먼저 소스 브랜치에서 가져옵니다:

apidog branch pick-to \
  --project 123456 \
  --from main \
  --to "ai/20260312-from-main-userRegister" \
  --endpoint-ids 1001,1002

이렇게 하면 AI가 올바른 기본 버전으로 작업할 수 있습니다.


병합 전 변경 사항 검토

병합하기 전에 차이점을 미리 봅니다:

apidog merge-request preview \
  --project 123456 \
  --from "ai/20260312-from-main-userRegister" \
  --to main

또는 Apidog 클라이언트에서 전체 차이점을 봅니다.

명령어 목적
merge-request preview 잠재적 변경 사항 스캔
branch get --type ai AI 브랜치 정보 보기

AI 브랜치 병합

검토 후 변경 사항을 병합합니다:

직접 병합 (보호되지 않은 브랜치)

apidog branch merge \
  --project 123456 \
  --from "ai/20260312-from-main-userRegister" \
  --to main \
  --endpoint-ids 1001,1002

병합 요청 (보호된 브랜치)

apidog merge-request create \
  --project 123456 \
  --from "ai/20260312-from-main-userRegister" \
  --to main \
  --reviewer-ids 20001,20002 \
  --endpoint-ids 1001,1002
명령어 목적
branch merge 보호되지 않은 브랜치로 직접 병합
merge-request create 검토를 위한 병합 요청 생성
merge-request approve 병합 요청 승인
merge-request reject 병합 요청 거부

중요: 병합 명령어는 명시적으로 제공된 리소스 목록만 처리합니다. 병합하기 전에 종속성(디렉토리, 모델, 응답 구성 요소, 테스트)을 확인하세요.


아카이빙 및 삭제

변경 사항이 병합되었거나 더 이상 필요하지 않은 경우:

# 아카이브
apidog branch archive "ai/20260312-from-main-userRegister" \
  --project 123456 --type ai

# 삭제 (아카이빙 후)
apidog branch delete "ai/20260312-from-main-userRegister" \
  --project 123456 --type ai

외부 AI 편집 권한

기본적으로 CLI는 AI 브랜치에 작성합니다. 이렇게 하면 AI가 생성한 변경 사항이 사용자 확인 전까지 격리됩니다.

메인 브랜치의 직접 편집을 활성화하려면:

프로젝트 설정 → 기능 설정 → AI 기능 설정 → 외부 AI 편집 권한
권한 허용하는 것
메인 브랜치 직접 편집 CLI가 메인 브랜치에 직접 작성 (AI 브랜치 우회)
표준 스프린트 브랜치 직접 편집 CLI가 스프린트 브랜치에 직접 작성
일반 브랜치 직접 편집 CLI가 일반 브랜치에 직접 작성
AI 브랜치 직접 편집 CLI가 AI 브랜치에 작성 (일반적으로 활성화 유지)

권장 사항: AI 브랜치 격리를 활성화된 상태로 유지하세요. 자동화 워크플로우에 명확히 필요한 경우에만 직접 편집을 활성화하세요.


모범 사례

실천 이유
작업당 하나의 AI 브랜치 명확한 범위: 사용자 등록 API, 주문 모듈 문서, 결제 테스트
편집 전 가져오기 기존 리소스에 pick-to 사용—소스 혼란 방지
작성 전 유효성 검사 cli-schema validate를 사용하여 AI 브랜치 전 오류 포착
병합 전 미리보기 merge-request preview 또는 클라이언트 차이점 보기 사용
명시적인 병합 범위 엔드포인트, 모델, 디렉토리, 테스트를 함께 확인
사람의 검토 유지 API 정의, 테스트 스크립트는 병합 전에 검토되어야 함
즉시 아카이빙 병합 또는 포기 후 브랜치 목록을 깨끗하게 유지

CLI + SKILL 워크플로우의 AI 브랜치

AI 브랜치는 CLI + SKILL과 자연스럽게 통합됩니다:

단계 CLI + SKILL + AI 브랜치
읽기 모든 브랜치에서 endpoint get
생성 에이전트가 JSON 생성
유효성 검사 로컬에서 cli-schema validate
작성 AI 브랜치에 endpoint create --branch <aiBranchName>
검토 merge-request preview
병합 사용자가 확인한 후 branch merge
확인 병합된 리소스에 apidog run

모든 작성은 AI 브랜치 → 사람의 검토 → 병합을 거칩니다.


보안 요약

계층 보호
cli-schema validate 작성 전 구조적 오류 포착
agentHints 에이전트가 안전한 다음 단계로 나아가도록 안내
AI 브랜치 메인 브랜치에서 변경 사항 격리
사람의 검토 병합 전 내용 확인
병합 범위 사용자가 병합할 리소스 선택

이러한 계층들은 함께 에이전트 주도 프로젝트 변경을 위한 더 안전한 루프를 만듭니다.


다음 단계

AI 브랜치가 안전 계층을 제공함으로써 모든 부분이 제자리에 있습니다:

이제 비전을 위한 시간입니다.

10부, Spec-First는 어제였습니다. Skill-First에 오신 것을 환영합니다.에서는 AI 에이전트와 함께 API 개발이 어떻게 진화하는지—그리고 팀이 다음에 무엇을 해야 하는지 설명할 것입니다.


핵심 요점


하나의 워크스페이스에서 API를 설계, 모킹, 테스트, 문서화하려면 Apidog를 다운로드하세요. 커맨드라인 API 테스트, CI 자동화 및 AI 에이전트 워크플로우를 위한 Apidog CLI에 대해 자세히 알아보세요.

button

Apidog에서 API 설계-첫 번째 연습

API를 더 쉽게 구축하고 사용하는 방법을 발견하세요