axi은(는) 무엇을 하나요?
Agent eXperience Interface (AXI) — 에이전트가 셸 실행을 통해 사용하는 CLI 도구 구축을 위한 인체공학적 표준입니다. 에이전트 대상 CLI를 구축, 수정 또는 검토할 때 사용하세요.
개요
AXI는 AI 에이전트가 CLI 도구를 사용할 때 발생하는 일반적인 문제를 해결합니다:
- 지나친 장황함: 에이전트는 불필요한 텍스트 없이 핵심 정보만 필요합니다.
- 비표준 출력: 일관된 형식(JSON, 테이블, 플레인 텍스트)을 사용하여 에이전트가 쉽게 파싱할 수 있어야 합니다.
- 대화형 프롬프트: 에이전트는 비대화형 모드로 실행되어야 합니다.
- 불명확한 오류: 오류 메시지는 명확하고 기계가 읽을 수 있어야 합니다.
핵심 원칙
-
일관된 출력 형식
--json플래그를 지원하여 JSON 출력을 제공합니다.- 테이블 출력은
--table플래그로 명시적으로 요청합니다. - 기본 출력은 플레인 텍스트이며, 줄바꿈과 탭으로 구조화합니다.
-
예측 가능한 종료 코드
- 성공 시
0, 오류 시1, 잘못된 사용법 시2를 반환합니다. - 치명적 오류는
127을 사용합니다.
- 성공 시
-
환경 변수 기반 설정
- 설정은 환경 변수(
CLI_TOOL_*접두사)를 통해 전달합니다. - 설정 파일보다 환경 변수를 우선시합니다.
- 설정은 환경 변수(
-
비대화형 모드
- 모든 CLI 작업은
--non-interactive플래그를 지원합니다. - 프롬프트나 입력 요청이 없어야 합니다.
- 모든 CLI 작업은
-
명확한 도움말
--help출력은 각 명령어와 플래그를 간결하게 설명합니다.- 예제는 실제 사용 시나리오를 보여줍니다.
구현 가이드
JSON 출력 예시
$ my-cli --json
{"status": "success", "data": [...]}
테이블 출력 예시
$ my-cli --table
NAME VERSION
foo 1.0.0
bar 2.3.4
환경 변수 설정
export MY_CLI_VERBOSE=1
export MY_CLI_TIMEOUT=30
검사 목록
- 모든 명령어에
--json및--table플래그를 추가했습니다. - 종료 코드가 표준을 따릅니다.
- 환경 변수로 설정을 오버라이드할 수 있습니다.
- 비대화형 모드가 구현되었습니다.
- 도움말이 명확하고 예제를 포함합니다.
라이선스
MIT