前高频交易工程师开源 C++20 LLM 网关,流式转发延迟仅 0.18 毫秒
lluisantoni · reddit · 2026-09-17
Kottos AI 的路由基础设施工程师开源了其网关 llmbridge(Apache 2.0,GitHub: kottos-ai/llmbridge)。OpenAI 兼容客户端接入后,它可将请求翻译到 Anthropic、Gemini 或 Cohere 并翻译回响应,支持 SSE 流式与 Anthropic 工具调用。作者来自电子交易行业,按行情网关的思路打造微秒级开销的请求路径,关键设计与实测发现:
设计:默认构建零第三方运行时依赖(仅可选 TLS 引入 OpenSSL);JSON 解析/序列化手写且仅覆盖所需格式,DOM 持有指向输入缓冲区的 stringview,透传字段原样输出;HTTP/1.1 解析器零拷贝零分配;iouring 默认、epoll 兜底,两套实现共 14 对同名方法,CI 脚本用 ep/ur 命名规范禁止跨后端调用。
测量抓到的意外问题:
- -O2 下清除 API key 的 memset 因缓冲区后续无人读取被整体优化掉,改用 explicitbzero(或 volatile 函数指针后的 memset);
- 每次新建 10 MB 请求体的 std::string 因缺页浪费 2.6ms,改为复用缓冲区;
- 每请求 6 次头部遍历在 p99 多耗 40us,合并为一次;
- 流式分块中双引号约每 8 字节出现一次,stringview::find 反复试比花费 65us,改用 memmem。
性能:在 Enterpilot benchmark(本机 + mock 上游、单 worker、无翻译)下,中位附加延迟非流式 0.07ms、流式 0.18ms(不含模型推理)。网络组件仅限 Linux,翻译器本身是纯 C++20 可在 macOS 构建。尚未完成:vision、Gemini/Cohere 流式、Anthropic 客户端到 OpenAI 上游的翻译。
「编程与Agent」频道最新
- General Reasoning 首发博客:详解如何用强化学习训练 Agent 集群协作 — rosstaylor90 · 2026-11-02
- 开发者指出:编码不再是瓶颈,使用量窗口才是 — kylegawley · 2026-11-02
- demo 通过≠可上线:让 Agent 接管业务前必答的五个问题 — _kellhus · 2026-11-02
- AI agent 通过 100 次测试,为何仍不能接管业务 — djgoel123 · 2026-11-02
- 让 Agent 全权创作:纯代码产出 1 分 44 秒动画短片《最后的园丁》 — ivegotnoidea1 · 2026-11-02
- 起床、用 Claude Code、睡觉:梗图调侃一天全靠它 — tekbog · 2026-11-02