最近在系统学习 AI Agent 相关知识,读到了一个叫《Hello Agents》的开源项目。第一章讲"初识智能体",读下来感觉作者把一些很基础但很容易搞混的概念讲得挺清楚的,记录一下自己的理解和思考。

先搞清楚一个问题:到底什么是"智能体"?

说实话,之前听到"Agent"这个词,我脑子里的第一反应就是"不就是套了一层 API 调用的 ChatBot 吗"。

但仔细看完第一章的梳理后,我觉得这个理解太浅了。

作者给了一个很经典的定义:智能体 = 能感知环境 + 能自主决策 + 能执行行动 的实体。这个定义不是 LLM 时代才有的,早在经典 AI 教材《人工智能:一种现代方法》(Russell & Norvig)里就提了。只不过以前大家觉得智能体遥不可及,因为传统方案靠的是硬编码规则——你得提前想好所有可能的情况和对应的动作。

现在有了 LLM,情况变了。大模型本身就隐含了一个"世界模型",它见过海量文本,对世界的基本运行规律有自己的"理解"。所以 LLM 驱动的智能体不需要你把所有规则写死,它能自己根据上下文推理、做决策。

一个很直观的例子:你跟一个传统客服机器人说"我想去北京玩三天",它大概率只能给你甩一个 FAQ 链接。但如果是一个 LLM Agent,它会自己把任务拆解——先查北京天气,再搜景点推荐,再帮你规划路线,最后合成一份完整的出行建议。

这种"给定目标,自己想办法"的能力,才是 Agent 和普通 ChatBot 的本质区别。

智能体的运行逻辑其实很简单

书中画了一张图,把 Agent 的运行循环总结为四步:

感知 → 思考 → 行动 → 观察反馈 → 感知(循环)

用更直白的话说:

  1. 感知:收到用户的请求
  2. 思考:先想清楚该做什么、用什么工具
  3. 行动:调用工具(查天气、搜信息、算数据……)
  4. 观察:拿到工具返回的结果,再决定下一步

书中把这个叫做 Thought-Action-Observation 循环。看到这个概念的时候我突然意识到——这不就是我自己平时写后端代码时的思维模式吗?先分析需求,再决定调哪个接口,拿到数据后再做下一步处理。只不过现在这个"我"换成了大模型。

还有一个有意思的点:Agent 输出不只是给用户的最终答案,中间还有一个 Thought 字段。也就是说,Agent 在行动之前会先用自然语言"想一遍"。这个设计很巧妙,一方面让 LLM 的推理过程可追溯,另一方面也让调试变得容易很多——至少你能看到它"为什么这么做"。

关于 Workflow 和 Agent 的区别

这一节我觉得是全书目前最有启发性的部分。

很多人(包括之前的我)会把 Agent 和 Workflow 搞混。书里给了很清晰的区分:

  • Workflow 是静态的:你提前画好流程图,系统严格按照你规定的路径走。比如一个报销审批流程——填表 → 主管审批 → 财务打款,每一步都定好了,不会变。
  • Agent 是动态的:你只给它一个目标,至于怎么达成、中间用哪些工具、走什么路径,它自己决定。比如你让 Agent 帮你做一个市场调研,它可能先搜竞品信息,发现某个数据不够又去查财报,过程中还会根据搜到的内容调整方向。

用一句话总结:Workflow 是规则驱动,Agent 是目标驱动。

这让我想到实际工作中的场景——如果你的需求是明确的、流程固定的,用 Workflow 就够了;但如果是开放性的、需要根据中间结果灵活调整的,Agent 的优势就体现出来了。很多场景其实是两者结合的:用 Workflow 控制整体流程,在每个节点用 Agent 处理需要智能决策的环节。

动手实践部分

书里给了一个"5 分钟实现智能旅行助手"的实战案例,核心代码其实很短:

  1. 定义几个工具函数(查天气、搜景点)
  2. 写好系统 Prompt 告诉大模型有哪些工具可用
  3. 跑一个循环:调 LLM → 解析 Action → 执行工具 → 把结果喂回去

虽然是个简单 demo,但跑通之后还是很有成就感的。你真的能看到 Agent 在几轮对话中自己把任务拆解、调用工具、整合结果。代码量不大,但核心机制都在里面了。

# 核心循环伪代码
while True:
    thought, action = llm.chat(prompt + history)
    if action.type == "finish":
        return action.answer
    observation = execute_tool(action)
    history.append(f"Thought: {thought}\nAction: {action}\nObservation: {observation}")

关于 Agent 的知识体系

作者还梳理了几种智能体的分类方式,我挑几个觉得重要的:

  • 按反应方式分:反应式(快但浅,比如安全气囊)vs 规划式(慢但深,比如国际象棋 AI)vs 混合式(结合两者,大多数 LLM Agent 属于这一类)
  • 按知识表示分:符号主义(逻辑规则,可解释但脆弱)vs 亚符号主义(神经网络,强但黑箱)vs 神经符号主义(LLM Agent 走的就是这条路——用神经网络的"直觉"加结构化推理的"逻辑")

另外书中提到了 PEAS 模型,用来定义一个 Agent 的任务环境:

  • Performance:衡量标准(用户满意度?响应速度?)
  • Environment:运行环境(互联网?数据库?物理世界?)
  • Actuators:能做什么(调用 API?生成回复?控制硬件?)
  • Sensors:能感知什么(用户输入?实时数据?传感器信号?)

这个框架在设计 Agent 之前先用一下,能帮你把需求想清楚。

一点个人思考

读完这一章最大的感受是:Agent 开发的核心挑战其实不在 AI 本身,而在工程化。

大模型的能力已经相当强了,真正难的是怎么把"模型能力"变成"可用的系统"——比如怎么设计合理的工具体系、怎么控制循环次数避免死循环、怎么让中间过程可观测、怎么处理幻觉和错误……

而这些恰好是后端开发者的强项。系统设计、接口规范、容错处理、性能优化——这些年在后端积累的东西,在 Agent 开发中一样用得上。


参考

  • 《Hello Agents》第一章 - 在线阅读
  • Russell S, Norvig P. Artificial Intelligence: A Modern Approach. 4th ed. 2020.
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