2024最新AgentKit入门教程从安装到第一个多智能体应用【免费下载链接】agent-kitAgentKit: Build multi-agent networks in TypeScript with deterministic routing and rich tooling via MCP.项目地址: https://gitcode.com/gh_mirrors/ag/agent-kitAgentKit是一个强大的TypeScript多智能体网络构建框架通过确定性路由和丰富的MCP工具支持帮助开发者快速构建复杂的AI智能体系统。无论你是AI开发新手还是经验丰富的开发者这篇完整指南都将带你从零开始掌握AgentKit的核心概念和实践技巧。为什么选择AgentKit在当今AI应用开发中构建能够协作的多智能体系统变得至关重要。AgentKit提供了以下独特优势确定性路由通过状态驱动的路由机制确保智能体协作的可预测性和可控性MCP工具集成轻松集成丰富的工具生态系统扩展智能体能力TypeScript原生为TypeScript开发者提供完整的类型安全和开发体验生产就绪内置故障恢复、追踪和监控功能快速开始安装与配置环境准备首先确保你的系统已安装Node.js版本20.x或更高和npm。然后创建一个新项目mkdir my-agentkit-project cd my-agentkit-project npm init -y安装AgentKitAgentKit需要同时安装核心包和Inngest运行时依赖npm install inngest/agent-kit inngest重要提示从AgentKit v0.9.0开始inngest是必需的依赖项必须与inngest/agent-kit一起安装以确保运行时兼容性。设置API密钥AgentKit支持多种AI模型提供商。以Anthropic Claude为例设置环境变量export ANTHROPIC_API_KEY你的API密钥创建你的第一个智能体智能体Agent是AgentKit的基本构建块每个智能体都有特定的角色和任务。让我们创建一个PostgreSQL数据库管理专家智能体import { createAgent, anthropic } from inngest/agent-kit; const dbaAgent createAgent({ name: 数据库管理员, description: 提供PostgreSQL数据库管理的专家支持, system: 你是一位PostgreSQL专家数据库管理员。你只回答与PostgreSQL数据库架构、索引和扩展相关的问题。, model: anthropic({ model: claude-3-5-haiku-latest, defaultParameters: { max_tokens: 1000, }, }), });这个智能体专门处理PostgreSQL相关问题使用Claude 3.5 Haiku模型作为大脑。启动智能体服务器创建HTTP服务器来运行智能体import { createServer } from inngest/agent-kit/server; const server createServer({ agents: [dbaAgent], }); server.listen(3000, () { console.log(AgentKit服务器正在运行); });使用TypeScript运行器启动服务器npx tsx ./index.ts构建多智能体网络AgentKit的真正威力在于创建智能体网络Network让多个智能体协作解决复杂问题。让我们扩展之前的例子添加一个数据库安全专家智能体。创建第二个智能体import { createAgent, anthropic, createTool } from inngest/agent-kit; import { z } from zod; const securityAgent createAgent({ name: 数据库安全专家, description: 提供PostgreSQL安全、访问控制、审计日志和合规性最佳实践的专家指导, system: 你是一位PostgreSQL安全专家。你只回答与PostgreSQL安全主题相关的问题如加密、访问控制、审计日志和合规性最佳实践。, model: anthropic({ model: claude-3-5-haiku-latest, defaultParameters: { max_tokens: 1000, }, }), tools: [ createTool({ name: 保存答案, description: 将问题的答案保存到状态中, parameters: z.object({ answer: z.string(), }), handler: async ({ answer }, { network }) { network?.state.kv.set(security_answer, answer); }, }), ], });创建智能体网络现在让我们将两个智能体组合成一个网络import { createNetwork } from inngest/agent-kit; const devOpsNetwork createNetwork({ name: DevOps团队, agents: [dbaAgent, securityAgent], router: ({ network }) { if (!network?.state.kv.has(security_answer)) { return securityAgent; } else if ( network?.state.kv.has(security_answer) network?.state.kv.has(dba_answer) ) { return; } return dbaAgent; }, });这个网络使用状态驱动的路由逻辑首先调用安全专家智能体然后调用数据库管理员智能体最后完成执行。使用Inngest开发服务器调试AgentKit与Inngest开发服务器无缝集成提供强大的调试和监控功能npx inngest-clilatest dev -u http://localhost:3000/api/inngest打开http://localhost:8288/functions你可以查看所有智能体和网络在函数列表中识别你的智能体调用智能体通过简单的JSON输入测试智能体响应实时追踪执行监控每个步骤的详细执行过程检查状态变化查看智能体间的状态共享高级功能MCP工具集成AgentKit通过MCPModel Context Protocol支持丰富的工具生态系统。以下是一个使用Neon数据库MCP服务器的示例import { createSmitheryUrl } from smithery/sdk/config.js; const neonServerUrl createSmitheryUrl( https://server.smithery.ai/neon/mcp?profilebored-catshark-da8hf ); const neonAgent createAgent({ name: neon-agent, system: 你是一个帮助管理Neon账户的有用助手。重要回答问题后调用done工具。, tools: [ createTool({ name: done, description: 任务完成后调用此工具, parameters: z.object({ answer: z.string().describe(用户问题的答案), }), handler: async ({ answer }, { network }) { network?.state.kv.set(answer, answer); }, }), ], mcpServers: [ { name: neon, transport: { type: streamable-http, url: neonServerUrl.toString(), }, }, ], });这个智能体可以直接与Neon数据库交互执行SQL查询和管理数据库操作。实际应用示例1. 支持代理系统AgentKit可以构建复杂的支持代理系统自动路由问题到合适的专家2. 代码助手智能体查看examples/code-assistant-agentic/src/index.ts中的代码助手示例它展示了如何创建能够分析代码、生成文档和提出改进建议的多智能体系统。3. Daytona编码代理Daytona编码代理示例展示了如何创建能够构建Web应用、运行测试和执行脚本的智能体最佳实践与技巧1. 状态管理AgentKit的状态系统是智能体协作的核心。合理设计状态结构interface NetworkState { currentStep: analysis | implementation | review; requirements: string[]; implementationPlan: string[]; codeChanges: Recordstring, string; }2. 路由策略根据你的需求选择合适的路由策略代码路由完全控制执行流程智能体路由让AI自主决定下一个执行的智能体混合路由结合代码逻辑和AI决策3. 错误处理为智能体添加适当的错误处理const resilientAgent createAgent({ name: 弹性智能体, system: 你是一个能够处理各种情况的智能体..., model: anthropic({ model: claude-3-5-haiku-latest }), lifecycle: { onError: (error, { network }) { console.error(智能体执行错误:, error); network?.state.kv.set(lastError, error.message); return 抱歉处理请求时出现错误。请稍后重试。; }, }, });部署到生产环境AgentKit与Inngest云平台无缝集成提供生产级的功能故障恢复自动重试失败的智能体调用监控和追踪详细的执行日志和性能指标可扩展性根据负载自动扩展智能体实例下一步学习路径掌握了基础后你可以深入探索以下主题工具开发创建自定义工具扩展智能体能力高级路由模式实现复杂的智能体协作逻辑MCP集成连接更多外部服务和数据源性能优化优化智能体响应时间和资源使用查看官方文档中的高级模式部分了解更多高级用例和最佳实践。总结AgentKit为TypeScript开发者提供了一个强大而灵活的多智能体构建框架。通过本教程你已经学会了✅ 安装和配置AgentKit环境✅ 创建单个智能体并设置服务器✅ 构建多智能体协作网络✅ 使用状态驱动的路由机制✅ 集成MCP工具扩展智能体能力✅ 使用开发服务器调试和监控现在你已经准备好构建自己的AI智能体应用了从简单的任务自动化到复杂的多智能体系统AgentKit都能提供强大的支持。开始你的AI智能体开发之旅吧提示所有示例代码都可以在项目的examples目录中找到包括快速启动、代码助手、支持代理等多个实际应用场景。【免费下载链接】agent-kitAgentKit: Build multi-agent networks in TypeScript with deterministic routing and rich tooling via MCP.项目地址: https://gitcode.com/gh_mirrors/ag/agent-kit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考