开启 3 天免费试用
注册即可免费体验全部高级功能。
*仅限新用户;每位用户只能获得一次试用。


什么是 AI Agent?在这种系统中,模型可以选择步骤和工具、观察结果,并朝既定目标推进,直到满足退出条件或把控制权交还给人。它不只是聊天机器人的一次回答,但“Agent”并不意味着无限自主、可靠的判断力或在任何地方行动的权限。
如果你想先了解基本的“提示—检查”模式,请阅读 AI 实用入门指南。本文关注的是:当模型能够影响工作流程、而不只是返回一个答案时,会发生哪些变化。
关键要点
- 聊天机器人负责回答;固定工作流按编码好的路径执行;Agent 能在允许的下一步之间作选择。
- Agent 需要模型、指令、工具、状态、控制循环和明确的退出条件。
- 决定系统能影响什么的是工具权限,而不是“Agent”这个标签。
- 审批、认证、sandbox、预算和日志必须存在于模型的承诺之外。
- 当任务和决策路径已知时,确定性的工作流往往更好。
AI Agent 是利用模型来管理多步骤工作流中一部分的软件。OpenAI 把 Agent 描述为代表用户独立完成任务的系统,并把模型、工具和指令列为核心设计组件。[1] Anthropic 使用更宽泛的“agentic systems”一词,但作了一个有用的区分:工作流遵循预定义的代码路径,而 Agent 会动态地指挥自身的流程和工具使用。[2]
这些定义在边缘处有所不同,所以要检查系统本身,而非营销名称。问一问:谁选择下一步行动?能接触到哪些工具?步骤之间保留了什么状态?什么会让运行停止?
假设目标是“找出这个单元测试为什么失败,并准备一个待审的补丁”。聊天机器人可能会解释你粘贴的错误。固定工作流可能总是先跑 lint,再跑测试,然后生成报告。Agent 则可能查看代码库的说明、搜索这个测试、挑选一个相关文件、运行一条聚焦的命令、更新自己的假设,并因为需要审批而在修改前停下。
Agent 不是一次模型调用,而是模型加上周边软件:后者提供上下文、开放工具、执行限制、记录结果,并决定模型输出如何变成行动。
区别在于对路径的控制,而不在于界面看起来多像对话。
| 系统 | 谁选择下一步 | 典型优势 | 主要风险 |
|---|---|---|---|
| 聊天机器人 | 用户再发一条提示 | 解释和起草 | 流畅的回答可能被误当成已核验的工作 |
| 固定工作流 | 预定义的应用代码 | 可预测、可重复 | 固定路径可能处理不了异常输入 |
| AI Agent | 模型在循环中从允许的动作里选择 | 适应不完整或变化的任务 | 错误可能跨多个动作累积 |
聊天机器人可以调用搜索工具,却仍只是一次请求—响应。工作流可以包含模型调用,却不把整体路径交给模型控制。Agent 也可以受严格约束:动态选择并不需要不受限制的文件系统、网络或账户访问。
系统委托出去的选择程度各不相同。一个 Agent 也许只能在三个只读搜索工具间选择;另一个可以修改文件、运行测试并发起审阅请求。后者行动面更广,但两者可能都用由模型主导的循环。
不要只按能执行多少动作来比较 Agent。要比较任务边界、工具权限、退出规则、恢复行为,以及复核人能看到的证据。
多数实用的 Agent 需要七个组件:
这张确定性示意图描述的是通用的控制循环,不是产品界面,也不代表每个 Agent 都采用相同的架构。
模型的回答是文本或结构化输出。工具让这些输出有了途径去查看代码库、查询数据库、调用 API、写文件或发送消息。因此,工具的设计决定了一次错误的实际影响。
优先使用参数明确、错误清晰的窄工具。read_issue(number) 比“用某个令牌运行任意 shell 命令”更易授权和审计。分开读取和写入操作,校验输入,并让不可逆动作需要更高级别的审批。
状态让 Agent 记得自己试过什么,但过时或不可信的状态会误导之后的决定。按来源、时间和范围标注观察结果。不要让一个旧的工具结果悄悄覆盖记录系统中更新的值。
对编程工作而言,当前的文件树、代码库规则、测试输出和用户的明确请求应当彼此可区分。AI 编程入门工作流介绍了如何把这些输入变成有边界的任务,而不是开放式的使命。
Agent 可以分解目标、检索上下文、选择获允许的工具、对结果作出反应并重复。视工具而定,它可以整理文档、调查测试失败、准备草稿、给请求分类或整理审阅材料包。
它无法获得周边系统没有授予的权限。它不能让不确定的信息变成事实,不能保证外部操作一定成功,也不能取代法律、医疗、财务、雇佣、安全或生产决策的负责人。
每一条能力陈述都应附带条件。“Agent 能更新工单”真正的意思是:工具已配置、身份有权限、工单在范围内、API 可用、输入通过校验,并且审批政策允许这次写入。
任一条件不满足时,设计良好的 Agent 应停下或交接。体面地拒绝是在起作用的控制,而不是演示失败。
当输入是结构化的、路径已知、规则稳定、每个分支都能测试时,使用确定性的脚本或工作流。当任务依赖于理解非结构化信息、在几条合理路径中作选择,并需要根据中间观察进行调整时,才使用 Agent。
Anthropic 建议从最简单的方案开始,只有在能带来可衡量的价值时才增加 Agent 化的复杂度;对于定义明确的任务,工作流更可预测。[2]
问四个问题:
如果第一个或第二个问题的答案是否定的,引入 Agent 可能只会让系统更难理解。
使用分层控制,因为没有任何一条提示词能强制执行所有边界:
| 控制 | 作用 |
|---|---|
| 身份认证与授权 | 限制哪个身份可以使用哪些工具和资源 |
| 输入校验 | 在工具接触之前拒绝格式错误、超大或不允许的请求 |
| Sandbox 与网络策略 | 限制文件、进程、目标地址和协议 |
| 审批门禁 | 在敏感、外部、昂贵或不可逆的动作前暂停 |
| 预算与退出条件 | 限制轮数、时间、成本、重试和重复失败 |
| 输出与副作用核验 | 检查结构化输出,并确认外部状态符合预期 |
| 审计记录 | 记录指令、工具调用、结果、审批和错误 |
OpenAI 对编码 Agent 的运行说明,把 sandbox 边界、审批政策、受管控的网络访问、凭证和遥测分开处理。[3] 这种分离很重要:日志不能阻止不安全操作,审批对话框也弥补不了权限过大的身份。
对于生成的代码,使用运行 AI 生成代码前如何审查的清单。生成补丁的 Agent,不应成为唯一判断补丁可安全执行的一方。
网页、Issue 正文、文档、代码注释和工具输出,都可能含有与用户目标冲突的指令。系统应区分数据与可信指令、约束工具参数,并在新的来源试图扩大范围时要求审批。
在个人和机密数据进入 Agent 上下文之前,尽量减少它们。即使 Agent 本身有良好的 sandbox,AI 隐私风险指南中关于保留、披露和数据控制的问题依然适用。
有用的 Agent 停止时会给出结构化交接:目标、已采取的行动、找到的证据、改动过的文件或系统、运行过的检查、未解决的问题,以及下一步所需的审批或专业知识。它不应把部分结果藏在润色过的总结后面。
退出条件可以包括:结果已核验、达到最大轮数、反复失败且没有新证据、缺少权限、需求含糊,或遇到高风险动作。OpenAI 的 Agent 指南明确包括识别任务完成、在失败时停止,以及把控制权交还给用户。[1]
关于特定工具的编码 Agent 实践,Claude Code 新手指南展示了读取、规划、权限、编辑、测试和交接各阶段,而不把某个厂商的界面当作 Agent 的定义。
不一定。聊天机器人可能为了一个回答调用工具,而 Agent 会在多个步骤中由模型主导作出选择。检查是谁在控制路径、什么会让运行停止。
它可以在不需要人逐一批准的情况下执行有边界的低风险步骤,但敏感、不可逆、含糊或高影响的动作,应有明确的审批和交接规则。
它需要足够的状态来跟踪当前这次运行。长期记忆是可选的,而且会带来额外的隐私、时效和授权问题。
自主是有条件的。可用的工具、身份、数据、网络目标、预算和审批,都由周边的应用决定。
当输入和分支已知、可重复性很重要,而且任务可以用确定性规则表达时,选择固定工作流。它通常更容易测试和审计。
它可以运行检查并报告结果,但仍需要独立的测试、校验器、人工复核和目标环境中的证据。自我报告的成功不是外部证明。
一次错误或被操纵的决定所造成的影响,会随工具权限而扩大。保持工具窄小,把读取与写入分开,并对外部或不可逆的影响要求审批。
免责声明:本文仅提供一般技术信息。Agent 控制应根据真实数据、身份、系统与后果设计。
来源:
Sources checked 2026 年 8 月 24 日。
延伸阅读:
注册即可免费体验全部高级功能。
*仅限新用户;每位用户只能获得一次试用。