内联推理代理(针对 /v1/messages 的 PEP)
内联推理代理是针对非 Claude Code
推理流量的执行点——即直接命中 Claude /v1/messages 契约的原始 SDK 和 curl
调用方。决策在组合根(cmd/olivares/inferenceproxy.go)作出;
modules/inferenceproxy 拥有作出该决策时所读取的按租户治理配置和推理出口 DLP
策略,本身不对实时请求作任何决策。
服务器托管的设置无法触及此类流量:自定义的 ANTHROPIC_BASE_URL
会将其完全绕过。该代理位于 api.anthropic.com 之前,并以带内方式运行一条
受治理的流水线——驻留地、模型访问、
DLP 与 content gate,然后进行上下文窗口 sizing 和预算检查——所有这些都在任何字节转发之前完成。录制默认在转发之前
执行:被授权的意图会在转发之前写入篡改可检测的账本,没有证据就不转发(默认拒绝)。
租户可以主动关闭它(record_mandatory: false),此时代理在转发之后锚定证据,
采取尽力而为(best-effort)且高声(loud)的姿态——锚定失败会被上报,绝不隐藏。
这个默认值过去是相反的,而这个差别并非纸上谈兵:从未打开过配置页面的租户,恰恰
就是没有人为其推敲过的那一个;以尽力而为的方式为其锚定证据,等于让证据保证对所有
“什么都没有选择”的人变成需要主动启用。有两条边界值得先读到,而不是事后撞见。
第一,该姿态只管辖转发之前的那一刻:转发之后调用已经发生,任何姿态都无法撤销,
因此那条路径在构造上就是一个”高声的缺口”。第二,把审计 spool 设为 degrade
的运维方,已经说明了它耗尽时应当如何处理:对于从未选择过证据姿态的租户,这个
已声明的 degrade 胜出,调用会在留下已记录缺口的情况下被转发;而显式设置了
record_mandatory: true 的租户则会被拒绝——租户自己的选择高于 spool 的设置。
用于 sizing 的 count_tokens pre-flight 本身就是 provider egress,因此只有在所有本地
content gate 都通过后才会运行:被 DLP 或 firewall 拒绝的 prompt 绝不会传输,连计数也不会。
它是平台内置的四个默认拒绝(deny-closed)PEP 之一。
成熟度,直白说明
Section titled “成熟度,直白说明”部分实现(PARTIAL)。 这种拆分是诚实且经过深思熟虑的:
- 已上线(LIVE)——按租户的治理配置以及推理出口 DLP 策略:编写、持久化与审计。
位于
/v1/m/inferenceproxy/之下的两个存储:一个单例config(各闸门的开关、 代理宕机时的失败姿态、响应 DLP 模式、录制强制项),以及一个dlp/rules集合 (每个敏感度类别对应一条规则 →allow|deny)。 - 需主动启用、默认未挂载(OPT-IN, unmounted by default)——实际的
/v1/messages监听器。它默认绑定回环地址(127.0.0.1:8448),但运维方可以显式 配置其他监听地址;它默认失败即关闭(fail-CLOSED)(无法做出决策的代理绝不能 转发),且只有在运维方主动开通后才会挂载。
本模块对实时请求不做任何决策。它是组合根(composition root)通过 Policy()
读取的、持久且可在控制台编写的策略;决策由现有的接缝(seam)在边缘处组合而成
(EvaluateModelAccess、CheckBudget、驻留地、ClassifySensitivity、上下文窗口检查)。
每个闸门默认启用,且在配置之前各自依其原生的主动启用条件保持惰性——DLP 在第一条 规则之前、模型访问在第一项授权之前、驻留地仅在固定某区域时、预算在存在强制性预算之前。 租户须显式放松某个特定闸门,且审计会记录是谁打开了边界。编写 DLP 出口策略属于 管理员层级:授权何种内容可以离开,是一项特权治理变更。
- 设计上即为最小数据。 它持久化的任何记录——配置、DLP 规则、审计——都绝不携带 提示、响应、密钥或匹配到的 PII 值。代理在传输途中检查的字节会被指纹化(SHA-256), 并由组合根锚定到审计账本,绝不在此处存储。
- 它是代理的第三条腿:协议外壳(解析、转发、对消息体做旁路复制)是身份无关的 Apache 连接器;受治理的决策器是引擎。本模块仅拥有二者都会查询的那份策略——从而将 决策保持在开放核心(open-core)连接器边界之外。
- 模块 X——模型与提供方管理——本代理所执行的模型访问 与按界面(per-surface)上下文窗口策略。
- 用 Olivares 运行 Claude Code——受治理的 Claude Code 路径,由进程内钩子覆盖;本代理是该路径无法触及的调用方的后备 PEP。
- 诚实与边界——平台范围内哪些已上线、需主动启用或处于 设计阶段。