PromleeBlog
sitemapaboutMe

posting thumbnail
OpenAI Agents SDK 살펴보고 MCP 통합하기
Exploring the OpenAI Agents SDK and Integrating MCP

📅

🚀

들어가기 전에🔗

OpenAI Agents SDK는 에이전트 기반의 AI 애플리케이션을 만들 수 있도록 도와주는 Python SDK입니다. 이 SDK는 LLM에 도구(tool)를 연결하고, 문맥(Context)을 구성하며, 사용자의 요청을 구조화된 방식으로 처리하는 데에 중점을 둡니다
최근에는 이 SDK에 Model Context Protocol (MCP)이 통합되면서, 에이전트가 외부 서버와 연동되어 다양한 컨텍스트 및 도구 정보를 받아들이는 구조가 가능해졌습니다
이번 글에서는 SDK의 기본 구조와 개념부터 시작해, MCP와의 통합 방식, 실제 코드 예제까지 순서대로 살펴보겠습니다

🚀

OpenAI Agents SDK란?🔗

에이전트는 '지시(instruction)'를 받아 목표를 달성하기 위해 도구를 사용하며, 대화를 이어나가는 지능적인 실행 단위입니다. OpenAI Agents SDK는 이를 코드로 구현할 수 있도록 도와주는 고수준 API입니다
SDK는 크게 다음과 같은 기능을 제공합니다:
이 과정에서 문맥(Context) 관리가 핵심이며, 최근 도입된 MCP는 이를 더욱 구조화된 방식으로 가능하게 만듭니다

🚀

MCP와의 통합🔗

MCP(Model Context Protocol)는 문맥을 여러 계층(system, user, files 등)으로 나누어 구조화한 프로토콜입니다. Agents SDK는 MCP 서버와의 통신을 통해 도구(tool)를 불러오고, 해당 문맥에 맞는 응답을 생성할 수 있게 설계되어 있습니다

MCP 서버 예시🔗

공식 예제에서는 @modelcontextprotocol/server-filesystem이라는 MCP 서버를 사용해 파일 시스템과 상호작용합니다. 이를 통해 파일 열기, 나열하기 같은 도구가 자동으로 등록됩니다
from agents.mcp.server import MCPServerStdio
mcp_server = MCPServerStdio(
  params={
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-filesystem", "samples_dir"]
  },
  cache_tools_list=True
)
이 MCP 서버는 로컬 파일 시스템을 브라우징할 수 있는 도구 목록을 반환하며, 에이전트가 이를 활용할 수 있게 됩니다

🚀

에이전트 생성 및 실행🔗

에이전트를 생성하는 기본 코드는 다음과 같습니다
from agents import Agent
agent = Agent(
  name="FileAssistant",
  instructions="파일 시스템 도구를 사용해 작업을 도와주세요.",
  mcp_servers=[mcp_server]
)
이제 에이전트를 실행할 수 있습니다
from agents import Runner
async def main():
  result = await Runner.run(agent, "현재 디렉토리의 모든 파일을 보여줘")
  print(result.final_output)
에이전트는 내부적으로 MCP 서버의 list_tools()를 통해 도구 목록을 불러오고, 적절한 도구를 사용하여 사용자 지시에 따른 결과를 반환합니다

🚀

MCP 서버 유형🔗

Agents SDK는 MCP 서버를 두 가지 방식으로 연결할 수 있습니다:

🚀

정리하며🔗

OpenAI Agents SDK는 AI 에이전트를 코드로 구현하기 위한 강력한 도구입니다. 여기에 MCP가 결합되면서 외부 시스템과의 연결성, 문맥 확장성, 도구 재사용성이 크게 향상되었습니다
개발자는 MCP 서버를 직접 구현하거나, 제공되는 MCP 서버를 활용하여 유연하고 확장 가능한 에이전트를 만들 수 있습니다

더 생각해 보기🔗

참고🔗