hello-agents 第一章学习输出
最近在系统学习 AI Agent 相关知识,读到了一个叫《Hello Agents》的开源项目。第一章讲"初识智能体",读下来感觉作者把一些很基础但很容易搞混的概念讲得挺清楚的,记录一下自己的理解和思考。
先搞清楚一个问题:到底什么是"智能体"?
说实话,之前听到"Agent"这个词,我脑子里的第一反应就是"不就是套了一层 API 调用的 ChatBot 吗"。
但仔细看完第一章的梳理后,我觉得这个理解太浅了。
作者给了一个很经典的定义:智能体 = 能感知环境 + 能自主决策 + 能执行行动 的实体。这个定义不是 LLM 时代才有的,早在经典 AI 教材《人工智能:一种现代方法》(Russell & Norvig)里就提了。只不过以前大家觉得智能体遥不可及,因为传统方案靠的是硬编码规则——你得提前想好所有可能的情况和对应的动作。
现在有了 LLM,情况变了。大模型本身就隐含了一个"世界模型",它见过海量文本,对世界的基本运行规律有自己的"理解"。所以 LLM 驱动的智能体不需要你把所有规则写死,它能自己根据上下文推理、做决策。
一个很直观的例子:你跟一个传统客服机器人说"我想去北京玩三天",它大概率只能给你甩一个 FAQ 链接。但如果是一个 LLM Agent,它会自己把任务拆解——先查北京天气,再搜景点推荐,再帮你规划路线,最后合成一份完整的出行建议。
这种"给定目标,自己想办法"的能力,才是 Agent 和普通 ChatBot 的本质区别。
智能体的运行逻辑其实很简单
书中画了一张图,把 Agent 的运行循环总结为四步:
感知 → 思考 → 行动 → 观察反馈 → 感知(循环)
用更直白的话说:
- 感知:收到用户的请求
- 思考:先想清楚该做什么、用什么工具
- 行动:调用工具(查天气、搜信息、算数据……)
- 观察:拿到工具返回的结果,再决定下一步
书中把这个叫做 Thought-Action-Observation 循环。看到这个概念的时候我突然意识到——这不就是我自己平时写后端代码时的思维模式吗?先分析需求,再决定调哪个接口,拿到数据后再做下一步处理。只不过现在这个"我"换成了大模型。
还有一个有意思的点:Agent 输出不只是给用户的最终答案,中间还有一个 Thought 字段。也就是说,Agent 在行动之前会先用自然语言"想一遍"。这个设计很巧妙,一方面让 LLM 的推理过程可追溯,另一方面也让调试变得容易很多——至少你能看到它"为什么这么做"。
关于 Workflow 和 Agent 的区别
这一节我觉得是全书目前最有启发性的部分。
很多人(包括之前的我)会把 Agent 和 Workflow 搞混。书里给了很清晰的区分:
- Workflow 是静态的:你提前画好流程图,系统严格按照你规定的路径走。比如一个报销审批流程——填表 → 主管审批 → 财务打款,每一步都定好了,不会变。
- Agent 是动态的:你只给它一个目标,至于怎么达成、中间用哪些工具、走什么路径,它自己决定。比如你让 Agent 帮你做一个市场调研,它可能先搜竞品信息,发现某个数据不够又去查财报,过程中还会根据搜到的内容调整方向。
用一句话总结:Workflow 是规则驱动,Agent 是目标驱动。
这让我想到实际工作中的场景——如果你的需求是明确的、流程固定的,用 Workflow 就够了;但如果是开放性的、需要根据中间结果灵活调整的,Agent 的优势就体现出来了。很多场景其实是两者结合的:用 Workflow 控制整体流程,在每个节点用 Agent 处理需要智能决策的环节。
动手实践部分
书里给了一个"5 分钟实现智能旅行助手"的实战案例,核心代码其实很短:
- 定义几个工具函数(查天气、搜景点)
- 写好系统 Prompt 告诉大模型有哪些工具可用
- 跑一个循环:调 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.
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)