AI Agent 完整运行流程

AI Agent 完整运行流程

如果从用户发起请求 → Agent 思考 → 调用工具 → 获取结果 → 再次思考 → 最终返回整个过程来看,可以理解成下面这条链路:

                         👤 用户
                           │
                           │ ① 提出任务
                           ▼
                  ┌─────────────────┐
                  │ ② Agent 接收请求 │
                  └────────┬────────┘
                           │
                           ▼
                  ┌─────────────────┐
                  │ ③ 意图识别       │
                  │  用户想完成什么? │
                  └────────┬────────┘
                           │
                           ▼
                  ┌─────────────────┐
                  │ ④ 获取上下文      │
                  │ Memory + RAG     │
                  └────────┬────────┘
                           │
                           ▼
                  ┌─────────────────┐
                  │ ⑤ LLM 推理       │
                  │ 分析问题/制定计划 │
                  └────────┬────────┘
                           │
                           ▼
                  ┌─────────────────┐
                  │ ⑥ 判断是否需要   │
                  │    调用工具?     │
                  └───────┬─┬────────┘
                      否  │ │  是
                         │ │
             ┌───────────┘ └─────────────┐
             ▼                           ▼
      ┌──────────────┐           ┌────────────────┐
      │ ⑦ 直接生成答案 │           │ ⑦ 调用 Tool    │
      └──────┬───────┘           │ MySQL/HTTP/API │
             │                   └───────┬────────┘
             │                           │
             │                           ▼
             │                   ┌────────────────┐
             │                   │ ⑧ 获取执行结果  │
             │                   └───────┬────────┘
             │                           │
             │                           ▼
             │                   ┌────────────────┐
             │                   │ ⑨ LLM 再次推理 │
             │                   │ 分析执行结果    │
             │                   └───────┬────────┘
             │                           │
             │                    是否完成?
             │                    ↙          ↘
             │                  否            是
             │                  │              │
             │                  └──→继续调用Tool│
             │                                 │
             └──────────────────────┬──────────┘
                                    ▼
                           ┌─────────────────┐
                           │ ⑩ 生成最终答案   │
                           └────────┬────────┘
                                    │
                                    ▼
                                  👤 用户

一、第一步:用户提出目标

例如:

“帮我分析 MySQL 为什么卡顿。”

这时候用户给 Agent 的不是一个具体 SQL,而是一个目标

用户目标
   ↓
分析 MySQL 卡顿原因

二、第二步:Agent 理解用户意图

Agent 首先判断:

这是一个什么问题?
需要什么能力?
是否需要查询外部数据?

例如:

用户:
帮我分析 MySQL 为什么卡顿

Agent:
→ 运维问题
→ 涉及 MySQL
→ 需要实时数据
→ 需要调用 MySQL Tool

这里主要依赖 LLM


三、第三步:获取 Memory

Agent 会获取当前会话的上下文。

例如之前用户说过:

MySQL 版本:8.0
服务器:Ubuntu
数据库:xxx

Memory:

当前用户
   ↓
历史对话
   ↓
任务上下文

这样 Agent 不需要每次重新询问。


四、第四步:RAG 查询知识

如果需要企业内部知识,Agent 可以查询 RAG。

例如:

用户:
按照公司 MySQL 运维规范分析这个问题

Agent:

问题
 ↓
Embedding
 ↓
Milvus
 ↓
查询 MySQL 运维规范
 ↓
返回相关文档
 ↓
LLM

这时候 Agent 同时拥有:

Memory = 当前上下文

RAG = 企业知识

LLM = 推理能力

五、第五步:LLM 制定计划

Agent 开始规划:

目标:
分析 MySQL 卡顿

计划:

① 查看当前连接
② 查看运行中的 SQL
③ 查看锁等待
④ 查看慢 SQL
⑤ 查看执行计划
⑥ 综合分析

这就是 Planning


六、第六步:决定是否调用 Tool

LLM 判断:

“这个问题需要实时查询 MySQL,所以我要调用 MySQL Tool。”

例如:

MySQLTool
   ↓
SHOW PROCESSLIST

Agent 不需要知道具体 SQL 怎么执行,它只需要知道:

我有一个工具:
query_mysql()

然后调用。


七、第七步:Tool 执行

MySQL Tool 真正执行:

SHOW PROCESSLIST;

然后返回:

