AI Agent:原理、架构与开发实战
从理解原理,到亲手构建
先弄清 Agent 为什么不只是聊天机器人,再沿着“架构 → 模式 → 工具 → 工程实践”的路径,把一个能思考、会行动的智能系统真正搭建起来。
在上一章中,我们认识了以脉冲神经网络为代表的类脑智能——它尝试模仿人脑的生物学机制,以更贴近真实神经元的方式处理信息。然而,无论单个模型多么精妙,它们本质上仍然是在做"感知"或"预测":识别图片中的物体、预测下一个词是什么。
但真正的智能不止于感知与预测——它还意味着在真实世界中采取行动、使用工具、面对不确定性并不断调整策略。随着大模型推理与工具调用能力成熟,AI 的边界开始从“能理解”延伸到“能行动”——这就是AI Agent(人工智能体)。
AI Agent 不是简单的聊天机器人,也不是传统的自动化脚本。它是一种能够感知环境、规划任务、调用工具、根据反馈调整行动的智能系统。本文不会在“扫盲”和“开发”之间突然换挡,而是从工作原理一路讲到工程实现。
什么是 AI Agent?
要准确理解 AI Agent,我们可以将其与相关概念进行对比——它们有什么区别,又在哪里交汇?
语言模型
AI Agent
自动化脚本
AI Agent vs 传统 AI
如果说大语言模型是 AI 的"大脑",那么 AI Agent 就是 AI 的"完整身体"——它拥有感知、思考、行动的能力,能够在真实世界中完成复杂任务。
—— AI 研究社区哲学家怎么定义"智能体"?
"智能体"这个概念最早来自哲学和认知科学。计算机科学家 Stan Franklin 和 Art Graesser 在 1996 年给出了一个被广泛引用的经典定义——
"一个智能体(Agent)就是这样一个实体:它存在于一个代理环境(agent-environment)中,能够自主行动以影响当前的处境以满足自己的设计目标。"
—— Stan Franklin & Art Graesser, 1996这个定义揭示了 Agent 的四个核心属性:自主性(不依赖外部干预)、感知能力(对环境有某种观测手段)、行动能力(能通过某种行动模式影响环境)和持续性(在一段时间内持续存在)。
AI Agent 的发展历程
- 1950s-1970s — 符号主义 AI:基于逻辑推理的专家系统尝试模拟智能行为
- 1980s-1990s — 智能体理论诞生:哲学家和认知科学家提出"Agent"概念,自动化脚本在工业领域起步
- 2000s-2010s — 机器学习崛起:从统计学习方法到深度学习,AI 感知能力飞跃,但行动能力仍受限
- 2020 年 — GPT-3 发布:大语言模型展现出惊人的零样本推理能力,为 Agent 提供了强大的"大脑"
- 2023 年 — Function Calling 技术成熟:OpenAI 等公司推出的函数调用能力,让 LLM 首次能稳定地与外部工具交互
- 2024 年 — AI Agent 爆发:从 Devin 代码 Agent、AutoGPT 到 Anthropic 的 Computer Use,Agent 成为 AI 领域最热门的方向
- 2025 年及以后 — 多 Agent 协作、自主 Agent 成为新前沿:多个 Agent 可以像团队一样协作完成复杂项目
AI Agent 典型工作流
一个 AI Agent 从接受任务到完成任务,通常经历以下核心步骤:
感知理解
接收用户的目标和上下文信息,理解任务意图和约束条件
规划分解
将复杂目标拆解为可执行的子任务序列,制定行动计划
执行行动
调用工具(搜索、代码执行、浏览器等)完成每个子任务
反思调整
检查当前状态,若目标未达成则分析原因并调整策略,循环迭代
交付结果
将完成任务的最终结果以清晰的方式反馈给用户
不管 AI Agent 的外壳多么花哨,它本质上都是由几个核心模块组成的系统——大脑(Brain)、记忆(Memory)、规划(Planning)、工具(Tools)。理解了这些模块,你就理解了 Agent 的本质。
大脑(Brain)
记忆(Memory)
规划(Planning)
工具(Tools)
大脑:LLM 如何成为 Agent 的推理引擎?
大语言模型之所以能成为 Agent 的大脑,是因为它具备几种关键能力——从"只会说"到"会思考"的转变,依赖于这些推理技术。
🔗 思维链(Chain of Thought)
🔄 思维树(Tree of Thoughts)
🔍 ReAct 推理
🪞 反思(Reflexion)
记忆系统:Agent 的"大脑皮层"
记忆是 Agent 能够持续学习和积累的关键。一个好的记忆系统让 Agent 不再"记不住"——每次对话、每次经验都能被保留和调用。
🔵 短期记忆(工作记忆)
类似于人类的"工作记忆"——在对话过程中临时存储和调用信息。通常通过上下文窗口(Context Window)实现,即大模型的 Token 限制内可以"记住"的内容。
特点:容量有限(数千到数十万 Token)、更新快、时效性强。新对话中通常为空,随着对话推进不断累积。
🔗 典型实现:对话历史、当前任务的中间状态
🟢 长期记忆
让 Agent 能够跨会话持久存储和检索信息——类似人类的长期记忆。核心方案是使用向量数据库(如 Chroma、Pinecone、Milvus)存储语义嵌入,通过相似性检索召回相关信息。
特点:容量无限、持久存在、支持语义检索。可以存储用户偏好、项目知识、历史决策等。
🔗 典型实现:向量数据库、知识图谱、结构化存储
记忆系统的工作流程
编码(Encode)
将对话内容、经验教训编码为向量或结构化数据
存储(Store)
存入向量数据库或持久化存储,标注时间、上下文等元信息
检索(Retrieve)
根据当前任务上下文,从记忆中检索最相关的历史信息
遗忘(Forgetting)
选择性遗忘过时或不重要的信息,保持记忆系统的精简和高效
工具:Agent 的"双手和双眼"
工具是 Agent 从"纸上谈兵"走向"真枪实弹"的关键。有了工具,Agent 不再只是在一个封闭的对话世界里"空谈"——它可以去搜索、去写代码、去操控浏览器、去访问数据库。
Function Calling:大模型如何"学会"使用工具?
工具之所以能被 Agent 调用,核心在于Function Calling(函数调用)技术——它让大语言模型能够理解工具的定义,并在合适的时机生成调用工具的请求。
它的工作原理并不复杂:首先,开发者为每个工具定义一个函数签名——包括函数名、参数描述、参数类型。然后将这些定义"告诉"大模型。当用户提出需求时,模型判断是否需要调用工具,并生成结构化的调用请求。
// 给模型的"工具定义" function search_web( query: string, // 搜索关键词 max_results: int // 最多返回结果数 ) => string // 用户提问 "今天 AI 领域有什么重大新闻?" // 模型生成工具调用请求 { tool: "search_web", arguments: { query: "AI major news today", max_results: 5 } } // 系统执行工具,返回结果 // 模型根据结果生成最终回复
根据任务复杂度、自主程度和协作方式,AI Agent 可以分为多种类型。了解这些类型有助于我们在不同场景下选择合适的 Agent 架构。
简单响应型 Agent
单 Agent
多 Agent 系统
人机协作 Agent
自主 Agent
多 Agent 系统就像是一个 AI 团队,每个 Agent 都有自己的专长,通过协作能够完成单一个体无法完成的复杂任务。
—— 微软研究院多 Agent 协作模式
在多 Agent 系统中,Agent 之间可以采用不同的协作模式来完成复杂任务:
📋 顺序执行(Sequential)
Agent 按顺序依次完成任务,后一个 Agent 依赖前一个 Agent 的输出作为输入。适合流水线式的任务——先写代码、再测试、再部署。每个 Agent 专注于自己的环节。
🤝 协作(Collaborative)
多个 Agent 同时工作、共享信息,共同朝着目标前进。每个 Agent 有自己的子目标,但会与其他 Agent 保持沟通,确保方向一致。适合需要跨领域知识的项目。
⚔️ 竞争(Competitive)
Agent 之间存在竞争或辩论关系。例如一个 Agent 负责生成方案,另一个 Agent 负责批判和挑错——类似"红队测试"(Red Teaming)。这种模式能有效提升输出质量。
AI Agent 正在从概念走向大规模实践。以下是一些正在发生或即将发生的典型应用场景——每个场景都展示了 Agent 在"行动"方面的独特能力。
软件开发
研究助手
办公自动化
电商与营销
数据分析
游戏与模拟
软件开发 Agent:目前最成熟的 Agent 应用
软件开发是 Agent 落地最快、最成熟的领域之一。Agent 可以参与的环节贯穿整个软件开发生命周期——从需求分析到代码实现、测试、部署、运维。
📝 代码生成
🐛 自动调试
📦 项目管理
🚀 部署运维
代表性 AI Agent 产品一览
| 产品名称 | 公司/团队 | 核心能力 | 典型场景 |
|---|---|---|---|
| AutoGPT | 开源社区 | 自主规划、工具调用、持续学习 | 市场调研、内容创作、自动化工作流 |
| Devin | Cognition AI | 全栈开发、代码调试、项目管理 | 从需求到部署的完整开发流程 |
| CrewAI | CrewAI Inc. | 多 Agent 角色编排、任务协作 | 复杂项目的多角色团队协作 |
| AutoGen | 微软研究院 | 多 Agent 对话、人机协同 | 复杂推理任务、代码生成与验证 |
| LangGraph | LangChain | 有向图编排 Agent 流程、状态管理 | 自定义 Agent 工作流、复杂多步骤任务 |
| Computer Use | Anthropic | 操控电脑桌面、模拟鼠标键盘 | 不需要 API 的系统操作、GUI 自动化 |
| Dify | Dify 团队 | 低代码 Agent 平台、RAG 集成 | 快速搭建企业级 AI 应用 |
在使用和开发 AI Agent 时,有一些核心概念和技术你需要了解——它们决定了 Agent 的行为模式和最终效果。
LLM 关键参数对 Agent 的影响
调整 LLM 的参数会显著影响 Agent 的行为——这些参数决定了模型的"性格"和"风格"。
理解之后,开始构建
前面的定义、架构和工具解释了 Agent 如何工作;接下来把这些组件落到工程中:先看开发方式如何演进,再学习框架选择、设计模式、能力扩展与生产实践,最后完成一个可运行的 Agent。
阅读主线:不要先追逐最复杂的框架。先明确目标与边界,再选择最小可行架构;只有当状态、分支、协作或可观测性变复杂时,才逐步引入图编排、多 Agent、MCP 与 Skill。
从"手动组装"到"框架赋能"的演进之路
Agent 的开发方式经历了三次重大跃迁——从最初的"从零手写",到"链式封装",再到如今的"图编排+自主协作"。理解这个演进过程,能帮助你更好地选择适合的工具。
手动组装(Hand-Coded Chains)
代表:早期的 LangChain Chain 模式、手写 Prompt 链
链式封装(Chains & Tools)
代表:LangChain Agent Executor、Semantic Kernel、OpenAI Function Calling
图编排与自主 Agent(Graphs & Autonomous Agents)
代表:LangGraph、CrewAI、AutoGen、Microsoft Semantic Kernel (Agent)
关键里程碑
从 ChatGPT 点燃大模型浪潮,到 Agent 进入生产环境,不过短短三年——这场变革的节奏远超以往任何技术周期。
大语言模型走向大众,点燃 AI 浪潮
可靠性、可观测性、成本控制成为焦点,Agent 从实验走向落地
为什么需要框架?
直接调用 LLM API 当然可以做 Agent,但面对复杂的业务逻辑、错误处理、状态管理、并发控制时,框架能帮你解决重复造轮子的问题。它们提供标准化的抽象——工具管理、循环控制、记忆系统、持久化等——让你专注于业务逻辑而非基础设施。
框架三大类别
🔧 全栈框架
提供端到端的 Agent 开发工具——从 prompt 管理、工具集成、记忆系统到部署监控一应俱全。适合需要快速构建完整 Agent 应用的场景。
代表:LangChain / LangGraph、LlamaIndex
优势:生态庞大、文档丰富、社区活跃 | 劣势:学习曲线较陡、组件较多
👥 多 Agent 协作框架
专注于多个 Agent 如何分工协作。提供角色定义、任务编排、通信机制、协作模式(顺序、并行、辩论)。适合复杂项目需要"团队作战"的场景。
代表:CrewAI、Microsoft AutoGen、CAMEL
优势:天然适合复杂任务分解 | 劣势:调试复杂度高、通信开销大
🪶 轻量工具库
提供最小化的 Agent 构建基元——一个 Agent 类、工具注册、简单的 ReAct 循环。不强制你的架构设计,灵活性极高。
代表:OpenAI Agents SDK、LangChain Expression Language (LCEL)、SmolAgents
优势:简单灵活、易于理解 | 劣势:复杂场景需要自己组合
🖥️ 低代码 / 无代码平台
通过可视化界面拖拽组装 Agent——选择模型、添加工具、配置流程,无需写代码即可创建可用的 Agent 应用。适合非技术人员或快速原型。
代表:Dify、Coze、LangSmith、Flowise
优势:上手快、部署简单 | 劣势:灵活性受限、深度定制难
主流框架对比一览
| 框架 | 类型 | 核心优势 | 适用场景 | 语言 |
|---|---|---|---|---|
| LangGraph | 全栈图编排 | 状态管理、有向图、持久化、生产就绪 | 复杂工作流、需要精细控制的 Agent | Python / JS |
| CrewAI | 多 Agent 协作 | 角色分工、流程编排(顺序/层次)、API 简洁 | 需要多角色协作的复杂项目 | Python |
| AutoGen | 多 Agent 对话 | 多 Agent 对话机制、代码执行、人机协同 | 复杂推理、代码生成与验证 | Python / .NET |
| OpenAI Agents SDK | 轻量 SDK | 极简 API、内置搜索和代码执行工具 | 快速构建单 Agent 应用 | Python / TS |
| SmolAgents | 轻量框架 | 极简设计、支持 Code Agent、内置沙箱 | 快速原型、教育演示 | Python |
| Dify | 低代码平台 | 可视化编排、RAG 内置、开箱即用 | 企业级 AI 应用快速搭建 | Web / Docker |
如何选择框架?一句话原则:简单任务选轻量,复杂任务选图编排,团队任务选多 Agent。
🧭 框架选择速查
根据你的任务复杂度、团队规模和上手需求,快速锁定目标框架——
Agent 不是单一设计——它有多种"思维模式"
就像不同的人用不同的方式解决问题,Agent 也有多种架构模式。理解这些模式,能帮你在不同场景下选择最合适的策略。
🔄 ReAct 模式
📋 Plan-and-Execute
⚡ Code as Agents
👥 Multi-Agent
Agent 设计的三个核心问题
在设计任何 Agent 之前,有三个根本性问题必须想清楚——它们决定了你的 Agent 的"基因"。
目标是什么?
有什么工具?
边界在哪?
一个负责“连接世界”,一个负责“沉淀做法”
当 Agent 从演示走向真实工作,仅有 LLM 和几个手写函数还不够:它既需要一种统一方式连接文件、数据库、浏览器和企业系统,也需要把成熟的操作步骤保存下来,避免每次都从零探索。MCP 与 Skill 正好解决这两个不同层面的问题。
🔌 MCP:标准化的能力连接协议
MCP(Model Context Protocol,模型上下文协议)是一套开放协议,用统一的客户端—服务器方式,把 AI 应用连接到外部数据和工具。它像 Agent 世界的“通用接口”:接入一次,兼容 MCP 的客户端就能发现并使用服务端暴露的能力。
- Tools:可执行动作,如查询数据库、发送消息、创建工单
- Resources:可读取上下文,如文件、文档、数据记录
- Prompts:服务端提供的可复用提示模板或交互入口
🧠 Skill:可复用的任务方法与操作手册
Skill(技能)是面向特定任务的知识包:它告诉 Agent 在什么情况下应该采用哪套方法、按什么步骤执行、需要读取哪些参考资料,以及何时调用脚本或工具。它更像一份可以被 Agent 主动加载的“标准作业程序”。
- Instructions:任务目标、规则、步骤和检查清单
- Scripts:稳定、可重复执行的辅助程序
- References / Assets:按需加载的资料、模板与资源
MCP 的基本架构:Host、Client 与 Server
MCP 采用客户端—服务器架构。Host 是承载 Agent 的 AI 应用;Host 内部创建一个或多个 Client,每个 Client 与一个 MCP Server 保持连接;Server 再负责访问本地或远程系统,并向 Agent 暴露可发现的能力。
Skill 如何工作:按需发现,而不是一次塞进 Prompt
一个设计良好的 Skill 会采用渐进式披露(Progressive Disclosure):先只暴露名称与用途,让 Agent 判断是否匹配;命中任务后再读取完整说明;真正执行到某一步时,才继续加载脚本、模板或参考资料。这样既节省上下文,也减少无关指令干扰。
发现
浏览 Skill 名称与描述,判断它能解决什么问题
激活
任务匹配时读取 SKILL.md 中的完整流程与规则
执行
按步骤调用工具、运行脚本、读取参考资料
验证
依据 Skill 的检查清单确认结果是否达标
Tool、MCP、Skill 到底有什么区别?
| 概念 | 它解决的问题 | 典型形态 | 复用粒度 |
|---|---|---|---|
| Tool | Agent 能执行什么动作? | 一个函数、API 或命令 | 原子能力:搜索、写文件、发邮件 |
| MCP | Agent 如何统一发现并连接外部能力? | 协议、Client、Server | 连接层:一组工具、资源和提示 |
| Skill | Agent 应该怎样完成某类任务? | SKILL.md + 脚本 + 参考资料 | 流程层:方法、规范和完整工作流 |
一句话记忆:Tool 是一个动作,MCP 是连接动作的标准接口,Skill 是组织这些动作完成任务的方法。
MCP + Skill:现代 Agent 的完整能力链
一个 Skill 与一个 MCP Tool 的最小示意
--- name: research-report description: 调研一个主题并生成可核验的报告 --- # 工作流程 1. 明确问题与交付格式 2. 搜集多来源资料 3. 交叉验证关键事实 4. 输出结论与来源清单 # 完成标准 - 关键结论至少有两个来源支持 - 明确区分事实、观点与推断
{
"name": "search_documents",
"description": "在知识库中检索文档",
"inputSchema": {
"type": "object",
"properties": {
"query": { "type": "string" },
"limit": { "type": "integer" }
},
"required": ["query"]
}
}
什么时候应该使用它们?
只写 Tool
使用 MCP
编写 Skill
组合使用
🔒 安全提醒:MCP Server 和 Skill 都可能触发文件修改、命令执行或外部请求。接入第三方内容前应检查来源与代码,采用最小权限,限制可访问目录和凭证;删除、付款、发送消息等高风险动作应保留人工确认,并对脚本执行设置沙箱、超时与日志。
从无数踩坑中总结的经验
随着 Agent 开发进入生产环境阶段,社区积累了大量实践经验。以下是当前公认的最佳实践——每一条都来自真实项目的教训。
🌱 从简单开始,逐步复杂化
先构建一个最简 Agent(ReAct 循环 + 1-2 个工具),验证核心流程跑通。然后逐步添加工具、记忆、反思等模块。不要一开始就设计多 Agent 系统。
📝 精心设计 System Prompt
System Prompt 是 Agent 的"人格设定"。好的 Prompt 包含:角色定义(你是谁)、任务描述(你要做什么)、工具说明(你能用什么)、行为准则(你应该怎么做)、输出格式(你该如何回复)。
⚙️ 工具设计遵循"少而精"
给 Agent 的工具不是越多越好。过多的工具会分散 Agent 的注意力、增加幻觉概率。每个工具应该有清晰的名字、精确的描述、明确的输入输出。
🛡️ 始终设置安全护栏
Agent 具有自主行动能力,必须设置边界:输入过滤、输出检查、敏感操作人工审批、工具权限最小化、最大迭代次数限制等。让 Agent 有护栏地自由行动,而不是无限自由。
📊 可观测性至关重要
Agent 的每一步推理和行动都应该被记录——使用 LangSmith、LangFuse 等工具追踪 Agent 的决策路径、工具调用、耗时和 Token 消耗。没有可观测性的 Agent 就是黑盒。
🧪 建立评估体系
不要只靠感觉判断 Agent 好坏。建立 评测集(Evaluation Set),用客观指标衡量 Agent 的完成率、正确率、效率。考虑使用 LLM-as-a-Judge 让另一个模型来评估 Agent 的输出质量。
工具设计原则:让 Agent 用好工具
工具是 Agent 与外部世界交互的唯一桥梁。工具设计的好坏,直接决定了 Agent 的"动手能力"。以下是一条简单但强大的原则——
工具命名即文档:工具的名字就是它最好的文档。与其在描述里写"这个函数可以搜索互联网上的信息",不如直接把工具命名为 search_the_internet_for_information——名字本身就让 LLM 知道什么时候该用它。
Agent 开发常见陷阱
🕳️ 过度工程化
一个简单问题却设计了一个包含 5 个 Agent、3 个工具、复杂编排的多 Agent 系统。记住:能用一个简单 Agent 解决的问题,不要用复杂的。
🕳️ 工具描述模糊
给工具写的描述太笼统("搜索信息"),LLM 无法判断何时应该调用。好的描述应该包括:什么时候调用、调用后返回什么、需要什么参数。
🕳️ 循环无终止
ReAct 循环没有最大迭代次数限制,Agent 可能陷入死循环。务必设置最大步数(如 15 步)和超时机制。
🕳️ 忽略成本与延迟
一个 Agent 可能调用 LLM 数十次、使用多个工具——Token 成本和响应延迟会迅速累积。设计时要考虑成本预算,必要时做缓存或减少调用。
项目:让 Agent 安全整理一个杂乱文件夹
这一次,我们不再从安装框架、复制代码开始。你只需要把目标、约束和验收标准告诉 Coding Agent,让它负责创建项目、编写代码、运行测试并根据反馈迭代。最终得到的文件整理 Agent会扫描一个指定目录,理解文件内容,生成分类与重命名方案,并且只有在你确认后才执行整理。
Coding Agent:开发者
读取需求、创建项目、编写工具与测试、运行程序、发现错误并继续修改。
文件整理 Agent:最终产品
扫描文件、制定计划、等待审批、执行复制、核对结果并生成整理报告。
先分清两个 Agent:Coding Agent 是帮你开发软件的“程序员”;文件整理 Agent 是我们要开发出来、以后可以反复使用的“数字收纳员”。这正是 Vibe Coding 的核心——你描述目标和反馈,Coding Agent 负责把想法变成可以运行的软件。
demo-inbox
分类 / 命名 / 置信度
文件工具
策略工具
plan.json
批准后执行
输出报告
第一步不是写代码,而是定义安全边界
“帮我整理文件”是一个危险的模糊需求。一个真正可用的 Agent,必须先把能做什么、不能做什么、怎样才算完成说清楚。
第一次运行只能扫描和生成计划,不能修改任何源文件。
批准后复制到输出目录,原始文件保持不变。
只能访问用户明确指定的演示目录,拒绝越界路径和符号链接。
展示每项变更,用户输入确认令牌后才允许执行。
低置信度、重名或疑似重复文件进入“待确认”,不擅自决定。
保存计划、执行结果和错误原因,但不在日志中记录文件正文。
新建一个空目录,在其中打开你常用的 Coding Agent,然后直接描述产品目标。不要先替它设计所有类和函数,先让它理解任务并给出实现方案。
Coding Agent 完成第一轮后,项目应该具备清晰的职责分层,而不是把扫描、模型调用和文件操作全部塞进一个脚本。
├── app.py # plan / apply / verify 命令入口 ├── organizer/ │ ├── agent.py # 任务编排与循环 │ ├── tools.py # 扫描、摘要、复制、核验工具 │ ├── policy.py # 路径和操作安全策略 │ ├── schemas.py # 整理计划的数据结构 │ └── prompts.py # 分类规则与输出约束 ├── tests/ # 安全边界和核心流程测试 ├── demo-inbox/ # 只放虚构的演示文件 └── organized-output/ # Agent 的输出目录
# 先让 Coding Agent 生成一组不含真实信息的演示文件,再运行: python app.py plan --source demo-inbox --output organized-output # 此时只允许产生 plan.json 和预览报告,不应复制任何文件。
不要急着继续加功能。先运行最小版本,检查 Agent 是否真的会使用工具、解释决策,并把不确定项留给人。
这里才体现 Agent:它不是按照扩展名机械移动文件,而是先读取环境、生成计划、调用策略工具检查计划,再根据反馈决定“可以继续”还是“交给人判断”。
第一次运行往往会暴露模糊规则。与其自己钻进代码逐行修改,不如把观察到的问题和新的验收标准继续告诉 Coding Agent。
安全规则必须由确定性的代码执行,不能只写在提示词里。LLM 可以提出建议,但没有权力绕过路径检查、覆盖保护和人工审批。
当计划通过人工检查后,再使用预案中生成的一次性令牌执行。令牌应绑定当前计划内容;计划一旦变化,旧令牌立即失效。
# 预览计划,同时生成一次性确认令牌 python app.py plan --source demo-inbox --output organized-output # 人工检查 plan.json 后再执行。示例令牌仅用于演示: python app.py apply --plan plan.json --confirm PLAN-7K2M # 再次核对:源文件数量不变,输出文件与计划一致 python app.py verify --plan plan.json
如果未来要加入“移动、删除、覆盖、上传云端”等能力,不能沿用当前确认范围,必须重新设计权限、审批和回滚机制。
“程序能启动”不等于“Agent 可以交付”。最后一轮让 Coding Agent 站在测试者角度检查完整边界,并用实际命令证明结果。
能扫描、规划、审批、复制和核验。
不越界、不删除、不覆盖、不跟随符号链接。
低置信度和失败项进入待确认并显示原因。
测试、计划与报告都能复现执行结果。
命令行版本验证稳定后,再让 Coding Agent 增加界面,而不是一开始就堆叠复杂功能。
# 具体命令由 Coding Agent 根据它选择的界面框架写入 README # 示例: streamlit run web.py --server.port 8011
最终得到的不是脚本,而是一个受约束的 Agent
Vibe Coding 不是“随便说一句,让 AI 把代码写完”,而是把目标讲清楚、让系统先跑起来、根据真实反馈逐轮修正,并用测试守住边界。你负责方向、判断和验收;Coding Agent 负责把每一轮反馈变成可以运行、可以验证的工程结果。
核心要点回顾
📈 三次演进
🧩 四大类别
🔑 四大模式
🚀 最佳实践
🔌 能力扩展
下一步去哪里?
从“感知—思考—行动”的基本循环,到框架、MCP、Skill、工程护栏与文件整理实战,我们已经把 Agent 的原理和开发串成了一条连续路径,并提前体验了Vibe Coding。下一章会进一步拆解这种协作方式:如何表达意图、管理上下文、审查代码,并与 Coding Agent 一起完成真正的软件项目。
理解原理、选择架构、连接工具、验证结果——
现在,让我们把这套 Agent 思维带入下一章的 AI 编程实践。