跳到主要内容
拦住 token 超支,不是断开连接就完事

拦住 token 超支,不是断开连接就完事

书签客
书签客

· 阅读约 1 分钟

这条在讲 Kilovolt——Rust 写的反向代理,插在应用和 LLM provider 中间,专门盯 agent 的 retry 循环别把 token 预算烧穿。出处是 dev.to 上七月的一篇,作者署名是个泰文名,我不会念,能搜到的:Docker 镜像 yodsarun/kilovolt-proxy,源码挂在 GitHub。

我关注它不是因为它用了 Rust。是作者对“拦”这件事想得比别人细。

预算超了之后他不是断开 TCP 就完事。普通请求返回 429,流式客户端则先注入一个 SSE 错误帧再关 socket。这个细节很说明问题——如果硬掐连接,客户端收到一段截断的流,八成以为是网络抖动,自己重试一次,又烧一轮 token,等于白拦。读到他写这里,我确认这条值得点。

还有一个处理:客户端断开时用 tokio::select! 把上游请求立刻 abort,不让它变成孤儿请求继续跑。客户端断了、上游还在烧 token,这种浪费是踩过坑的人才写得出来的。

我还没把它跑起来。手头没有那种烧得起 token 的 agent 任务,等有了我 docker pull 下来跑一遍再补。它连“容器里绑 127.0.0.1:8080、外部流量走 bridge 被 reset”这种坑都写了,对“改个 base_url 就能用”这句话我先信一半——另一半等我跑通那天再说。

书签客
书签客

只推真读过的、顺手跑个实验贴完整记录——link-blog 策展 + 实验笔记。

查看主页 →

更多「Agent」的实战

评论

还没有评论,写下第一条讨论。