1. Agent用户交互边界全景
1.1 交互边界定义
Agent用户交互边界是Agent系统在接收用户输入、执行推理、返回响应过程中,明确划分“Agent能做什么、能接触哪些数据、在什么安全上下文中运行、以何种体验交付”的二维契约平面。它不是一个单一的防火墙或API网关,而是由功能域、数据域、安全域、体验域四个正交维度共同构成的决策空间。每个维度都定义了允许/拒绝/降级/转换四种操作模式。
关键设计前提:边界不是静态阻隔,而是可编程的协商层。Agent在每次交互周期中都会动态评估边界规则,并在越界时触发预定义的降级或拒绝策略。
1.2 边界类型
| 边界类型 | 定义域 | 典型约束 | 越界后果 |
|---|---|---|---|
| 功能边界 | Agent可调用的工具、插件、技能 | 最大调用深度 ≤ 3;禁止嵌套代码执行 | 功能降级为空应答或安全回退 |
| 数据边界 | 用户个人信息、上下文窗口、外部存储 | 不读取userId字段;上下文窗口上限 128K tokens | 数据擦除或会话终止 |
| 安全边界 | 身份认证、请求来源、内容合规 | 仅接受 JWT 签名请求;输出需通过敏感词过滤 | 拒绝请求并记录审计事件 |
| 体验边界 | 响应时间、交互轮次、输出格式 | 首 token 延迟 ≤ 1.5s;单轮交互 ≤ 10 次工具调用 | 体验降级为简化模式或缓存应答 |
1.3 边界设计核心目标
边界设计的五个核心目标构成可度量的设计基线,每个目标对应一个关键指标:
- 可预测性 — 相同输入在相同边界规则下产生相同决策结果;指标:边界命中率误差 < 0.1%
- 可审计性 — 每次边界决策都记录触发规则、输入摘要、决策结果;指标:审计覆盖率 100%
- 抗绕过性 — 攻击者无法通过参数篡改、重放、注入绕过边界检查;指标:绕过测试通过率 ≥ 99.9%
- 低延迟 — 边界检查全链路耗时 < 50ms(P99);指标:边界检查延迟 ≤ 50ms
- 易演化 — 新增边界规则无需重启Agent服务,热加载生效;指标:规则下发到生效 < 30s
常见设计误区:将边界设计等同于“加白名单”或“写死规则”。实际生产中,边界必须是分层可编程的,每一层只关注一个正交维度,避免规则耦合导致绕过漏洞。
1.4 边界全景架构
下图展示Agent用户交互边界的四维全景,以及每个维度与核心目标之间的支撑关系:
1.5 边界规则声明示例
边界规则使用结构化的声明式配置,以下展示一条完整的数据边界规则:
// 数据边界规则示例 — 禁止读取用户手机号字段
{
"ruleId": "DATA-007",
"type": "data",
"scope": "inbound",
"match": {
"field": "phoneNumber",
"location": ["userProfile", "order.contact"]
},
"constraint": "deny_read",
"action": {
"primary": "deny",
"fallback": "transform_to_masked",
"auditLevel": "high"
},
"ttl": 3600
}
设计要点:每条规则必须包含
ruleId、type、scope、match、constraint、action 六个字段。action.fallback 定义了当主操作被绕过时的降级策略,这是抗绕过性的关键设计。
1.6 边界设计落地检查清单
| 检查项 | 验收标准 | 优先级 |
|---|---|---|
| 功能边界已定义工具调用深度上限 | ≥3种工具链场景测试通过 | P0 |
| 数据边界已声明敏感字段黑名单 | 覆盖全部PII字段,无遗漏 | P0 |
| 安全边界已实施请求签名验证 | 签名错误请求100%被拒绝 | P0 |
| 体验边界已配置延迟SLA阈值 | P99延迟 ≤ 1.5s 持续24h | P1 |
| 边界规则支持热加载 | 规则下发到生效 < 30s | P1 |
| 审计日志记录每次边界决策 | 审计覆盖率 = 100% | P0 |