/images/hugo/avatar.png

Agent Tools 设计

本节我们来介绍如何为 Agent 设计准确且省钱的工具。

1. Tools 设计

Tools 设计遵循一些基本原则:

  1. 效率和准确性:
    • 什么时候选择开发一个专用工具,还是选择使用已有的通用工具。
    • 当 agent 需要处理一些深度复杂的业务逻辑的时候,可以考虑开发一个专用 tools,而不是使用通用 tools
  2. 功能独立:
    • Tools定义需要做到 意图清晰,工具功能之间没有重叠
    • 工具本质上就是一个可调用的函数,可以通过扩展工具的参数来增强工具的功能
  3. 成本效益:
    • 提供批量化工具
    • 提供 save 工具,其他工具内部使用 save 的数据集进行过滤,避免重复

2. 通用 thinking tools

2.1 为什么需要 thinking tools

大多数时候,我们会提供一个通用的 thinking tools,会有如下好处:

Multi-Agent

今天我们来介绍 Multi-Agent 相关概念,目的有如下几个:

  1. 理解 Single-Agent 的核心架构、核心组成以及每个部分可能遇到的问题
  2. Multi-Agent 能否解决 Single-Agent 所遇到的问题以及是否会带来新的问题。

分析的目的不仅仅是了解这些概念本身。而是梳理构建 Agent 所需要关心的各个层面。 在我们梳理清楚 Agent 的架构之后,我们就可以快速的、公式化的分析很多开源 Agent 产品。也能更好的指导我们实现自己的 Agent。

Agent Copilot

这一个章节我们重点介绍 Agent 设计中 Agent 和 用户交互的部分。为什么要这么关注交互的部分,主要原因有两个:

  1. 当下 Agent 最好的形态就是人机交互,Agent 可以链接人、以及传统的应用,并可以让人参与到 Agent 决策并且影响 Agent 的决策过程。
  2. Copilot 会影响 Agent 的设计

接下来我们会介绍几个不同的框架实现的 Agent Copilot,目的有两个:

Agent 的分类

市面上现在已经有很多 AI 开发框架和通用 Agent(类似 codex、claude code),当我们需要开发一个 Agent 的时候,第一步就是选型。选型的前提是我们需要弄清楚,我们要开发的是一个什么 Agent,这些 AI 开发框架和通用 Agent 都提供了什么能力,适合开发什么样的 Agent。

Pocket Flow 实现 Deep Wiki

今天我们来介绍基于 Pocket Flow 实现的第二项目 - 类似 DeepWiki 的代码阅读工具。

我们将学习:

  1. 如何扩展 Pocket Flow 的功能,实现状态存储和异常恢复
  2. 如何实现一个 Agentic Node
  3. 如何实现 Agent 的 memroy 及一层

1. Deep Wiki 简介

未完成。