에이전트에 도구 연결하기

에이전트에 도구 연결하기

Composio를 에이전트에 붙이는 기본 흐름은 간단해요. 세션을 만들고, 그 세션의 도구를 에이전트에 넘겨주면 됩니다. 파이썬과 타입스크립트 모두 비슷한 패턴이에요.

출처: https://docs.composio.dev/docs/quickstart

파이썬 예시

OpenAI Agents 프레임워크와 함께 쓰는 파이썬 예시를 볼게요. 먼저 설치하고요.

pip install composio composio-openai-agents openai-agents

그다음 Composio 세션을 만들고 도구를 꺼내서 에이전트에 넣어요.

from composio import Composio
from composio_openai_agents import OpenAIAgentsProvider
from agents import Agent, Runner

composio = Composio(provider=OpenAIAgentsProvider())

# 각 세션은 내 사용자 한 명에게 범위가 한정돼요
session = composio.create(user_id="user_123")
tools = session.tools()

agent = Agent(
    name="Personal Assistant",
    instructions="You are a helpful assistant. Use Composio tools to take action.",
    tools=tools,
)

result = Runner.run_sync(starting_agent=agent, input="Summarize my emails from today")
print(result.final_output)

타입스크립트 예시

타입스크립트도 같은 흐름이에요.

npm install @composio/core @composio/openai-agents @openai/agents
import { Composio } from "@composio/core";
import { OpenAIAgentsProvider } from "@composio/openai-agents";
import { Agent, run } from "@openai/agents";

const composio = new Composio({ provider: new OpenAIAgentsProvider() });

// 각 세션은 내 사용자 한 명에게 범위가 한정돼요
const session = await composio.create("user_123");
const tools = await session.tools();

const agent = new Agent({
  name: "Personal Assistant",
  instructions: "You are a helpful assistant. Use Composio tools to take action.",
  tools,
});

const result = await run(agent, "Summarize my emails from today");
console.log(result.finalOutput);

포인트 정리

  • 세션은 사용자 단위: composio.create(user_id="...")처럼 사용자마다 세션을 나눠요. 다른 사용자의 계정 연결이 섞이지 않아요.
  • tools()로 꺼내기: 세션에서 .tools()를 호출하면 그 사용자에게 연결된 도구 목록을 받아요.
  • 도구로 행동하기: 에이전트가 도구를 호출하면 실제 외부 앱에서 행동이 일어나요.

이상의 세 단계면 에이전트가 이메일 요약, 일정 확인, 저장소 작업 같은 행동을 수행할 수 있는 기본기가 갖춰져요.

더 알아보기

  • 어떤 앱이 지원되는지는 «도구 키트 둘러보기»를 보세요.
  • 이벤트 기반 연결은 «트리거로 이벤트 받기»에서 다뤄요.