1.Agent从大模型到智能体
Agent 学习笔记 (一):从大语言模型到自主智能体
1. 为什么要从 LLM 转向 Agent?(From LLM to Agent)
1.1 纯语言模型的局限性
虽然像 Gemini-3 这样的大语言模型(LLM)已经非常强大,但作为开发者,我们常会遇到以下“痛点”:
- 无法主动执行:它只能“说”,不能“做”。你让它改代码,它只能给你代码片段,却没法直接提交到你的 GitHub 仓库。
- 时效性短板:它的知识停留在训练截止日期,无法感知现实世界的实时变化。
- 幻觉风险:在面对复杂任务时,LLM 往往会“一本正经地胡说八道”,缺乏实地验证。
1.2 Agent 带来的范式转移
Agent (智能体) 的出现解决了这些问题。如果说 LLM 是一个博学但“瘫痪”的大脑,那么 Agent 就是给大脑接上了感官(感知环境)和四肢(执行任务)。
核心理念:Agent = LLM + 规划 (Planning) + 记忆 (Memory) + 工具使用 (Tool Use)。
2. 什么是智能体?(Understanding Agents)
2.1 智能体的定义
在计算机科学中,智能体是一个能够感知环境、进行推理、并采取行动以实现特定目标的系统。
2.2 核心设计框架:PEAS 模型
要设计一个 Agent,我们首先需要从四个维度进行定义,这类似于我们在 Docker 中定义网络和卷:
| 维度 | 说明 | 例子 (以“DevOps 助手”为例) |
|---|---|---|
| P (Performance) | 性能标准:衡量任务是否成功的指标。 | 代码修复成功率、构建通过率。 |
| E (Environment) | 环境:Agent 运行的场所。 | GitHub 仓库、Linux 服务器、CI/CD 流水线。 |
| A (Actuators) | 执行器:Agent 用来改变环境的工具。 | Git 命令、Shell 脚本执行器、API 请求。 |
| S (Sensors) | 传感器:Agent 获取信息的来源。 | 编译报错日志、用户反馈、监控指标。 |
3. 智能体 vs. 传统自动化 (Agent vs. Workflow)
为了更深入地理解,我们将 Agent 与我们常用的传统自动化脚本进行对比:
| 特性 | 传统自动化 (Deterministic) | LLM 驱动智能体 (Probabilistic) |
|---|---|---|
| 执行逻辑 | 硬编码的 If-Else 逻辑,路径固定。 | 基于 LLM 推理,动态生成执行路径。 |
| 错误处理 | 遇到预设外的错误直接 Crash。 | 能够感知错误,并尝试通过新行动修复。 |
| 交互能力 | 只能处理结构化数据。 | 能理解模糊的自然语言指令。 |
| 适用场景 | 确定性的重复任务(如:定时备份)。 | 开放性的复杂任务(如:根据需求写代码并测试)。 |
4. 深入理解 Agent 工作流 (Agent Lifecycle)
让我们通过一个典型的任务执行过程,看看 Agent 内部发生了什么。
核心循环:ReAct 模式 (Reason + Act)
当你向 Agent 发出一个指令(如:“帮我修复服务器上的 404 报错”)时,它会进入以下闭环:
- 感知 (Perception):
- 从传感器获取初始 Observation(观察),比如读取 Nginx 的
access.log。
- 思考 (Thought):
- 分析:LLM 分析日志发现是静态资源路径配置错误。
- 规划:决定先备份配置文件,再修改 root 路径。
- 行动 (Action):
- 执行:调用执行器(Actuators)运行
sed命令修改配置。
- 观察 (Observation):
- 反馈:重启服务并检测状态码,获取新的执行结果。
如果目标未达成,则跳转回第 2 步循环执行。
5. 动手实践:构建最简单的推理循环
以下是一个高度简化的 Agent 伪代码,体现了核心的“思考-行动”逻辑:
1 | # 模拟 Agent 的核心循环 |
6. 总结 (Summary)
本章我们明确了 Agent 的基本定义:它不再是简单的问答机器,而是一个闭环系统。
- 它具备自主性:能自己决定下一步。
- 它具备适应性:能根据环境反馈调整策略。
在下一章中,我们将深入探讨 Agent 的发展史,从早期的控制论到今天的 Agentic-RL,看看这项技术是如何一步步演进至今的。