打造真正能办事的智能体:工程架构、风险控制与持续评测

举报
yd_288814258 发表于 2026/11/08 23:41:47 2026/11/08
【摘要】 大模型正在从“会回答”走向“能办事”。智能体的核心价值,不是多一轮对话,而是能够理解目标、调用工具、处理结果并持续迭代。但自主性越强,出错、越权和失控的概率也越高。开发智能体,不能只追求演示效果,更要关注它在真实业务中是否可靠、安全、可维护。一、先判断:这个场景真的需要智能体吗?并不是所有大模型应用都是智能体。普通问答、单轮摘要或固定规则流程,通常不需要复杂智能体架构。只有当任务具有多步骤、...
大模型正在从“会回答”走向“能办事”。智能体的核心价值,不是多一轮对话,而是能够理解目标、调用工具、处理结果并持续迭代。但自主性越强,出错、越权和失控的概率也越高。开发智能体,不能只追求演示效果,更要关注它在真实业务中是否可靠、安全、可维护。

一、先判断:这个场景真的需要智能体吗?

并不是所有大模型应用都是智能体。普通问答、单轮摘要或固定规则流程,通常不需要复杂智能体架构。只有当任务具有多步骤、需要动态决策、必须根据中间结果选择后续工具时,智能体的优势才真正体现出来。
同时要注意,智能体是用延迟、成本和系统复杂度换取灵活性。因此应先问三个问题:
  • 任务能否用固定工作流完成?
  • 模型是否必须动态选择工具或决定执行顺序?
  • 如果模型选择错误,能否停止、回滚或由人工接管?
能由代码确定性完成的部分,就不要交给模型随机决定。从简单架构开始,只有当真实失败案例证明简单方案不足时,才逐步引入规划、循环和多智能体。否则,增加的不是能力,而是不可控性。

二、明确任务边界,不能让模型“自己解释需求”

模型无法替产品团队定义业务。开发前必须明确:
  • 智能体可以解决什么问题;
  • 不能做什么;
  • 可以访问哪些数据和工具;
  • 每一步需要哪些输入;
  • 任务完成或失败分别如何判定;
  • 哪些操作需要人工审批。
尤其不能把“尽量帮助用户”作为唯一目标。这个目标过于模糊,容易让模型不断猜测、调用无关工具或越权执行。系统提示词应当规定职责、语言、风格、资料使用规则、拒答边界和输出格式,但必须认识到:提示词只是行为引导,不能替代权限控制。

三、模型、工具和指令缺一不可

智能体通常由三部分组成:模型负责推理和决策,工具连接外部系统,指令规定目标与边界。三者中任何一项设计不好,智能体都可能“积极但错误地行动”。

1. 模型选择以评测为准

不要默认使用最贵、最强的模型。可以先用强模型建立性能基线,再对分类、检索、摘要等简单环节尝试成本更低的模型。选择模型时,应同时衡量:
  • 任务成功率;
  • 工具调用准确率;
  • 响应延迟;
  • 单次任务成本;
  • 结构化输出是否稳定;
  • 模型升级后是否发生行为漂移。
模型表现会变化,今天有效的提示词和参数,明天不一定仍然有效。模型升级后应重新进行回归评测。

2. 工具是智能体的工程核心

工具设计比提示词更容易决定智能体是否可靠。每个工具都应遵循以下原则:
  • 名称清楚,功能单一;
  • 参数少、含义明确;
  • 提供准确的使用条件;
  • 输入经过严格校验;
  • 错误返回结构化、可理解的信息;
  • 具备超时、重试和幂等能力;
  • 按任务授予最小权限。
例如,“查询订单”和“创建退款”应拆成不同工具,不能让一个宽泛工具承担过多权限。工具描述应当告诉模型什么时候使用、需要哪些信息、可能产生什么后果,而不只是列出参数类型。
另外,智能体可能连续调用多个工具,因此必须处理网络超时、接口异常、数据缺失、参数错误和重复执行。重试次数、调用总步数、任务时间都应设置上限,避免模型陷入循环。

四、上下文决定智能体的判断质量

模型会受全部上下文影响,包括系统提示、历史对话、用户上传内容、检索文档和工具返回结果。其中,外部文档、网页和工具输出可能包含恶意指令,因此必须明确区分“可信指令”和“不可信数据”。
设计上下文时,应避免把无关信息全部塞入提示词,而是按照当前任务动态提供:
  • 与问题直接相关的知识;
  • 当前用户身份和权限;
  • 必要但不过量的历史信息;
  • 工具输出的关键字段;
  • 任务目标和限制条件。
长对话需要压缩,但不能随意删除已经承诺、已经执行或影响权限的关键事实。需要长期记忆的内容,最好结构化保存用户授权保存的信息、明确的事实和任务状态,并说明用途、保存期限和删除方式。记忆也不能被当作无限制的“人设”,应定期校验准确性。

五、安全必须从一开始就设计

传统应用主要防范恶意用户;智能体还要防范模型可能误读不可信数据。OWASP 列出的典型风险包括提示词注入、敏感信息泄露、供应链问题、输出处理不当、权限过大和过度消耗资源等。
安全设计至少有七项重点。

1. 最小权限

智能体只能使用完成当前任务必需的工具和数据。发邮件、删除数据、修改配置、执行代码等操作,应拥有独立且范围明确的凭证。工具返回的数据也必须按当前用户权限过滤,防止模型把其他用户的信息带出来。

