이것은 Apidog이 API 테스트 및 API 라이프사이클 관리를 위한 명령줄 도구인 Apidog CLI를 개발한 과정을 공유하는 10부작 시리즈입니다. 순서대로 읽거나 관심 있는 게시물로 바로 이동하세요:
| 제목 | 초점 | |
|---|---|---|
| 1 | 우리는 126개의 MCP 도구를 만들었습니다. 하지만 이는 Agent를 위한 최선의 솔루션이 아닙니다. | 문제 발견 |
| 2 | 우리가 새로운 Apidog CLI를 개발한 이유 | 아키텍처 개발 |
| 3 | 황금률: CLI는 사실을 생성하고, 모델은 사실을 기반으로 작동합니다. | 핵심 철학 |
| 4 | agentHints: CLI가 Agent와 소통하도록 가르치기 |
구조화된 출력 |
| 5 | SKILL: 운영 경험을 코드로 배포하기 | 운영 경험 |
| 6 | 수치가 말해줍니다: 도구 호출 30% 감소, 토큰 25% 감소 | 정량적 결과 |
| 7 | PRD부터 테스트 루프까지: Apidog CLI를 사용한 완벽한 Agent 워크플로 | 실용적인 튜토리얼 |
| 8 | Agent 도구에 CI/CD 호환성이 필수적인 이유 | DevOps 관점 |
| 9 | AI Branch: AI Agent로 더 안전한 프로젝트 변경 | 보안 계층 |
| 10 | Spec-First는 과거. Skill-First의 시대에 오신 것을 환영합니다. | 비전 및 미래 |
Agent 친화성은 CI/CD 친화성을 기반으로 구축되어야 합니다. apidog run이 CI 파이프라인과 AI Agent를 모두 지원하는 이유와 이러한 이중 목적이 왜 중요한지 알아보세요.
이중 대상
Agent 도구를 구축할 때 대화형 경험에만 집중하기 쉽습니다.
Apidog CLI에는 잊지 말아야 할 중요한 서비스 대상이 있습니다: CI/CD.
| 기존 대상 | 새로운 대상 |
|---|---|
| CI/CD 파이프라인 | AI Agent |
| 외부 스케줄링 시스템 | 대화형 워크플로 |
| 스크립트 및 자동화 | 사용자 주도 작업 |
많은 팀이 이미 파이프라인에서 Apidog을 사용하여 다음을 수행합니다:
- API 자동 테스트 실행
- 보고서 생성
- 품질 게이트 유지
이 시나리오에는 다음이 필요합니다:
| 요구사항 | 이유 |
|---|---|
| 안정적인 출력 | 스크립트가 예측 가능한 결과를 구문 분석합니다. |
| 스크립트 가능한 명령 | 자동 실행 |
| 명확한 종료 코드 | 파이프라인 통과/실패 결정 |
| 구성 가능한 매개변수 | 환경별 실행 |
Agent를 수용하기 위해 자동화를 깨뜨릴 수는 없습니다.
주요 원칙
Agent 친화성은 CI/CD 친화성을 기반으로 구축되어야 합니다.
우리는 AI만 사용할 수 있는 프로토콜을 다시 만들지 않았습니다. 이미 엔지니어링 시스템에 의해 검증된 형식 위에 Agent에 필요한 구조화된 출력, 스키마 유효성 검사 및 다음 단계 지침을 추가했습니다.
Agent 시대의 좋은 CLI 엔지니어링 도구는 다음을 지원할 수 있어야 합니다:
| 소비자 | 이들의 필요 |
|---|---|
| 사람 | 읽기 쉬운 출력, 도움말 텍스트, 대화형 기능 |
| 스크립트 | 안정적인 출력, 스크립트 가능한 명령 |
| CI 파이프라인 | 종료 코드, 보고서 파일, 구성 가능한 실행 |
| AI Agent | 구조화된 결과, 유효성 검사, 지침 |
apidog run: 핵심 명령
기본은 변하지 않습니다:
apidog run --project <projectId> \
--test-scenario <scenarioId> \
--environment <environmentId> \
-r "cli,html,junit" \
--out-dir ./apidog-reports이 명령은 네 가지 소비자 모두에게 서비스를 제공합니다.
CI가 중요하게 여기는 것
| CI 요구사항 | CLI 기능 |
|---|---|
| 종료 코드 | 0은 통과, 1은 실패 – 파이프라인 결정 |
| 보고서 파일 | --out-dir에 HTML, JUnit, JSON 형식 |
| 안정적인 매개변수 | 버전 간 일관된 옵션 |
| 구성 가능한 실행 | 반복 (-n), 지연 (--delay-request), 환경 (-e) |
CI 사용 예시:
# GitHub Actions
- name: Run API Tests
run: |
apidog run --project $PROJECT_ID \
--test-scenario $SCENARIO_ID \
--environment $ENV_ID \
-r "junit" \
--out-dir ./reports
env:
PROJECT_ID: ${{ secrets.APIDOG_PROJECT_ID }}
SCENARIO_ID: ${{ secrets.APIDOG_SCENARIO_ID }}
ENV_ID: production
- name: Publish Test Report
uses: mikepenz/action-junit-report@v3
with:
report_paths: './reports/junit.xml'파이프라인이 종료 코드를 읽음 → 통과 또는 실패 → 보고서를 게시합니다.
Agent가 중요하게 여기는 것
| Agent 요구사항 | CLI 기능 |
|---|---|
| 구조화된 결과 | data 객체를 포함하는 JSON 출력 형식 |
| 실패 원인 | error 객체의 특정 오류 세부 정보 |
| 다음 단계 제안 | nextSteps 배열을 포함하는 agentHints |
| 유효성 검사 | 쓰기 전에 cli-schema validate |
Agent 사용 예시:
{
"success": true,
"stats": {
"total": 10,
"passed": 8,
"failed": 2
},
"failures": [
{
"step": "Payment processing",
"error": "Assertion failed: status != 'success'",
"response": {...}
}
],
"agentHints": {
"summary": "2 tests failed. Review failure details.",
"nextSteps": [
"Debug the Payment processing step failure.",
"Check assertion: expected status 'success'.",
"Update test case or endpoint after fixing."
]
}
}Agent가 JSON을 구문 분석 → 실패를 이해 → 다음 단계를 따릅니다.
동일한 명령, 다른 소비자
apidog run --project <projectId> --out-dir ./apidog-reports
| 소비자 | 추출하는 내용 |
|---|---|
| CI 파이프라인 | 종료 코드 (0/1), 보고서 파일 위치 |
| Agent | JSON 출력, agentHints, 실패 세부 정보 |
| 사람 | 콘솔 출력, HTML 보고서 링크 |
| 스크립트 | Stdout/stderr, 구성 가능한 형식 |
하나의 명령으로 모두를 지원합니다.
통합 지점
Apidog CLI는 다음과의 통합을 지원합니다:
| CI 도구 | 통합 |
|---|---|
| Jenkins | 파이프라인 단계, 보고서 게시 |
| GitLab CI | YAML 구성, 아티팩트 |
| GitHub Actions | 워크플로 단계, 비밀 관리 |
| CircleCI | Orbs, 워크플로 구성 |
| Azure DevOps | 파이프라인 작업, 테스트 결과 |
모든 통합은 동일한 apidog run 기반을 사용합니다.
품질 게이트 vs. 검증
| 사용 사례 | 의미 |
|---|---|
| CI 품질 게이트 | 통과/실패가 파이프라인 진행을 결정 |
| Agent 검증 | 변경 후 정확성 확인을 위해 실행 |
동일한 명령, 다른 맥락:
| 맥락 | 사용 시점 | 목적 |
|---|---|---|
| CI | 코드 푸시 후 | 잘못된 코드 배포 방지 |
| Agent | 테스트 생성 후 | Agent 작업의 정확성 확인 |
기본 원칙
이 시리즈에서 설명한 모든 것(cli-schema, agentHints, SKILL)은 이 기반 위에 구축됩니다:
┌─────────────────────────────────────────┐
│ Agent 기능 │
│ (cli-schema, agentHints, SKILL) │
├─────────────────────────────────────────┤
│ CI/CD 기반 │
│ (apidog run, 종료 코드, 보고서) │
├─────────────────────────────────────────┤
│ 핵심 CLI │
│ (명령, 매개변수, 실행) │
└─────────────────────────────────────────┘Agent 기능이 CI 기능을 대체하는 것이 아닙니다. 그것들을 확장하는 것입니다.
다음 단계
우리는 문제 발견부터 실용적인 워크플로, 그리고 기본 원칙에 이르기까지 전체 그림을 다루었습니다.
이제 한 가지 더 중요한 부분이 있습니다: 보안.
Agent가 프로젝트 리소스를 수정할 때, 이들이 메인 브랜치에 직접적인 영향을 미치는 것을 어떻게 방지할 수 있을까요?
9부, AI Branch: AI Agent로 더 안전한 프로젝트 변경에서 AI Branch가 어떻게 격리된 편집 환경을 제공하는지 살펴볼 것입니다. 변경 사항은 사람의 검토가 있을 때까지 별도의 브랜치에 유지되어 Agent 주도 수정에 대한 안전 계층을 만듭니다.
핵심 요약
- CI/CD 호환성은 선택 사항이 아닌 기본입니다.
- Agent 친화성은 CI 친화성 위에 구축됩니다.
- 동일한 명령(
apidog run)이 CI, Agent, 사람, 스크립트를 지원합니다. - CI 요구사항: 종료 코드, 보고서, 안정적인 매개변수
- Agent 요구사항: 구조화된 출력, 실패 세부 정보, 다음 단계
- 품질 게이트(CI) + 검증(Agent) = 이중 목적
Apidog을 다운로드하여 단일 작업 공간에서 API를 설계, 목업, 테스트 및 문서화하세요. 명령줄 API 테스트, CI 자동화 및 AI Agent 워크플로를 위한 Apidog CLI에 대해 자세히 알아보세요.
