07 - Agent 智能体:能自主干活儿的 AI

张开发
2026/6/8 2:45:03 15 分钟阅读

分享文章

07 - Agent 智能体:能自主干活儿的 AI
这是从 LLM 到 Agent Skill系列的第七篇。前面六篇我们逐步搭建起了完整的 AI 能力栈LLM 引擎 → Token 编码 → Context 记忆 → Prompt 指令 → Tool 工具 → MCP 协议标准。现在我们要把这些积木全部组装起来搭建一个能自己干活的系统——Agent智能体。一、从问答机器到自主干活的系统到目前为止我们描述的 LLM 使用方式基本是用户提问 → 模型回答 用户再提问 → 模型再回答 ……这种模式下模型是被动的。它等着你问问一句答一句。但如果用户的需求是复杂的呢帮我规划下周去上海的出差行程包括订合适的机票、查看那几天的天气、在到达当天下午找一个离机场近的咖啡厅方便我见客户。这不是一个一问一答能解决的问题。它需要查日历确定出行日期搜索合适的航班查询那几天的天气搜索机场附近的咖啡厅综合所有信息输出一份行程规划Agent 就是干这个的。二、Agent 是什么Agent智能体是一个能够自主规划、自主决策、自主调用工具、持续迭代执行直至完成复杂用户任务的 AI 系统。拆解一下这四个自主能力说明自主规划把复杂任务拆解为多个子步骤自主决策根据每一步的中间结果判断下一步该做什么自主调用工具根据当前需要自行选择并调用合适的工具持续迭代循环执行思考 → 行动 → 观察 → 再思考直到任务完成三、Agent LLM 工具 循环用最简单的公式来表达 AgentAgent LLM Tool Loop循环3.1 核心循环Think → Act → ObserveAgent 的工作模式是一个经典的循环┌──────────────────────────────────┐ │ │ ▼ │ ┌──────────────┐ │ │ Think │ │ │ 思考下一步 │ │ └──────┬───────┘ │ │ │ ▼ │ ┌──────────────┐ │ │ Act │ │ │ 调用工具 │ │ └──────┬───────┘ │ │ │ ▼ │ ┌──────────────┐ │ │ Observe │ │ │ 观察结果 │ │ └──────┬───────┘ │ │ │ │ 任务未完成 │ └────────────────────────────────────┘ │ │ 任务完成 ▼ 输出最终答案每一步模型都在做同样的决策我离目标还有多远下一步该做什么该用哪个工具四、Agent 的实际工作过程让我们用查天气并找雨伞店这个经典例子看 Agent 是怎么工作的。任务用户问今天北京天气如何如果下雨帮我找一家附近的雨伞店。第 1 轮Think → 用户想知道北京天气。我需要调用天气工具。 Act → 调用 get_weather(北京) Observe → 返回结果北京今天小雨18°C第 2 轮Think → 天气是小雨用户可能需要雨伞。我需要搜索北京附近的雨伞店。 Act → 调用 search_places(雨伞店, 北京) Observe → 返回结果天天伞店王府井大街12号、好伞坊三里屯3号楼第 3 轮Think → 找到了两家雨伞店。我的任务完成了整合信息回复用户。 Act → 无需调用工具直接生成回答 输出 → 北京今天有小雨气温18°C出门记得带伞。 附近有两家雨伞店天天伞店王府井大街12号、好伞坊三里屯3号楼。注意Agent 用了3 个轮次才完成任务而不是一次调用。每一轮都在思考、行动、观察。这就是 Agent 和普通 LLM 调用的本质区别。五、Agent 和普通 LLM 调用的对比普通 LLM 调用Agent任务复杂度单轮问答多步骤复杂任务工具调用被动等待指令自主选择和使用执行方式一问一答一次完成多轮循环迭代执行规划能力无自主拆解任务停止条件输出完即止判断任务完成后才停止错误处理没有观察到失败后可以换策略重试六、Agent 的工程实现模式在实际开发中Agent 通常按以下模式实现def agent_loop(user_task): context build_context(user_task, tools_list) ​ while not task_complete: response llm.chat(context) # Think ​ if response.has_tool_call: result execute_tool(response.tool_call) # Act context.append(result) # Observe else: return response.text # 任务完成输出答案核心就是把思考交给 LLM把行动交给平台执行工具把观察工具结果追加回 Context循环直到模型认为任务完成七、Agent 的挑战Agent 很强大但并不完美。以下是当前 Agent 面临的核心挑战7.1 幻觉与错误传导Agent 的每一次思考都可能出错。如果某一步调了错误的工具或填了错误的参数后续步骤会在错误的基础上继续导致一步错步步错。7.2 无限循环如果 Agent 的停止条件设置不当它可能在Think → Act → Observe中无限循环永远找不到任务完成的时刻。7.3 Token 消耗Agent 的多轮循环意味着每一轮的 Context 都在增长。复杂任务可能消耗几十甚至上百轮Token 用量——费用——直线上升。7.4 安全性Agent 能自主调用工具意味着它能自主操作你的文件、数据库、外部服务。权限控制稍有疏漏后果可能很严重。八、总结Agent 是能自己干活的 AI 系统——自主规划、决策、调用工具、持续迭代。Agent 的核心是 Think → Act → Observe 循环模型多轮迭代直到任务完成。Agent 面临幻觉传导、无限循环、Token 消耗和安全性的挑战这些是工程实践的关注重点。下一篇也就是本系列的最后一篇我们来聊聊 Agent 的说明书——Agent Skill。看看怎么为 Agent 预设工作流程让它在特定场景下表现得更专业、更可靠。本系列文章LLM 大语言模型Token 与 TokenizerContext 与 Context WindowPrompt 提示词Tool 工具调用MCP 模型上下文协议Agent 智能体← 你在这里Agent Skill待发布

更多文章