SuperAPI AI 工具集

ai-python-subagents

智能体与模型

查看项目

更新于 10-16 04:38

技能介绍

ai-python-subagents 是 ai-python(vercel-labs/ai-python)中的技能条目,用途是演示 subagent-as-a-tool 模式:让父模型自行决定何时把另一个智能体当作工具来调用。

主要能力与用法

  • 使用 @ai.tool 装饰一个异步函数,声明该工具返回 ai.SubAgentTool。
  • 在工具函数内部创建子智能体:child = ai.Agent(tools=[lookup])。
  • 构造消息列表,例如系统消息 ai.system_message("Research briefly.") 与用户消息 ai.user_message(topic)。
  • 通过 async with child.run(model, messages) as stream 运行子智能体,并用 async for event in stream 逐步产出事件。

结果与事件

  • 父模型看到的是子智能体的最终助手文本,作为该工具的结果。
  • 调用方看到的是子智能体事件,类型为 ai.events.PartialToolCallResult。
  • 渲染嵌套输出时可检查事件类型,例如:if isinstance(event, ai.events.PartialToolCallResult): 且 if isinstance(event.value, ai.events.TextDelta): 则 print(event.value.chunk, end="", flush=True)。

注意事项

  • 不要自行把子消息追加到父对话历史;工具结果会以 MessageBundle 形式保存子对话记录。
  • 关于 MessageBundle、初步输出以及流式工具的更多细节,请使用 ai-python-streaming-tools。

适用场景

  • 需要父模型按需把任务委派给具备独立工具集的子智能体,并以流式方式回传子智能体输出时。

限制

  • 除上述原文内容外,关于收费、价格、平台支持、效果或完整分步安装说明暂未提供。