Skip to content

Agent 工程化与安全 极简一问一答

定位| Agent 工程化与安全 一分钟速答页。每章固定 10 题,只保留结论、机制、边界与验证关键词;单个回答控制在 10~60 秒。

1. 怎么使用

本页重点| L1 概念 → L2 边界 → L3 原理 → L4 实现 → L5 工程 → L6 架构 → L7 复盘 → 误区、验证、证据强化。不会展开时,再进入正式主题或专项题库。

图:Agent 工程化与安全 十题极简脑图

替代文本: Agent 工程化与安全从 L1 概念和 L2 边界,依次进入 L3 原理、L4 实现、L5 工程、L6 架构与 L7 项目复盘,再用误区、最小自测和证据边界三题强化。

图表加载中…

读图结论: 掌握 Agent 工程化与安全 不能停在定义;先顺着七层链路说清机制与工程,再用误区、自测和证据边界确认没有虚假掌握。

2. 极简一问一答

Q001|Demo Agent 到生产 Agent,最关键的工程差距是什么?

生产 Agent 要把模型的不确定性限制在候选决策层,把身份、Schema、服务端授权、预算、状态、幂等、重试、审计和验收放进确定性运行时。Guardrail 可筛查输入、输出或参数,但不是 IAM 或资源授权;即使模型和 Guardrail 都说允许,工具服务端仍必须依据可信身份、资源范围和业务状态重新鉴权。

Q002|重试、幂等、对账、补偿和检查点分别解决什么问题?

重试再次尝试可恢复失败;幂等让同一业务意图重复到达时结果等同一次;对账在结果不确定时查询外部真实状态;补偿为无法原子回滚的已完成步骤执行反向业务动作;检查点保存恢复位置和必要状态。重试不能替代幂等,幂等也不自动提供跨系统事务或 exactly-once。

Q003|工具超时后为什么不能直接判失败并重试?

超时只表示本地未收到确定响应,外部动作可能未执行、执行中或已成功;对副作用调用盲目重试可能重复扣费、发消息或修改资源。运行时应保存业务意图幂等键与外部任务标识,将状态置为 SUBMISSION_UNKNOWN,先对账;确认已成功则收敛为成功,确认未执行且仍满足策略时才允许受控重试,无法对账的不可逆动作应转人工。

Q004|如何实现一个受控的高风险工具执行器?

认证中间件构造不可由模型修改的 AuthContext,执行器先做工具允许列表、Schema、角色与资源级授权,再用服务端签发的 intent_id、规范化参数和资源版本生成动作指纹。高风险批准绑定身份、动作指纹、策略/资源版本与有效期,并在数据库唯一约束创建执行占位时原子消费;重复意图只返回已有结果或进入对账,不跨慢外部调用持有锁。

Q005|Agent 因超时重试造成疑似重复副作用,如何闭环处理?

先暂停同资源自动写入和相关重试,固定 run_id、intent_id/call_id、动作指纹、外部任务 ID、状态历史、网络错误与业务结果;向外部系统对账确认每个意图的真实状态和影响范围。根因可能是响应丢失后被当失败、缺业务幂等键或本地落库非原子;修复为唯一意图占位、SUBMISSION_UNKNOWN、对账恢复和受控补偿,再注入“外部成功、响应丢失、进程崩溃、重复回调”验证业务结果收敛,并建立告警、Runbook 和回归。没有外部系统协议与验证,不能宣称 exactly-once。

Q006|如何设计多租户 Agent 的权限、记忆、观测和恢复架构?

网关认证后由服务端注入主体与 entitlement,工具层执行最小权限和资源级授权;外部网页、检索文本与工具结果标记为不可信数据,不能覆盖系统策略。长期记忆按 tenant/user/用途隔离并具备来源、TTL、撤权和删除,缓存绑定权限范围;长任务用持久状态机、事件历史、检查点、幂等记录与合法迁移恢复。Trace 记录模型/Prompt/工具/Guardrail/状态/成本,但内容按分级脱敏、受控 Artifact 和保留期治理,高基数 ID 不作无界 Metric 标签。

Q007|如何把 AI 面试教练 Agent 工程化并安全上线?

这是源文档中的示例设计:题库与知识检索使用只读工具,用户回答和检索内容按来源隔离;评分采用版本化结构化 rubric,最大轮次、问题去重、预算和终止由运行时控制,长期弱点记忆按用户作用域、TTL 和删除治理。难点是概率评分、上下文恢复与隐私观测,亮点要通过非法动作/注入拒绝、固定答案重复评测、长会话、跨用户记忆、崩溃恢复和预算终止测试证明。代表性风险是评分漂移、重复追问、记忆污染和提示注入;仓库没有真实系统与事故数据,不能声称线上指标、用户规模或收益。

Q008|这个专题最常见的误区是什么?

常见误区有三类:在 System Prompt 写“不要越权”就当安全完成,或让模型判断自身权限;模型自报 user_id/role,批准后可改参数,或用进程内字典冒充生产幂等;从 Prompt 读取 tenant,完整记录秘密,或只靠关键词过滤注入。

Q009|怎样做最小自测?

最小自测分三步:为只读、可逆写入和不可逆写入设计三级工具策略;画出 PENDING/RUNNING/SUBMISSION_UNKNOWN/SUCCEEDED/FAILED 的合法迁移;注入外部成功但响应丢失、重复/乱序 Webhook 和批准后参数替换。

Q010|回答这个专题时,证据边界是什么?

超时不等于外部未执行;没有外部协议与实测证据时不能宣称跨系统 exactly-once,所有项目事故与指标必须有证据。

3. 总结

一句话记忆: 生产 Agent 要把模型的不确定性限制在候选决策层,把身份、Schema、服务端授权、预算、状态、幂等、重试、审计和验收放进确定性运行时。

  • 生产 Agent 要把模型的不确定性限制在候选决策层,把身份、Schema、服务端授权、预算、状态、幂等、重试、审计和验收放进确定性运行时。
  • 先暂停同资源自动写入和相关重试,固定 run_id、intent_id/call_id、动作指纹、外部任务 ID、状态历史、网络错误与业务结果。
  • 常见误区有三类:在 System Prompt 写“不要越权”就当安全完成,或让模型判断自身权限。
  • 超时不等于外部未执行。