使用 deepagents deploy 构建 GTM 策略 Agent:同步/异步子 Agent 编排实战
2026/9/10 12:26:37 网站建设 项目流程

使用 deepagents deploy 构建 GTM 策略 Agent:同步/异步子 Agent 编排实战

【免费下载链接】deepagentsThe batteries-included agent harness.项目地址: https://gitcode.com/GitHub_Trending/de/deepagents

导读

本文基于开源仓库GitHub_Trending/de/deepagents中的examples/deploy-gtm-agent示例,讲解如何用deepagents deploy将一个「go-to-market(GTM,市场进入)策略 Agent」部署到 LangSmith 云端运行。该示例的核心价值在于演示了 deepagents 最典型的同步子 Agent(sync subagent)与异步子 Agent(async subagent)混合编排模式:市场调研同步阻塞等待结果,内容创作则在后台异步执行、就绪后汇入最终策略。读完本文,你将掌握 GTM Agent 的目录结构与角色配置、deepagents deploy的部署流程、通过 LangGraph SDK 流式查询部署后 Agent 的方法,以及异步子 Agent 在框架底层(libs/deepagents/deepagents/middleware/async_subagents.py)的实现原理。

一、示例概览:一个会「先调研、再出策略、后写内容」的 Agent

deploy-gtm-agent是一个面向产品/功能发布的 GTM 策略 Agent。给定一个产品或功能,它会协调两类子 Agent 产出一份完整的 GTM 计划以及配套的营销物料:

  • market-researcher(同步):负责市场调研,包括竞争分析、TAM/SAM/SOM 估算、受众细分等。同步意味着主 Agent 会阻塞等待调研结果,再基于结果撰写策略,保证「策略建立在数据之上」。
  • content-writer(异步):负责长耗时的内容创作任务——博客文章、落地页、营销文案。异步意味着任务在后台运行,主 Agent 立即拿到任务 ID,可边推进其他工作边监控进度,物料就绪后再集成进最终 GTM 计划。

这一同步/异步组合正是 deepagents 子 Agent 体系的核心用法:同步保因果(先有调研才有策略),异步保并行(内容创作不阻塞策略主线)。

二、前置条件与环境准备

README 明确列出部署前需要准备的环境变量:

变量说明
OPENAI_API_KEY模型访问凭证(示例使用gpt-5.4-nano
LANGSMITH_API_KEY部署到 LangSmith 所需凭证

操作步骤:将.env复制到示例目录并填入上述密钥。部署动作依赖 LangSmith 平台,因此LANGSMITH_API_KEY是必须项;OPENAI_API_KEY用于模型调用。

从配置层面可以进一步印证模型的选择:根级部署清单 agent.json 中声明了"model": {"model_id": "openai:gpt-5.4-nano"},而市场调研子 Agent 的清单 subagents/market-researcher/agent.json 则声明"model_id": "openai:gpt-5.4-mini"——即父 Agent 与子 Agent 可以各自使用不同的模型,调研类子任务用更小的模型降低成本,而策略规划由能力更强的模型完成。作为对照,同一仓库中的 content-writer 异步内容子 Agent(见 examples/deploy-content-writer/agent.json)使用的是openai:gpt-4.1。这提示我们在设计自己的部署时,可以为每个角色单独指定模型档位。

三、部署:一条命令完成装配与上线

deepagents deploy

在示例目录下执行该命令即可。subagents/目录下定义的子 Agent 会在部署时被自动发现并接入(automatically discovered and wired in),无需手工注册。这种「约定优于配置」的设计,使新增一个子 Agent 只需添加一个目录及其清单文件。

需要说明的是:README 中给出的结构示意包含deepagents.tomlmcp.json,而当前仓库中该示例实际落地的清单文件为agent.json(根级与子 Agent 级均有)。从源码结构看,deepagents deploy会扫描并加载这些清单来组装部署配置,因此以仓库实际文件为准、按需补充模型字段即可。具体可对照实际目录树:

examples/deploy-gtm-agent/ ├── AGENTS.md # Supervisor 指令 ├── README.md ├── agent.json # 部署配置(模型:openai:gpt-5.4-nano) ├── skills/ │ └── competitor-analysis/ │ └── SKILL.md # 竞争分析技能 └── subagents/ └── market-researcher/ # 同步市场调研子 Agent ├── AGENTS.md ├── agent.json # 子 Agent 模型:openai:gpt-5.4-mini └── skills/ └── analyze-market/ └── SKILL.md # 市场分析技能

四、角色拆解:Supervisor 指令、技能与子 Agent

4.1 根级 Supervisor:AGENTS.md

examples/deploy-gtm-agent/AGENTS.md 定义了主 Agent 的能力边界与工作流,是「编排逻辑」的文本载体:

  • 能力声明:明确自身负责协调market-researcher(同步)与content-writer(异步)两类子 Agent,并逐一说明各子 Agent 负责的职责范围(竞争分析、TAM/SAM/SOM、受众细分、长文创作等)。
  • 工作流(4 步):① 收到产品/功能后,先委派市场调研;② 基于调研结论制定包含定位、定价、渠道选择的 GTM 策略;③ 通过异步子 Agent 启动营销物料创作;④ 监控异步任务并把交付物集成进最终 GTM 计划。
  • 行为准则:建议必须基于市场调研数据给出推荐、策略需附带理由与证据、为 content-writer 撰写内容简报时须包含目标受众、关键信息与语气指南。

4.2 同步子 Agent:Market Researcher

subagents/market-researcher/AGENTS.md 定义了调研专员的行为:

  • 关注领域:市场体量(TAM/SAM/SOM 估算与方法论)、竞争分析(定位、定价、份额)、受众细分(人口、心理、购买行为)、趋势分析(行业趋势、新技术、监管变化)。
  • 产出格式:用write_file工具将完整 Markdown 调研报告写入/memories/subagents/market-researcher/market-research-report.md,其余结构化字段从报告中精炼提取,并在full_report_path字段返回文件路径——这意味着主 Agent 可以通过该路径读取完整报告用于策略撰写。
  • 准则:尽可能引用来源、区分硬数据与估算、标注不确定区域、聚焦对 GTM 决策有行动价值的内容。

4.3 技能(Skills):让能力可复用、可触发

技能采用 frontmatter 声明式定义,包含namedescription(描述触发条件),正文给出操作步骤:

  • competitor-analysis:skills/competitor-analysis/SKILL.md 在出现「competitive landscape / competitor analysis / market comparison / competitive positioning」等关键词时触发,要求识别 Top 3-5 竞品、逐家评估定位/定价/受众/优劣势、输出对比矩阵、指出差异化机会。
  • analyze-market:subagents/market-researcher/skills/analyze-market/SKILL.md 在出现「market analysis / market size / TAM SAM SOM / market opportunity」等关键词时触发,要求界定市场边界(地理/细分/时间窗)、估算 TAM/SAM/SOM、识别趋势与增长驱动、绘制竞争格局、评估进入壁垒、给出机会总结与建议。

技能机制的价值在于:同一份方法论可以被根 Agent 与子 Agent 复用,且通过 trigger 描述让模型在合适的场景自动选用,而非每次提示词都重新描述流程。

五、底层原理:同步/异步子 Agent 在框架中如何实现

5.1 三种子 Agent 形态

从框架源码 libs/deepagents/deepagents/graph.py 可以看到,create_agent的子 Agent 参数接受三种规格:

  • SubAgent:声明式的同步子 Agent 规格;
  • CompiledSubAgent:预编译的 runnable 子 Agent;
  • AsyncSubAgent:远程/后台运行的子 Agent 规格。

其中AsyncSubAgent条目会被识别为异步子 Agent,可附带urlheaders,以后台任务方式运行并暴露专门的异步子 Agent 工具(启动、监控、更新)。若未提供名为general-purpose的子 Agent,框架还会自动添加一个默认的通用同步子 Agent(可通过 profile 关闭),这解释了为何即使不显式声明,Agent 也具备通用的子任务委派能力。

5.2 异步子 Agent 中间件:基于 LangGraph SDK 的后台任务

libs/deepagents/deepagents/middleware/async_subagents.py 是实现异步子 Agent 的核心中间件,其设计要点:

  • 任务模型AsyncTask:异步子 Agent 通过 LangGraph SDK 在远程Agent Protocol服务器上启动后台运行,与同步子 Agent「阻塞直至完成」不同,异步子 Agent 立即返回任务 ID,主 Agent 可一边监控进度、一边继续工作并发送更新。
  • AsyncSubAgent配置字段name(唯一标识)、description(主 Agent 据此决定何时委派)、graph_id(远程服务器上的图名或 assistant ID)、可选url(Agent Protocol 服务器地址,默认用 LangGraph SDK 的默认端点)与headers(自建服务器时传入自定义认证)。
  • 认证处理:托管在 LangGraph Platform / LangSmith Deployment 时,SDK 自动通过环境变量(LANGGRAPH_API_KEYLANGSMITH_API_KEYLANGCHAIN_API_KEY)完成认证;自建服务器则通过headers传入。
  • 本地 ASGI 传输:省略url时使用进程内 ASGI 传输对接本地服务器,但该传输仅对异步入口(如ainvoke)可用;同步invoke路径则必须提供可访问的 Agent Protocol 服务器 URL。

这与 GTM 示例的编排完全对应:content-writer正是作为异步后台任务运行,market-researcher则走同步路径先拿到报告再写策略。

六、实战:部署后如何交互

6.1 推荐的测试提示词

部署完成后,在 LangSmith 中打开该 Agent,可尝试以下三类输入:

  • "We're launching a new Python SDK for AI agents next month — build me a GTM plan"(完整 GTM 计划)
  • "Help us position our vector database product against Pinecone and Weaviate"(竞品定位)
  • "We're targeting mid-market engineering teams — what channels should we prioritize?"(渠道优先级)

预期行为:Agent 先触发市场调研(同步等待报告),再综合产出策略,并并行启动内容简报的创作任务。

6.2 通过 LangGraph SDK 查询

除在 LangSmith 界面交互外,可通过 SDK 以代码方式发起流式会话:

from langgraph_sdk import get_client client = get_client(url="https://<your-deployment-url>") thread = await client.threads.create() async for chunk in client.runs.stream( thread["thread_id"], "agent", input={"messages": [{"role": "user", "content": "Build a GTM plan for our new Python SDK for AI agents"}]}, stream_mode="messages", ): print(chunk.data, end="", flush=True)

要点说明:

  • 部署 URL 在 LangSmith 的Deployments页面中获取;
  • stream_mode="messages"按消息粒度流式返回,chunk.data中即包含增量内容;
  • 该 SDK 交互方式与异步子 Agent 中间件底层使用的langgraph_sdk客户端(get_client/get_sync_client)一脉相承,也就是说「部署的 Agent 本身可被 SDK 调用」与「Agent 内部通过 SDK 调用远程异步子 Agent」共享同一套传输协议,这正是 deepagents 云原生设计的一体两面。

七、扩展思路:把该模式迁移到自己的 Agent

结合上述源码与示例,若要复用该模式构建自有部署型 Agent,关键步骤可归纳为:

  1. 目录即配置:按AGENTS.md(角色指令)+agent.json(模型/描述)+skills/(可复用方法论)+subagents/(子 Agent)的布局组织目录,子 Agent 放subagents/下即自动被发现接入;
  2. 同步/异步分工:依赖因果关系的任务(先调研后决策)用同步子 Agent,长耗时、可并行的任务(内容创作、批处理)用异步子 Agent;
  3. 内容落地:子 Agent 通过write_file将完整产物(如 Markdown 报告)落盘并返回路径,父 Agent 据此集成;
  4. 模型分级:在各级agent.json中为父/子 Agent 分别配置模型档位,平衡质量与成本。

仓库中还提供了同类型的部署示例可对照参考:examples/deploy-coding-agent/README.md、examples/deploy-content-writer/README.md、examples/deploy-mcp-docs-agent/README.md,它们共同展示了deepagents deploy在不同业务域(编码审查、内容写作、文档检索)下的统一部署范式,而 GTM 示例是其中演示同步/异步混合编排最完整的样本。

【免费下载链接】deepagentsThe batteries-included agent harness.项目地址: https://gitcode.com/GitHub_Trending/de/deepagents

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询