面向已经在用 AI 网关的团队

网关计量 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 所在之处。

图中数据仅为示意

拿这两个问题去问你的网关。

然后来问我们。

两者并用:网关路由流量;Gesta 记录行为。