GN⁺: Agents.json - LLM을 위한 OpenAI 스펙
(github.com/wild-card-ai)- OpenAPI 표준을 기반으로 LLM과 API 간의 명확한 계약을 정의하는 오픈 스펙
- API 호출을 목적 기반의 도구로 구성하여 LLM이 쉽게 사용할 수 있도록 함
- 기존 OpenAPI 문서만으로는 LLM이 적절한 API를 선택하고 호출하는 데 어려움이 있었음
- agents.json은 API 호출 과정은 결정론적으로 유지하면서도, LLM이 달성하고자 하는 결과는 비결정론적으로 수행할 수 있도록 지원함
왜 필요한가?
- LLM을 사용하려면 API와 연동하는 방식을 직접 구현해야 하는 경우가 많음
- 많은 개발자들이 에이전트의 비결정론적 동작을 포기하고, 하드코딩된 워크플로우를 통해 원하는 결과를 얻으려 함
- agents.json을 사용하면 원하는 결과를 얻는 과정에서 LLM이 비결정론적으로 동작하면서도, API 호출 자체는 결정론적으로 실행될 수 있음
- 기존 API는 개발자 중심으로 설계되어 있어, LLM이 직접 사용하기에는 어려움이 있음
- Gmail API 예시:
- 이메일을 검색하고, 스레드의 이메일 목록을 가져오고, 특정 이메일에 응답하는 과정이 필요
- LLM이 OpenAPI 문서를 그대로 참고하면 적절한 API 호출을 선택하는 데 실패하는 경우가 많았음
- agents.json을 사용하면 API 호출을 미리 정의하여 올바른 순서대로 실행 가능
agents.json의 구성 요소
- agents.json 파일
- API 호출을 서로 연결하여 결과 중심적인 도구를 정의하는 역할
- 기존 OpenAPI 파일과 함께 사용됨
- agents.json SDK
- LLM이 agents.json을 기반으로 도구를 불러오고, 일련의 API 호출을 실행할 수 있도록 함
기존 OpenAPI와의 차이점
- OpenAPI만 사용하면 LLM이 API 호출을 올바르게 선택하지 못하는 경우가 많음
- agents.json을 사용하면 API 호출 과정을 템플릿화하여, 원하는 결과를 얻기 위한 최적의 API 호출 흐름을 제공 가능
오픈소스로 공개된 이유
- 초기에는 내부에서 사용하던 설정 파일이었으나, 점차 기능이 확장되면서 오픈소스로 공개 결정
- HubSpot의 CTO인 Dharmesh가 LLM을 위한 API 번역 스펙 개념을 제안했으며, 이에 영감을 받아 공개함
- 현재 10개의 검증된 API 통합이 이루어졌으며, 매일 새로운 API가 추가되고 있음
- 개발자가 쉽게 확장할 수 있도록 툴 검색 및 사용자 정의 컬렉션 플랫폼을 무료로 제공 (https://wild-card.ai)
Hacker News 의견
-
agents.json을 주목하고 있으며, 이 프로토콜이 성공하기를 바람
- MCP와 agents.json이 공존할 가능성이 있다고 생각함
- MCP는 더 많은 것을 다루며, 간소화된 프로토콜을 만드는 것이 어려울 수 있음
-
agents.json이 초기에 채택되려면 문서가 더 쉽게 이해되어야 함
- 예제가 즉시 볼 수 있어야 하고, 스키마가 가까이에 있어야 함
- 피치는 간결해야 하며, 스키마의 필드도 명확해야 함
- OpenAPI 스키마를 붙여넣으면 LLM이 agents.json의 초안을 생성하는 도구가 필요할 수 있음
-
OpenAPI와 agents.json의 호환성은 좋지만 과할 수 있음
- OpenAPI는 인기가 있지만 시장을 완전히 장악하지는 않았음
- 이로 인해 agents.json에 복잡성이 추가된다면, 지원할 가치가 있는지 의문임
- 100% 호환되지 않아도, 맞춤형 변환기를 통해 부분 지원이 가능할 수 있음
-
많은 사람들이 agentic IDE를 사용 중이며, agents.json이 사용법과 문서 찾는 방법, 레지스트리 검색 방법을 설명하는 스니펫을 공유하면 좋을 것임
-
agents.json과 OpenAPI Arazzo 사양의 차이점에 대한 질문
- LLM 사용에 더 적합한지에 대한 의문
- 예제를 보면 유사한 개념이 보임
-
실제 agents.json 파일을 보기 어렵다는 의견
- 레지스트리에서 10분 동안 찾아도 예제를 찾지 못함
-
Python 패키지의 라이선스에 대한 질문
- AGPL인지에 대한 의문
-
좋은 아이디어지만 라이선스 문제로 인해 채택이 어려울 수 있음
- 팀이 AGPL 패키지를 제품에 어떻게 채택할 수 있는지 설명해주길 바람
-
더 간단해질 수 있으며, 이는 좋은 일임
- 사양의 정보 속성 제목에서 버그를 발견했을 수 있음
-
agents.json과 llms.txt의 비교
- llms.txt도 LLM이 API를 이해하도록 돕는 표준으로 떠오르고 있음
- agents.json이 다른 엔드포인트의 구조적 이해를 더 잘하는 것 같음
-
agents가 OpenAPI 사양으로 문서화된 API를 사용하지 못하는 이유에 대한 질문
- 개인 테스트에서는 잘 작동했지만, 놓친 부분이 있을 것임
-
agents.json과 LLM.txt 파일이 robot.txt처럼 간단한 표준이 되기를 바람
- CrewAI, Letta/MemGPT, OpenHands/OpenDevin 등이 관련이 있지만, 경계를 넘는 것은 없음
- MCP가 가장 유연한 접근 방식이며, agents.json과 잘 어울릴 수 있기를 바람
- Netlify 팀이 Agent Experience(AX)에 대해 흥미로운 것을 생각하고 있으며, Anthropic과 wildcard 팀이 주목해야 함
-
MCP와의 유사점/차이점에 대한 질문
- 멋져 보임