连接外部系统¶
English | 中文
Agent 能接触真实系统时才有用,也才有风险。本指南用 LIMENORA 作为受治理边界的模式。
直接连接的问题¶
如果 Agent 可以直接调用 API:
- 凭据进入提示或配置;
- 出口目标不受控;
- 策略被绕过;
- 证据分散;
- 被入侵的 Agent 有直接出口。
网关集中边界并让它可观测。
模式¶
Agent / 工作流 → LIMENORA 网关 → 外部 API / MCP / Webhook / 事件总线
│
├─ 身份与策略
├─ 目标白名单
├─ 凭据注入
└─ 证据
1. 定义目标¶
列出 Agent 可以到达的外部系统并分类:
- 只读 vs 写入;
- 内部 vs 外部;
- 敏感 vs 公开;
- 同步 vs 事件驱动。
从只读和小白名单开始。
2. 把凭据移到网关¶
Agent 不应持有长期凭据。网关在边界注入,按目标与请求限定范围。
检查:
- 密钥存在哪里;
- 如何轮换;
- 是否出现在日志或追踪;
- Agent 能否外泄。
3. 在边界执行策略¶
网关转发前应咨询策略:
- 该身份是否允许该目标?
- 该操作是否允许?
- 是否需要审批?
- 是否超过速率或成本限制?
拒绝应产生证据,而不只是错误。
4. 记录跨越¶
每次请求记录:
- 身份与权限;
- 目标与操作;
- 策略决定;
- 请求元数据(不必是完整载荷);
- 响应状态;
- 关联 ID。
这是边界成立的证据。
5. 处理失败¶
- 超时与重试;
- 幂等键;
- 熔断;
- 事件死信;
- 网关重启后的恢复。
网关是可靠性架构的一部分,不只是安全。
清单¶
- [ ] Agent 没有直接出口。
- [ ] 目标在白名单。
- [ ] 凭据被注入,而非嵌入。
- [ ] 策略在边界评估。
- [ ] 请求与决定被记录。
- [ ] 有速率与成本限制。
- [ ] 失败与重试行为已定义。
- [ ] 网关被监控,可撤销。
反模式¶
- 把 API key 放进系统提示。
- 让 Agent 调用任意 URL。
- 记录包含密钥的完整载荷。
- 网关转发但不做策略。
- 对“内部”系统认为网关可选。