agentHints: 명령줄 인터페이스와 에이전트 소통 방법

기존 CLI 출력은 사람을 위한 것입니다. 에이전트는 구조화된 결과, 실패 원인, 그리고 다음 단계 제안을 필요로 합니다. `agentHints`는 제품 경험을 기계 판독 가능한 지침으로 변환합니다.

Oliver Kingsley

Oliver Kingsley

6 July 2026

agentHints: 명령줄 인터페이스와 에이전트 소통 방법

Apidog 엔터프라이즈

온프레미스 배포

SSO & RBAC

SOC 2 준수

Apidog Enterprise 살펴보기

이것은 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에 오신 것을 환영합니다. 비전 및 미래

전통적인 CLI 출력은 사람을 위한 것입니다. Agent는 구조화된 결과, 실패 원인, 다음 단계 제안이 필요합니다. agentHints는 제품 경험을 기계가 읽을 수 있는 지침으로 변환합니다.


CLI 출력의 간극

전통적인 CLI 출력은 사람을 위해 설계되었습니다.

성공 실패
"Success" 또는 "Done" 출력 오류 메시지 출력
생성된 리소스 표시 (선택 사항) 스택 트레이스 표시 (선택 사항)
사람이 읽고 다음 단계를 결정 사람이 읽고 디버깅

이것은 사람에게는 통합니다. 사람은 다음을 할 수 있습니다:

하지만 Agent는 다르게 작동합니다.


Agent에게 실제로 필요한 것

Agent는 단순히 결과를 읽는 것을 넘어섭니다. 그들은 결과를 다음 작업 체인에 연결해야 합니다.

Agent 요구사항 이유
구조화된 결과 출력을 프로그래밍 방식으로 파싱해야 함
실패 원인 일반적인 메시지가 아닌 특정 세부 정보 필요
다음 단계 제안 그 다음에 무엇을 해야 할지에 대한 지침 필요

사람은 "리소스가 성공적으로 생성되었습니다"라는 메시지를 보고 "무엇이 생성되었는지 확인한 다음, 테스트를 실행해야 할 것 같다"고 생각합니다.

Agent는 "리소스가 성공적으로 생성되었습니다"라는 메시지를 보고... 다음에 무엇을 해야 할지 알지 못합니다.


agentHints: 해결책

Apidog CLI는 출력에 agentHints를 추가합니다.

일반적인 응답은 다음과 같습니다:

{
  "success": true,
  "data": {
    "id": "12345",
    "name": "Health Check Test Case"
  },
  "agentHints": {
    "summary": "테스트 케이스가 성공적으로 생성되었습니다.",
    "nextSteps": [
      "생성된 테스트 케이스를 다시 읽어 구조를 확인하세요.",
      "테스트 케이스에 응답 유효성 검사가 필요한 경우 어설션을 추가하세요.",
      "통합 테스트를 위해 테스트 케이스를 테스트 시나리오에 추가하세요.",
      "시나리오에 추가한 후 관련 테스트를 실행하세요."
    ]
  }
}

세 가지 구성 요소:

구성 요소 목적
success + data 실제 결과
summary 사람이 읽을 수 있는 요약
nextSteps 기계가 읽을 수 있는 다음 단계 제안

실행 관성 문제

우리가 관찰한 실제 문제는 다음과 같습니다:

리소스를 성공적으로 생성한 후, 모델은 다음 쓰기 작업을 직접 생성하는 경우가 많습니다.

예시:

Agent: 테스트 케이스 생성
CLI: 성공 반환
Agent: 즉시 테스트 시나리오 생성 (다시 읽지 않고)
Agent: 즉시 테스트 실행
결과: 시나리오 구조가 잘못되어 테스트 실패

복잡한 비즈니스 프로세스에서는 기계적인 연속 실행이 적절하지 않습니다.

가장 올바른 접근 방식은 종종 다음과 같습니다:

  1. 리소스 생성
  2. 먼저 다시 읽기
  3. 구조 확인
  4. 그 다음 진행

다시 읽기가 중요한 이유

다시 읽기를 건너뛰면 실제 문제가 발생합니다:

문제 원인
잘못된 기본값 Agent가 지정하지 않은 기본값을 서버가 채움
누락된 연결 ID 가져오기가 새 내부 ID를 생성할 수 있음
구조적 변형 프런트엔드가 특정 파싱에 의존할 수 있음
잘못된 가정 Agent가 "상상"에 기반하여 계속 진행

실제 구조를 다시 읽지 않으면, Agent는 실제 데이터가 아닌 자신의 추측에 기반하여 쉽게 쓰기 작업을 계속합니다.


내비게이터로서의 agentHints

agentHints는 제품 경험을 기계가 읽을 수 있는 다음 단계 제안으로 변환합니다.

이것은 Agent가 결정을 내려야 하는 정확한 지점에 나타납니다.

테스트 케이스 생성 후 예시:

{
  "agentHints": {
    "nextSteps": [
      "--with-case-detail 플래그를 사용하여 생성된 테스트 케이스를 다시 읽으세요.",
      "쓰기 전에 cli-schema로 모든 업데이트를 검증하세요.",
      "테스트 시나리오 완료 후 테스트를 실행하세요."
    ]
  }
}

Agent는 다음을 수행합니다:

  1. 출력을 읽습니다
  2. agentHints를 파싱합니다
  3. nextSteps[0]을 따릅니다: 테스트 케이스를 다시 읽습니다
  4. 실제 구조를 확인합니다
  5. 그런 다음 정확한 정보로 진행합니다

CLI 역할의 변화

이것은 Agent 워크플로에서 CLI의 의미를 바꿉니다.

기존 역할 새로운 역할
명령 실행자 워크플로 내비게이터
결과 출력 다음 단계 안내
사람이 읽을 수 있는 출력 Agent가 읽을 수 있는 구조
단일 응답 지속적인 안내

CLI는 경량 상태 내비게이터가 됩니다.


내장된 워크플로 트리

Apidog CLI에는 수천 개의 트리 구조 워크플로가 내장되어 있습니다.

이것들은 단순히 하드코딩된 제안이 아닙니다. 다음을 포함합니다:

특징 설명
컨텍스트 인식 제안이 특정 작업과 일치함
리소스별 엔드포인트, 테스트 케이스, 시나리오별로 다른 힌트 제공
워크플로 인식 제안이 일반적인 순서를 반영함
오류 정보 기반 성공 및 실패 시 다른 제안 제공

테스트 시나리오 업데이트 성공 후 예시:

{
  "agentHints": {
    "summary": "테스트 시나리오가 성공적으로 업데이트되었습니다.",
    "nextSteps": [
      "변경 사항을 확인하기 위해 테스트 시나리오를 실행하세요.",
      "실패가 있는지 테스트 보고서를 확인하세요.",
      "실패가 발생하면 디버깅을 위해 시나리오 단계를 다시 읽으세요."
    ]
  }
}

유효성 검사 실패 후 예시:

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Field 'comparator' has invalid value",
    "details": [...]
  },
  "agentHints": {
    "summary": "유효성 검사에 실패했습니다. 오류를 수정하고 다시 검증하세요.",
    "nextSteps": [
      "출력에서 오류 세부 정보를 검토하세요.",
      "오류 제안에 따라 JSON 파일을 조정하세요.",
      "쓰기 전에 cli-schema validate를 다시 실행하세요."
    ]
  }
}

실패조차도 탐색 가능하게 됩니다.


agentHints를 사용한 더 안전한 루프

agentHints를 사용한 완전한 워크플로를 추적해 봅시다:

1단계: Agent가 테스트 케이스를 생성합니다
        ↓
CLI 출력: 성공 + agentHints
        ↓
agentHints.nextSteps[0]: "생성된 테스트 케이스를 다시 읽으세요"
        ↓
2단계: Agent가 다시 읽습니다 (실제 구조 포함)
        ↓
CLI 출력: 테스트 케이스 구조 + agentHints
        ↓
agentHints.nextSteps[0]: "필요한 경우 어설션을 추가하세요"
        ↓
3단계: Agent가 어설션을 추가합니다 (실제 구조 기반)
        ↓
CLI 출력: 성공 + agentHints
        ↓
agentHints.nextSteps[0]: "테스트 실행"
        ↓
4단계: Agent가 테스트를 실행합니다
        ↓
CLI 출력: 테스트 보고서

모든 단계가 안내됩니다. 맹목적인 건너뛰기나 가정이 없습니다.


agentHints 사용 유무 비교

시나리오 agentHints 없음 agentHints 있음
생성 후 Agent가 다음 쓰기 작업을 계속합니다 Agent가 먼저 다시 읽습니다
업데이트 후 Agent는 성공했다고 가정합니다 Agent가 구조를 확인합니다
유효성 검사 통과 후 Agent가 즉시 씁니다 Agent가 쓰고, 그 다음 다시 읽습니다
유효성 검사 실패 후 Agent가 오류에 대해 혼란스러워합니다 Agent가 특정 수정 제안을 받습니다
테스트 실행 후 Agent가 통과/실패를 봅니다 Agent가 디버깅 지침을 받습니다

다음 단계

이제 CLI가 Agent에게 다음 단계를 안내할 수 있게 되었으니, 남은 질문은 다음과 같습니다:

Agent는 애초에 어떤 워크플로를 따라야 하는지 어떻게 알까요?

5부, SKILL: 운영 경험을 코드로 배포하기에서는 SKILL이 워크플로 지식(명령어를 언제 사용하고, 어떤 순서를 따라야 하며, 어떤 필드를 추측해서는 안 되는지)을 어떻게 패키징하는지 살펴볼 것입니다.


핵심 요점


단일 워크스페이스에서 API를 설계, 목업, 테스트문서화하려면 Apidog을 다운로드하세요. 명령줄 API 테스트, CI 자동화 및 AI Agent 워크플로를 위한 Apidog CLI에 대해 자세히 알아보세요.

button

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

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