Query 1
Query 2
Query 3
...

注意:

真正连接数据库、执行 SQL 的不是 LLM,而是 Tool。

LLM 负责:

“我要查什么”

Tool 负责:

“真正执行”

八、第八步:Agent 获取执行结果

例如 Tool 返回:

发现:

UPDATE person_issue_record
正在等待锁

等待时间:35 秒

Agent 得到这个结果。


九、第九步:Agent 再次推理

这一步非常重要。

Agent 不会看到结果后就结束。

它会继续判断:

发现锁等待
     ↓
为什么被锁?
     ↓
需要查阻塞事务

于是再次调用 Tool:

LockTool
   ↓
查询锁等待

得到:

事务 A
   ↓
持有锁

事务 B
   ↓
等待事务 A

Agent 再次分析。


十、第十步:循环执行

这就是 Agent 和普通 AI 最大的区别。

它可能不断循环:

       ┌──────────────┐
       │     LLM      │
       │    思考       │
       └──────┬───────┘
              ↓
          制定下一步
              ↓
       ┌──────────────┐
       │     Tool     │
       │    执行动作   │
       └──────┬───────┘
              ↓
          返回结果
              ↓
       ┌──────────────┐
       │     LLM      │
       │  分析结果     │
       └──────┬───────┘
              ↓
          任务完成?
          ↙       ↘
        否         是
        ↓          ↓
     继续执行     最终答案
        │
        └──────────→ LLM

这就是经典的:

Think → Act → Observe → Think → Act → Observe


十一、第十一步:任务完成

Agent 最终判断:

已经找到问题

例如:

MySQL 卡顿主要原因:

1. UPDATE person_issue_record 存在锁等待
2. 事务 A 长时间未提交
3. 导致事务 B 等待
4. 同时产生大量连接堆积

然后生成用户能够理解的最终答案。


十二、完整实例

把整个流程串起来:

👤 用户
│
│ “帮我分析 MySQL 卡顿”
│
▼
🤖 Agent
│
├─① 理解意图
│    ↓
│   MySQL 运维分析
│
├─② 获取 Memory
│    ↓
│   获取历史上下文
│
├─③ 查询 RAG
│    ↓
│   获取企业 MySQL 运维规范
│
├─④ LLM 制定计划
│    ↓
│   查连接 → 查锁 → 查慢SQL → EXPLAIN
│
├─⑤ 调用 MySQL Tool
│    ↓
│   SHOW PROCESSLIST
│
├─⑥ 获得结果
│    ↓
│   发现 System lock
│
├─⑦ LLM 再次分析
│    ↓
│   “需要进一步查询锁”
│
├─⑧ 调用 Lock Tool
│    ↓
│   找到阻塞事务
│
├─⑨ 再次分析
│    ↓
│   “需要检查阻塞 SQL”
│
├─⑩ 调用 SQL Tool
│    ↓
│   EXPLAIN
│
├─⑪ 综合分析
│    ↓
│   找到根因
│
└─⑫ 返回最终结果
     ↓
   👤 用户

最核心的一张图

如果你要放到技术方案/PPT里,我建议最终使用这一版:

                         用户
                          │
                          ▼
                    ┌───────────┐
                    │   Agent   │
                    └─────┬─────┘
                          │
             ┌────────────┼────────────┐
             ▼            ▼            ▼
          Memory         RAG          LLM
             │            │            │
             │            │       理解 + 推理
             │            │            │
             └────────────┼────────────┘
                          ▼
                       Planning
                          │
                          ▼
                    ┌───────────┐
                    │ Tool调用  │
                    └─────┬─────┘
                          │
             ┌────────────┼────────────┐
             ▼            ▼            ▼
           MySQL        Redis         HTTP
             │            │            │
             └────────────┼────────────┘
                          ▼
                       执行结果
                          │
                          ▼
                    LLM再次分析
                          │
                    ┌─────┴─────┐
                    │           │
                   未完成       完成
                    │           │
                    └──→Tool    ▼
                            最终答案
                               │
                               ▼
                              用户

一句话概括运行机制:

用户给目标 → Agent 理解 → Memory/RAG 补充上下文 → LLM 思考和规划 → 调用 Tool 执行 → 获取结果 → LLM 再次分析 → 不满足条件就继续执行 → 满足条件后返回最终结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思静鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值