网关计量 AI 流量。Gesta 观测智能体行为。
你的网关把一个问题答得很好:谁在何时调用了哪个模型。而真正决定预算、审计和事故复盘的问题——智能体做了什么、产出了什么、实际花了多少——只存在于端点上,也就是智能体运行的地方。
01 · 账单
两个条目算不出一个智能体的价。
网关的成本报表把两个数字相乘:输入 token 和输出 token。而智能体会话每一轮都在重放同样的上下文——于是真正主导账单的,恰恰是网关的算术从没看见的那些缓存层。
你的网关看到的代理日志
POST /v1/messages 200 model frontier-large input_tokens 1,842 output_tokens 697 — — — — — — — — — — — — — — cost = in × rate + out × rate = $0.016
两层被计价。其余一概不可见。
实际发生的同一请求
input1,8421%
output6971%
cache write28,41019%
cache read118,20679%
四层全部按目录价计价:$0.158 — 网关的数字差了 10×。
智能体的负载由缓存主导。只对输入和输出计价,账单从第一位数字起就是错的。Gesta 对每一个 token 层计价。
图中数据仅为示意
02 · 产出
花费不等于产出。
代理看到的是流量——请求、字节、延迟。而模型的输出 token 也不是产出:一次会话的大部分是智能体在思考、阅读、重试。请求日志里没有任何东西,能把一美元花费和真正产出的工作连起来。
你的网关看到的代理日志
14:02:11 POST /v1/messages 200 2.1 MB 1,204 ms 14:02:19 POST /v1/messages 200 3.4 MB 980 ms 14:02:31 POST /v1/messages 200 1.7 MB 644 ms 14:02:48 POST /v1/messages 200 2.9 MB 1,411 ms — — — — — — — — — — — — — — requests 2,417 · bytes out 1.9 GB
流量被计量。结果无从得知。
Gesta 看到的同一会话
- 产出代码412 行
- 产出测试96 行
- 产出文档1,024 词
- 外部工具17 次 MCP 调用
- 会话成本$12.40
每次会话都被计价并称重——在书写的那一刻,而非事后。
代理知道你花了多少。它无从知道你得到了什么。Gesta 度量智能体真正写下的东西——而一个在本地写文件的智能体,根本不会经过代理。
图中数据仅为示意
03 · 审计
请求日志不是审计轨迹。
审计来临时,“某人在 09:41 调用了一个模型”不是答案。而一个与本地工具对话、或直接调用 API 的智能体,根本不会经过你的代理——网关的日志里连一行都没有。
你的网关看到的代理日志
09:41:07 key prod-07 POST /v1/messages 200 证明了:某人持这把 key, 在 09:41 调用了一个模型。 答不上来: • 这行代码是 AI 写的吗? • prompt 正文里带走了什么? • 那些从没经过网关的调用 又该怎么算?
在场被证明。内容与来源未知。
Gesta 看到的在端点上
这行代码是 AI 写的吗?
src/auth/token.ts:41–58 → AI 所写 · 会话 7f3c · prompt #12 · 提交于 4f9c2e1
客户数据离开网络了吗?
prompt #31 附带了 customers_q2.csv → 直连 API 调用,从未经过网关 · 已在端点标记
答案来自会话记录——而非从流量推断。
请求日志能证明某人调用了一个模型。它没法告诉你某行代码是不是 AI 写的,也没法告诉你客户数据是不是在一个从未碰过网关的 prompt 里被带走了。这些答案只存在于智能体运行的地方。那正是 Gesta 所在之处。
图中数据仅为示意