(Open) Agent Spec: 오라클(Oracle)이 제안하는, AI 에이전트 및 에이전트 시스템을 위한 공개 명세 프로젝트

Agent Spec 소개

Agent Spec는 오라클(Oracle)에서 공개 및 제안하는 공개된 사양(Open Specification)으로, AI 에이전트(Agent)와 에이전트 기반 시스템(Agentic System)을 플랫폼에 구애받지 않고 정의하고 구성할 수 있도록 하는 표준화된 구성 언어(Configuration Language) 를 지향하고 있습니다.

오늘날 다양한 AI 에이전트 프레임워크(예: LangChain, CrewAI, ReAct 등)가 등장하면서, 각 프레임워크마다 에이전트를 정의하는 방식이 제각각이라는 문제가 생겼습니다. Agent Spec은 이러한 호환성의 단절을 해소하기 위해 등장한 통합 스펙을 목표로 합니다.

먼저, Agent Spec은 ‘컴포넌트(component)’라는 기본 단위를 통해 에이전트의 구조와 동작을 정의합니다. 각 컴포넌트는 에이전트의 기능, 설정 속성(property), 동작 의미(semantics)를 명세적으로 기술하며, 이를 통해 다양한 플랫폼 간의 일관된 해석이 가능합니다. 이러한 표준 사양은 에이전트 구성 요소를 YAML 포맷으로 직렬화(serialization) 및 역직렬화(deserialization) 할 수 있도록 설계되어 있으며, 여러 프로그래밍 언어에서 SDK로 구현될 수 있습니다. 즉, Agent Spec은 “AI 에이전트의 HTML”과도 같은 역할을 합니다. 플랫폼 독립적인 기술 언어로서, 각기 다른 프레임워크가 동일한 명세를 이해하고 실행할 수 있게 만듭니다.

Agent Spec은 LangChain의 LCEL(LangChain Expression Language) , OpenAI의 Function Calling Schema , Microsoft의 Semantic Kernel Config 등과 유사한 목적을 가집니다. 하지만 LangChain LCEL은 LangChain 생태계 내에서만 동작한다는 한계가 있으며, Function Calling Schema는 LLM API를 중심으로 설계되어 전체적인 시스템 구조를 표현하기에는 한계가 있습니다.

반면, Agent Spec은 플랫폼 중립성표준화된 구조적 명세에 초점을 맞추고 있습니다. 즉, 다양한 언어와 런타임에서 공통적으로 해석 가능한 스펙으로 설계되어, 기업 환경에서의 복잡한 멀티에이전트 시스템을 명확히 정의할 수 있어, 에이전트 아키텍처 수준의 메타 명세 언어를 지향하고 있습니다.

Agent Spec의 주요 장점(Key Benefits)

Agent Spec이 갖는 주요한 장점은 다음과 같습니다:

  • 프레임워크 간 이식성(Cross-Framework Portability): Agent Spec은 에이전트 설계와 런타임 실행을 명확히 분리합니다. 이를 통해 한 프레임워크(LangChain 등)에서 설계한 에이전트를 다른 프레임워크(예: WayFlow, Semantic Kernel)에서도 동일하게 실행할 수 있습니다. 즉, **“한 번 설계하면 어디서나 실행 가능”**한 환경을 제공합니다.

  • 모듈화 및 재사용성(Modular & Reusable): Agent Spec은 컴포넌트 기반(Component-Based) 구조를 채택하여, 복잡한 워크플로우나 멀티에이전트 시스템을 유연하게 구성할 수 있습니다. 각 컴포넌트는 독립적으로 설계되어 다른 에이전트나 프로젝트에서도 재사용이 가능하며, 확장성 높은 아키텍처 구축을 지원합니다.

  • 신뢰성과 일관성(Reliable & Consistent): Agent Spec은 “Specification-First” 접근 방식을 취합니다. 즉, 실행 코드보다 먼저 명세가 존재하며, 이는 예측 가능한 행동과 투명한 로깅을 가능하게 합니다. 이를 통해 에이전트의 동작이 재현 가능하고 관리 가능하며, 거버넌스와 신뢰성을 강화할 수 있습니다.

  • 평가와 비교에 용이(Evaluation-Ready by Design): Agent Spec은 내부적으로 메타데이터(Metadata)행동 제약 조건(Behavioral Constraints) 을 내장하여, 서로 다른 프레임워크에서 실행된 에이전트를 비교 및 평가할 수 있게 합니다. 이는 동일한 태스크에 대해 여러 프레임워크의 성능을 객관적으로 비교(Benchmarking)하는 데 유용합니다.

  • 높은 유연성(Flexibility): Agent Spec은 단일 에이전트뿐 아니라 오케스트레이터-워커(Orchestrator-Worker) 구조 같은 복합적 에이전트 시스템도 정의할 수 있습니다. 특정 프레임워크의 기술적 제약 없이, 문제 해결에 최적화된 구조를 설계하는 데 초점을 맞출 수 있습니다.

  • 다언어 SDK 지원(SDK Support): Agent Spec은 Python을 시작으로 다양한 언어에서 SDK를 제공합니다. 이 SDK를 통해 YAML 기반의 Agent Spec 구성을 손쉽게 직렬화(Serialize) 또는 역직렬화(Deserialize)할 수 있어, 개발과 디버깅이 훨씬 간편해집니다.

  • 표준화된 평가 환경(Evaluation Harness): Agent Spec은 표준화된 정의 방식을 기반으로, 프레임워크 간의 공정한 비교와 평가를 위한 Evaluation Harness(평가 프레임워크) 를 제공합니다. 이를 통해 어떤 프레임워크가 특정 작업에 더 적합한지 판단할 수 있으며, 연구 및 산업 현장에서의 기술 선택에 객관적 근거를 제공합니다.

