# 在工作流中使用代理 现在您将创建一个使用您的AI代理提供智能内容分析的工作流步骤。 在每个步骤中,在执行函数中,您可以访问 `mastra` 类,该类为您提供访问代理、工具甚至其他工作流的能力。在这种情况下,我们使用 `mastra` 类来获取我们的代理并调用该代理的 `generate()` 函数。 ## 创建AI分析步骤 将此步骤添加到您的工作流文件中: ```typescript const aiAnalysisStep = createStep({ id: "ai-analysis", description: "AI-powered content analysis", inputSchema: z.object({ content: z.string(), type: z.string(), wordCount: z.number(), metadata: z.object({ readingTime: z.number(), difficulty: z.enum(["easy", "medium", "hard"]), processedAt: z.string(), }), summary: z.string(), }), outputSchema: z.object({ content: z.string(), type: z.string(), wordCount: z.number(), metadata: z.object({ readingTime: z.number(), difficulty: z.enum(["easy", "medium", "hard"]), processedAt: z.string(), }), summary: z.string(), aiAnalysis: z.object({ score: z.number(), feedback: z.string(), }), }), execute: async ({ inputData, mastra }) => { const { content, type, wordCount, metadata, summary } = inputData; // Create prompt for the AI agent const prompt = ` Analyze this ${type} content: Content: "${content}" Word count: ${wordCount} Reading time: ${metadata.readingTime} minutes Difficulty: ${metadata.difficulty} Please provide: 1. A quality score from 1-10 2. Brief feedback on strengths and areas for improvement Format as JSON: {"score": number, "feedback": "your feedback here"} `; // Get the contentAgent from the mastra instance. const contentAgent = mastra.getAgent("contentAgent"); const { text } = await contentAgent.generate([ { role: "user", content: prompt }, ]); // Parse AI response (with fallback) let aiAnalysis; try { aiAnalysis = JSON.parse(text); } catch { aiAnalysis = { score: 7, feedback: "AI analysis completed. " + text, }; } console.log(`🤖 AI Score: ${aiAnalysis.score}/10`); return { content, type, wordCount, metadata, summary, aiAnalysis, }; }, }); ``` 您的代理驱动步骤已准备就绪!接下来,您将将其添加到您的工作流中以实现完整的AI增强内容处理。