2. 高风险操作必须二次确认

删除数据、发起退款、发送对外消息、执行代码和调用支付接口等,原则上应展示操作内容、影响范围和执行人,并获得用户或管理员确认。系统提示词不能成为执行安全规则的唯一屏障。

3. 把模型输出视为不可信输入

模型生成的内容不能直接进入数据库、命令执行环境、网页页面或其他系统。应校验类型、范围、格式和业务规则,并对输出进行转义或脱敏。错误提示、调试信息和追踪日志也不能泄露密钥、系统提示、内部规则或其他用户数据。

4. 提示词中不放秘密

密钥、内部业务规则、管理员说明等信息,不应写在可能被模型输出或工具结果暴露的地方。敏感业务规则应放在代码、权限系统和审计系统中执行。

5. 防范间接提示词注入

用户消息之外,网页、邮件、文档、工单和检索内容都可能包含恶意指令。架构上应尽量只提取结构化字段;跨系统传递不可信文本时,应明确标记来源和内容边界。安全过滤是第一道防线,但不能假设它永远有效。

6. 限制资源消耗

智能体可能连续调用模型和工具。应对输入长度、模型调用次数、循环步数、任务时间、并发量和费用设置预算。否则一个复杂任务或恶意输入就可能耗尽资源、放大成本。

7. 保留可审计记录

每次运行至少记录:
  • 任务目标;
  • 用户身份;
  • 模型版本;
  • 提示词和上下文摘要;
  • 工具名称及关键参数;
  • 工具返回摘要;
  • 决策过程;
  • 人工审批;
  • 最终输出;
  • 异常和失败原因。
记录要便于复盘和追责,但不能无限保存个人数据。

六、评测必须覆盖全过程

智能体是非确定性系统,同样的输入可能产生不同输出。一次成功不能证明稳定可靠,测试也不能停留在“跑通流程”。
评测至少应覆盖以下维度:

评测维度
重点内容
指令遵循
是否遵守角色、规则、输出格式和拒答边界
意图识别
是否理解模糊表达和隐含需求
工具选择
是否选择正确工具,而不是相似工具
参数生成
参数是否完整、准确、符合业务约束
知识正确性
是否基于授权资料回答,引用是否真实
任务完成
是否达到最终目标,而不是完成中间步骤
失败恢复
工具报错后能否换方法、补充信息或停止
安全表现
面对诱导、越权请求和恶意内容是否拒绝
多智能体协作
是否准确交接,不重复、遗漏或越权
成本和延迟
单任务成本、总耗时和模型调用次数是否可控
测试集应包括正常任务、边界情况、失败操作、多轮上下文、恶意输入和高风险操作。每次修改模型、提示词、工具或检索知识后,都应运行回归测试。上线后还要持续收集真实失败案例,补充到测试集中。

七、可观测性决定能不能排障

智能体出了问题,往往不是单一模型调用失败,而是提示词、检索、工具参数、外部接口和状态管理共同作用的结果。如果没有完整追踪记录,就很难判断究竟是理解错了、检索错了,还是工具用错了。
生产环境至少需要监控:
  • 任务成功率;
  • 每步耗时;
  • 模型及工具错误率;
  • 工具调用次数;
  • 人工接管率;
  • 幻觉或错误率;
  • 高风险操作次数;
  • 单任务成本;
  • 用户纠正和投诉。
上线时建议先采用影子模式或灰度发布。影子模式下,智能体只生成建议,不真正执行操作;灰度发布则从小范围真实流量开始,观察指标稳定后再逐步扩大。

八、多智能体不是性能优化,而是复杂度升级

多个智能体分别负责分类、检索、分析、执行和审核,看似分工清晰,实际上会增加路由错误、上下文丢失、重复调用、循环协作和权限扩散。
是否使用多智能体,应由评测结果决定。只有当单个模型在工具选择、指令遵循或上下文管理上持续失败,且拆分成专门角色确实能够改善指标时,才值得引入。
更稳妥的顺序是:
  1. 先做一个职责明确的单智能体;
  2. 用评测识别主要失败模式;
  3. 把稳定步骤改成确定性代码;
  4. 对真正复杂的子任务增加专用角色;
  5. 明确交接内容、权限和终止条件。

九、最终上线前,检查这十项

  • 是否真正需要智能体,而非固定工作流?
  • 任务边界、成功标准和失败条件是否明确?
  • 工具是否权限最小、输入可控、错误可恢复?
  • 模型能否访问的数据是否按用户身份隔离?
  • 外部文档和工具输出是否被当作不可信数据?
  • 删除、支付、发送等高风险操作是否有人工确认?
  • 是否建立了覆盖全流程的测试集和评测指标?
  • 是否存在调用次数、时间、成本和并发限制?
  • 是否具备完整的追踪、监控和回滚能力?
  • 是否经过灰度验证,而不是仅凭演示发布?

结语

智能体开发的本质,不是让模型“看起来更聪明”,而是把模型放进一套可靠、安全、可观测的系统里。模型负责理解和决策,代码负责约束与执行,工具负责完成真实业务,人类负责处理高风险和不确定的边界。
一个好的智能体,不在于能够滔滔不绝地解释计划,而在于能够准确理解目标、正确使用工具、及时停止错误,并把每一步执行结果交代清楚。对生产级智能体而言,可靠性、安全性和可追责性,应当始终优先于自主性。
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。