Agent Spec의 철학은 딥러닝 모델 포맷인 ONNX(Open Neural Network Exchange) 에서 영감을 받았습니다. ONNX가 하나의 프레임워크에서 학습한 모델을 다양한 딥러닝 프레임워크(PyTorch, TensorFlow 등)에서 실행할 수 있도록 공통된 형식(format)을 제공하듯이, Agent Spec은 하나의 에이전트 시스템을 어느 프레임워크에서 설계하더라도 다른 프레임워크에서 그대로 실행 가능한 AI 에이전트의 표준 표현 포맷을 제공하는 것을 목표로 합니다.

Agent Spec Runtime Adapter

Agent Spec은 단순한 명세서가 아니라, 실제 실행을 지원하기 위한 런타임 어댑터(Runtime Adapter) 개념도 포함합니다. 에이전트를 실행하기 위해서는 Agent Spec으로 작성된 구성을 특정 프레임워크가 이해할 수 있는 내부 표현으로 변환해야 하는데, 이 역할을 어댑터가 담당합니다. Oracle에서는 이를 위한 참조 런타임(reference runtime) 으로 **WayFlow**를 제공합니다.

WayFlow는 Agent Spec 구성을 그대로 불러와 실행할 수 있는 일련의 API들을 제공하며, 실제 비즈니스 프로세스나 워크플로우 자동화에도 적용 가능합니다. 즉, Agent Spec → WayFlow → 실제 에이전트 실행이라는 일관된 구조가 가능합니다.

PyAgentSpec: Python SDK

Agent Spec 프로젝트의 핵심 구성요소 중 하나는 PyAgentSpec입니다. PyAgentSpec은 Python 환경에서 Agent Spec 기반의 에이전트를 손쉽게 생성하고, 이를 YAML 형식으로 변환하거나 역으로 불러올 수 있는 SDK(Software Development Kit) 입니다.

이 SDK의 주요 기능은 다음과 같습니다:

  • Agent Spec 명세에 따라 에이전트 컴포넌트를 객체 형태로 구현
  • 구현된 객체를 YAML로 직렬화 하거나, YAML로부터 객체 복원
  • 사양 준수(Conformance) 보장을 통해 프레임워크 간 호환성 유지

예를 들어, PyAgentSpec을 사용하면 다음과 같은 방식으로 ReAct 스타일의 대화형 에이전트를 구성하고, 이를 YAML로 내보내어 다른 런타임에서도 동일하게 해석되도록 만들 수 있습니다. 이는 곧 “Agent Spec을 이해하는 프레임워크”라면 어디서든 동일한 에이전트를 실행할 수 있음을 의미합니다.

PyAgentSpec 설치 및 시작하기

PyAgentSpec은 Python 3.10 이상 버전에서 테스트되었으며, 다음 절차로 설치할 수 있습니다:

# 저장소 복제
git clone https://github.com:oracle/agent-spec.git

# 프로젝트 디렉토리로 이동
cd agent-spec/pyagentspec

# 가상환경 생성 및 활성화
python3.10 -m venv venv
source venv/bin/activate

# 개발용 설치 스크립트 실행
bash install-dev.sh

개발 중에는 pre-commit hook을 설치하여 코드 품질을 유지할 수 있습니다:

pre-commit install

상세한 문서는 Agent Spec 공식 페이지에서 확인할 수 있으며, GitHub 저장소의 docs/ 디렉토리에서 문서 원본을 확인할 수 있습니다.

라이선스

Agent Spec 프로젝트는 UPL 1.0 라이선스 또는 Apache License 2.0을 선택적으로 사용할 수 있습니다. 상업적 사용을 포함하여 자유로운 배포가 가능하지만, 라이선스 조건에 따른 저작권 및 책임 조항은 반드시 명시해야 합니다.

:house: Agent Spec 프로젝트 홈페이지

:books: Agent Spec 프로젝트 문서

:github: Agent Spec 프로젝트 GitHub 저장소




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

1개의 좋아요