OctoTools: A Multi-Agent Framework with Extensible Tools for Complex Reasoning
Idea
OctoTools 用标准化 tool cards 连接 planner 与 executor:planner 负责整体目标和逐步子目标,executor 将文字动作转换成可运行 Python 命令,执行结果回到共享轨迹以继续规划和检查。框架无需更新模型权重,可跨领域添加专用工具。
Research Problem
复杂问题同时要求视觉感知、检索、计算和多步整合,单一 LLM 易在专业操作或长程组合上失败;已有工具系统常限定领域、工具类型或依赖专门训练。将选工具与写执行代码交给同一生成步骤,也容易使抽象计划和环境细节相互干扰。
Insight
工具接口除输入输出外还需要说明适用范围与限制,使计划可以据此选用和交叉检查;将高层规划、低层命令生成和结果验证拆开,保留完整执行历史,让新证据改变后续子目标。可扩展性来自共同 card 格式,而非每种工具都重新设计 agent。
Method
- 为每个工具提供 name、version、input/output types、调用示例,以及可选 limitations/best practices;planner 加载这些 cards 建立可用工具空间。
- 针对 query 先生成 tentative high-level plan,再逐轮给出 sub-goal、所选工具及相关上下文,executor 把它编译成 Python 调用并准备参数。
- 在 Python 环境执行命令,记录 action、code、output/log/error 到 trajectory;context verifier 检查子目标是否完成或证据有无歧义,决定继续、结束或达到预算后汇总。
- solution summarizer 从完整轨迹合成答案;若有少量 validation examples,则先测 base toolset,再分别加入单个候选工具,将独立带来正向收益者合并为任务级候选集。
- 在十六个跨视觉、数学、科学、医学与 agentic benchmark 上评估,并在相同 backbone、工具实现和预算条件下比较其他框架,另检验小模型、工具故障及组件消融。
Sources & Reading Scope
阅读依据:官方 PDF 正文。核读页码按 PDF 页序计数,可能与 proceedings 页码不同。
核读章节:Preliminary · Tool Cards · Planner Agent · Executor Agent · Task-specific Toolset Optimization
核读 planner–executor loop 和工具集算法;工具集优化为各候选相对固定 base 的单独评估后取并集,并非穷举组合最优或逐样本重新调参。