该技能面向使用 Deep Agents 构建智能体应用的开发者,核心是在一个智能体中组合三类编排能力:子智能体委派、任务清单规划、人工审批中断。资料说明这三类中间件都会随 create_deep_agent() 自动包含。
一、子智能体(任务委派) 通过 SubAgentMiddleware,主智能体可用 task 工具把工作交给专用子智能体。适合任务需要专用工具、希望隔离复杂工作、需要为主智能体保持干净上下文的情况;单步操作或上下文膨胀可接受时可直接用主智能体。默认提供“general-purpose”子智能体,其工具与配置和主智能体一致。资料给出 Python 与 TypeScript 示例:在 create_deep_agent 的 subagents 中定义名称、描述、系统提示与工具列表,主智能体再用 task(agent="researcher", instruction="...") 委派。资料强调子智能体是无状态的:不记得之前的调用,因此应在一次指令中给全信息,例如“查找 AI 数据、保存到 /research/、返回摘要”。另外,自定义子智能体不会继承主智能体的 skills,需要显式提供;general-purpose 子智能体会继承。
二、TodoList(任务规划) TodoListMiddleware 通过 write_todos(todos) 规划与跟踪任务,每个条目包含 content 和 status(pending、in_progress、completed)。适合复杂多步任务和长时间运行操作;简单或少于三步的任务可跳过。示例中用户要求创建 REST API,智能体据此生成设计模型、实现 CRUD、加鉴权、写测试的任务清单。要借助 thread_id 在 config 中保持状态,才能从最终结果的 todos 字段读取清单;不传 thread_id 会每次得到新状态。
三、Human-in-the-Loop(审批工作流) HumanInTheLoopMiddleware 用于高风险操作(数据库写入、部署)或合规要求人工监督时。通过 interrupt_on 按工具名指定是否中断,例如 write_file: True、execute_sql 限制为 approve/reject、read_file: False。中断必须配置 checkpointer(如 MemorySaver),并配合 thread_id 使用。流程为:调用后执行暂停,用 agent.get_state(config) 检查 state.next 是否存在待处理动作,再用 Command(resume={"decisions": [...]}) 恢复。决定类型包括 approve、reject(可带 message)、edit(可带 edited_action 修改工具名与参数)。
四、可配置与不可配置范围 可配置子智能体名称、工具、模型、系统提示,哪些工具需审批、每个工具允许的决定类型,以及 TodoList 内容与结构。不可更改工具名(task、write_todos)、HITL 的 approve/edit/reject 协议结构,也不能跳过 checkpointer 要求或让子智能体变为有状态。
资料未提供该技能的收费、价格、平台范围或效果数据。