/images/hugo/avatar.png

Multi-Agent

1. Single-Agent

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
%%{init: { 'flowchart':{'nodeSpacing':35}, 'theme':'neutral'}}%%
graph TB
    %% 全部外部组件统一放在左侧,从上往下排布,和原图完全一致
    T["task prompts"]
    TD["tools definitions"]
    CTX["context"]
    TE["tools executors"]

    subgraph agent_program["agent program"]
        direction LR
        PM["prepare messages"]
        CL["check end condition"]
        HM["handle new message"]
    end

    END_LOOP(( ))
    LLM["LLM"]

    %% 输入:左侧全部指向 prepare messages
    T -- inject instructions --> PM
    TD -- load schemas --> PM
    CTX -- inject history --> PM

    %% 主循环
    PM -- send messages --> LLM
    LLM -- response message --> CL

    CL -- end the loop --> END_LOOP
    CL --> HM

    %% 输出:handle new message 回连左侧的contexttools executors
    HM -- update context --> CTX
    HM -- call tools --> TE

1.1 Single-Agent 瓶颈

1. 模型能力单一瓶颈

单个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

今天我们来介绍第一个 Agent Framework Pocket Flow

1. Workflow 的抽象: Graph

个人认为,大多数 AI Framework 最大的价值就是提供了对 Workflow 的抽象,这个抽象基本上就是 Grap。因为 Grap 表达能力最强,能够支持很多流行的 Agent 设计模式

Redis Barrier

1. 背景

2.1 背景

项目上需要周期性完成一些计算任务,这些任务具有如下特点:

  1. 任务相似但是独立
  2. 任务执行需要读取过去 7 天的历史数据,但是只有当天数据会更新
  3. 任务计算的性能要求很高,需要充分利用计算资源,尽快完成计算

为了快速完成这些任务的计算,设计了如下的分布式计算系统: