Mastra Agent — 대화와 도구 사용
Mastra Agent — 대화와 도구 사용
Mastra 의 Agent 는 LLM, 도구, 메모리를 결합해 맥락을 기억하고 외부 기능을 쓸 수 있는 대화 주체예요. 정해진 시스템 프롬프트와 도구를 주고 원하는 작업을 시키는 방식이죠.
기본 에이전트 만들기
import { openai } from '@ai-sdk/openai';
import { Agent } from '@mastra/core/agent';
const agent = new Agent({
name: 'my-agent',
instructions: '너는 도움이 되는 어시스턴트야.',
model: openai('gpt-4o'),
});
const result = await agent.generate('세종대왕은 언제 태어났어?');
Tool 통합
도구를 만들어 에이전트가 외부 기능을 쓰게 할 수 있어요.
import { createTool } from '@mastra/core/tools';
import { z } from 'zod';
const weatherTool = createTool({
id: 'get-weather',
inputSchema: z.object({ city: z.string() }),
outputSchema: z.object({ temp: z.number() }),
execute: async ({ context }) => getWeather(context.city),
});
제공한 도구는 tools 옵션으로 에이전트에 연결해요. 에이전트는 작업을 수행하며 필요할 때 도구를 자동 호출해요(tool calling).
근거 기반 답변 / 스트리밍
generate: 전체 답변을 한 번에 받아요.stream: 토큰 단위로 스트리밍해 UI 에 점진적으로 표시해요.- RAG 지식과 결합해 출처를 인용한 답변도 만들 수 있어요.
더 알아보기 (Learn more)
출처: Mastra Agents 문서