Prompt Chaining 链式调用

Prompt Chaining 的实现思路比较简单:上一个 LLM 的输出作为下一个 LLM 的输入。这样的 agentic 范式适合那些可以被分解成 sequential assembly line 的任务。
然而这样的方法也有局限性:这样的任务也依赖于人工对任务进行拆解。
Routing 路由转发

顾名思义,Routing Flow 下,一个小型的 LLM 负责解析用户的指令,判断指令所属的任务,然后转发给对应的 LLM 进行处理。
这样做的一个好处就是可以控制 API 调用成本。例如用小模型进行解析工作,如果指令比较简单,则转发给小模型进行指令处理;否则把复杂指令交给 API 调用费更贵的大模型进行进一步的处理。
Parallelization 并行处理

A task is broken down into independent subtasks that are processed simultaneously by multiple LLMs, with their outputs being aggregated.
- RAG with Query Decomposition
- 分析复杂文档
Reflection 生成并反思

Reflection 是让 LLM 重新评判自己生成的内容是否满足要求,如果不满足,则继续生成(修正)。这种范式已经出现在诸如 VSCode Copilot 等产品上
Tool Use 工具使用
在我看来,Tool Use 只是 Reflection 的一种形式:评判的过程换成了外部工具的调用。

Planning

中央 LLM 将任务拆解为多个子任务,然后转发给专门的 LLM 进行处理并汇总。和 Routing 很像,但区别在于 Routing 直接转发一整个任务,而 Planning 先拆分大任务,再将小人物转发处理。
Multi-Agent
Manager 形式

Manager 形式实现的 MultiAgent 分多个角色:manager 和 worker. 每个 worker 具有特定领域的专业知识和特定工具的访问权限,manager 则可以分析任务进展,指定 worker 进行任务协作。
Swarm 形式

Swarm 形式实现的 Multi Agent 相比于 Manager 形式来说,去掉了负责协调的 central manager,直接让 worker 之间自行合作。