用 deepagents deploy 构建文档优先的 MCP 研究型 Agent:deploy-mcp-docs-agent 完整实战指南

📅 发布时间:2026/9/10 16:14:48
用 deepagents deploy 构建文档优先的 MCP 研究型 Agent:deploy-mcp-docs-agent 完整实战指南
用 deepagents deploy 构建文档优先的 MCP 研究型 Agentdeploy-mcp-docs-agent 完整实战指南【免费下载链接】deepagentsThe batteries-included agent harness.项目地址: https://gitcode.com/GitHub_Trending/de/deepagents导读本指南围绕当前仓库 examples/deploy-mcp-docs-agent 中的示例展开讲解如何用deepagents deploy将一个文档优先docs-first的技术研究 Agent 部署到 LangSmith。该 Agent 通过 MCP 实时检索 LangChain、LangGraph 与 Deep Agents 的在线文档后再作答并始终给出答案出处。读完本文你将掌握deepagents deploy的部署前置条件与完整流程、工作区级 MCP 服务器的注册与引用方式、docs-first 行为约束的编写规范以及通过 LangGraph SDK 流式调用已部署 Agent 的方法。示例概览一个文档优先的技术问答 Agentdeploy-mcp-docs-agent是一个文档研究型 Agentdocumentation research agent定位是回答开发者关于LangChain、LangGraph 和 Deep Agents的技术问题。它的核心策略是先通过 MCP 工具检索实时live文档再基于检索到的文档内容组织答案只有在文档无法覆盖时才退回到模型自身的一般知识general knowledge。从 AGENTS.md 的声明可以看到它被明确设定为 docs-first technical research agent职责描述是 answer developer questions by using the available MCP documentation tools before relying on general knowledge。也就是说MCP 文档工具是它的第一信息来源模型的先验知识只是兜底。这种设计非常适合团队内部的文档问答助手场景开发者可以随时向它询问 API 用法、配置项、部署方式等问题而答案始终锚定在官方文档的最新内容上避免模型因训练数据过时而给出过时或臆造的答案。前置条件两个必要的 API Key部署该示例前需要准备两个环境变量变量用途ANTHROPIC_API_KEY提供 Claude 模型访问本示例agent.json默认使用anthropic:claude-sonnet-4-5LANGSMITH_API_KEYdeepagents deploy部署所必需其中LANGSMITH_API_KEY是部署流程本身的硬性要求——deepagents deploy需要将编译后的 Agent 图CompiledStateGraph上传到 LangSmith 的部署基础设施。这一点与当前仓库中 libs/deepagents/THREAT_MODEL.md 的描述一致Deep Agents 本身并不运行服务端产出的是可被用户自行托管的CompiledStateGraph而deepagents deploy则借助 LangSmith 完成托管。部署流程deepagents deploy 两步走第一步注册文档 MCP 服务器在 Deep Agents 中MCP 服务器是工作区级workspace-level资源。只需注册一次 LangChain 文档服务器之后就可以在tools.json等配置中反复引用它deepagents mcp-servers add --url https://docs.langchain.com/mcp --name docs-langchain这条命令将一个远程 MCP 端点LangChain 官方文档提供的 MCP 服务注册到当前工作区并命名为docs-langchain。注册完成后Agent 即可通过该名字引用的 MCP 工具访问 LangChain / LangGraph / Deep Agents 的最新文档。从仓库中其他部署类示例可以印证这一模式例如 examples/deploy-gtm-agent 同样在mcp.json中维护 MCP 服务器配置说明 MCP 服务器配置是可跨示例复用的标准资源。Deep Agents 主仓库 README.md 在特性列表中也将 MCP 列为一等公民——Tools — bring your own functions or any MCP server即既支持自定义函数也支持任意 MCP 服务器接入。第二步执行部署deepagents deploy在示例目录下运行该命令deepagents deploy会读取目录中的部署配置agent.json编译 Agent 并部署到 LangSmith。类似地deploy-gtm-agent示例中的子代理subagents/会在部署时被自动发现并接入——虽然本示例没有子代理但这一机制说明部署流程会递归处理目录中的 Agent 相关配置。部署完成后打开 LangSmith在Deployments面板中找到你的部署 URL即可开始使用。What to try部署后的提问测试部署完成后可以在 LangSmith 中打开该 Agent尝试以下问题How do I configure memory in Deep Agents?Whats the difference between sync and async subagents?Show me how to add an MCP server to deepagents.tomlWhat models are supported for deploy?这些问题的共同特征是与 Deep Agents / LangGraph 的配置、机制和部署强相关。Agent 收到问题后的标准行为是先搜索文档再打开最相关的文档页面最后给出答案并标注答案来源页面。你可以通过提问未在文档中记录的问题来验证它的边界行为——此时它应当明确告知无法确认而不是编造答案。通过 LangGraph SDK 查询已部署的 Agent除了在 LangSmith 界面中交互还可以用langgraph_sdk以代码方式流式调用已部署的 Agentfrom langgraph_sdk import get_client client get_client(urlhttps://your-deployment-url) thread await client.threads.create() async for chunk in client.runs.stream( thread[thread_id], agent, input{messages: [{role: user, content: How do I add an MCP server to deepagents.toml?}]}, stream_modemessages, ): print(chunk.data, end, flushTrue)要点说明get_client(url...)中的url替换为 LangSmithDeployments面板中显示的部署 URLthread await client.threads.create()创建一条新的会话线程thread[thread_id]用于后续所有轮次调用保证多轮对话的上下文连续性client.runs.stream(...)以messages流模式流式返回消息块chunk.data即每个增量内容可直接打印输出输入消息使用 OpenAI 风格的 messages 结构agent为部署图中的 Agent 节点名。这一调用方式与 Deep Agents 底层基于 LangGraph 的运行时一致Deep Agents 构建在 LangGraph 之上流式、持久化、checkpointing因此部署产物天然支持 LangGraph SDK 的标准客户端协议。示例结构两份文件的极简部署deploy-mcp-docs-agent/ ├── AGENTS.md # Agent 指令与答案格式 └── agent.json # 部署配置名称、模型agent.json声明 Agent 名称与模型agent.json 是部署配置文件内容如下{ name: deploy-mcp-docs-agent, runtime: { model: {model_id: anthropic:claude-sonnet-4-5} } }name部署后 Agent 的名称标识runtime.model.model_id指定运行时使用的模型这里为 Anthropic 的claude-sonnet-4-5对应前置条件中的ANTHROPIC_API_KEY。需要注意的是部署配置并不只有agent.json一种形式仓库中 examples/deploy-gtm-agent 使用deepagents.toml承载模型配置并使用mcp.json维护 MCP 服务器配置还通过skills/、subagents/组织可复用能力与子代理。也就是说agent.json与本示例中的内联 MCP 注册命令是一种轻量组合而大型示例可以选择更完整的deepagents.toml mcp.json组合。AGENTS.md约束文档优先行为AGENTS.md 是决定 Agent 行为质量的核心文件定义了四个维度的指令值得逐条理解核心行为Core behavior涉及 API、特性、配置、部署、MCP、内存、工具、中间件、LangGraph 与 Deep Agents 的事实性问题优先使用文档 MCP 工具标准检索流程先搜索 → 再打开最相关的文档页面 → 最后作答尽量基于文档化行为作答文档不完整或有歧义时必须明确说明严格区分文档证实的事实与自己的推断回答要求简洁、技术化、实用。答案格式Answer format先给出直接答案附一段基于文档的简短解释有用时引用相关页面标题或 URL存在多种有效方案时简要对比若某 API 或行为未在文档中记录必须输出I couldnt verify that in the docs.工具工作流Tooling workflow用文档 MCP 搜索工具查找相关页面用文档 MCP 页面阅读工具打开最佳匹配依据文档综合出答案文档无法支撑的说法避免猜测。边界Boundaries不编造未记录的 flag、API 或配置文档未显示的内容不声称确定用户索要代码时提供与所查文档一致的最小示例用户提出非文档类问题时仍可帮助但要注明已超出文档范围。这套指令本质上是一种可验证性优先的提示工程它把引用出处区分事实与推断承认未知固化为 Agent 的硬性输出契约这正是文档问答类 Agent 与普通聊天模型的关键差异。源码佐证部署模型与 MCP 支持从当前仓库源码可以进一步确认上述流程的底层依据Deep Agents 是构建在 LangGraph 之上的 agent harness其 README.md 明确说明 Production-ready — built on LangGraph (streaming, persistence, checkpointing) with first-class tracing, evaluation, and deployment via LangSmith即部署依赖 LangSmith这正是LANGSMITH_API_KEY为部署必需项的原因工具能力上Deep Agents 支持 bring your own functions or any MCP server与示例中通过deepagents mcp-servers add接入文档 MCP 的方式完全对应libs/deepagents/deepagents/graph.py 中也有关于通过 LangSmith 部署的 Agent 的说明性注释印证deepagents deploy产物托管于 LangSmith 部署体系同步/异步子代理、中间件memory、filesystem、subagents、skills 等均在 libs/deepagents/deepagents/middleware 中有完整实现示例提问中的 sync and async subagents、memory 等概念都指向这些真实模块读者可以直接在源码中对照查阅。常见问题与排查建议部署失败提示缺少LANGSMITH_API_KEY确认环境变量已导出且账户具备部署权限Agent 答非所问或引用缺失检查AGENTS.md是否完整保留搜索→打开→作答→引用的工作流指令以及未记录即说明的边界条款MCP 工具不可用确认已执行deepagents mcp-servers add且名称docs-langchain在tools.json中被正确引用模型访问报错确认agent.json中model_id与前置条件中的 API Key 匹配本示例为 Anthropic 系模型需要ANTHROPIC_API_KEY。小结deploy-mcp-docs-agent用最精简的两份文件AGENTS.mdagent.json演示了一条可复用的文档优先 Agent生产线注册文档 MCP →deepagents deploy部署 → LangSmith 界面或 LangGraph SDK 调用。其核心价值在于通过AGENTS.md将先查文档、注明出处、承认未知固化为行为契约从而让 AI 技术问答从可能幻觉走向可追溯、可验证。这一模式可以平移到任意技术栈只需替换 MCP 端点与AGENTS.md中的主题范围即可快速打造你自己的文档问答助手。【免费下载链接】deepagentsThe batteries-included agent harness.项目地址: https://gitcode.com/GitHub_Trending/de/deepagents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考