返回目录 / Agent 安全
在Agent链路上校验输入与最终输出
为用户输入和Agent最终答复添加可测试的拒绝条件,并区分每次工具调用的检查。
目标
让不满足应用规则的输入或答复无法继续流转。
步骤
- 将结构schema校验与业务/政策判定分开:前者限制字段形状,后者判断请求或结果是否可接受。 [openai-guardrails]
- 用
@input_guardrail检查首轮输入,用@output_guardrail检查最终输出,并返回GuardrailFunctionOutput(..., tripwire_triggered=True)拦截。 [openai-guardrails] - 对每次自定义函数工具执行的政策校验,设置
@tool_input_guardrail/@tool_output_guardrail,而非依赖Agent级guardrail。 [openai-guardrails] - 对每个会产生副作用的自定义工具单独添加工具级检查;不要假设Agent级检查会覆盖handoff。 [openai-guardrails]
- 用安全与拒绝样例触发每类检查,确认失败会阻断预期的执行边界。 [openai-guardrails]
验证方式
记录每种guardrail的触发测试和被阻断的执行点;核对handoff和工具边界没有遗漏。
故障处理
若检查未触发,核对它挂接的Agent或工具边界;handoff和托管工具可能走不同路径。
权限边界
前置条件
- Python 3.10+、固定提交兼容的 openai-agents、获准模型提供商凭据(本地模拟测试例外)
权限边界
- 只在本地或隔离测试环境操作;涉及外部数据或副作用时使用最小权限并先审批
限制
Agent级输入guardrail仅检查链路首个Agent,输出guardrail仅检查最终Agent;工具guardrail不覆盖handoff和多数托管工具。并行输入guardrail触发时模型可能已开始执行。
固定上游来源
- 仓库
- openai/openai-agents-python
- 文件路径
- docs/guardrails.md
- 固定提交
f53c62451c7f34c15f0c87fa745e05404025420f- 来源检查
- 2026-10-14 · 已按固定上游来源核对
仓库指标
以下数字属于上游仓库整体,不代表单个 Skill 或指南的点赞/热度。
- Stars
- 未取得
- Forks
- 未取得
- 观测时间
- 未取得
尚未取得指标快照。
许可证: MIT