<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>API on lategege 的技术博客</title><link>https://lategege.com/tags/api/</link><description>Recent content in API on lategege 的技术博客</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Fri, 31 Jul 2026 10:20:00 +0800</lastBuildDate><atom:link href="https://lategege.com/tags/api/index.xml" rel="self" type="application/rss+xml"/><item><title>AI 大模型中转站：正在重演的 HTTP 明文时代</title><link>https://lategege.com/p/ai-api-relay-plaintext-secure-transport/</link><pubDate>Fri, 31 Jul 2026 10:20:00 +0800</pubDate><guid>https://lategege.com/p/ai-api-relay-plaintext-secure-transport/</guid><description>&lt;p&gt;现在用 AI 的人，尤其是开发者，基本都绕不开&amp;quot;中转站&amp;quot;这个东西。new-api、one-api、各种自建聚合网关、还有五花八门的反代，本质上都是同一类东西：你把自己的 API Key 和请求交给它，它帮你转发到真正的模型厂商那边，顺便帮你省点钱、聚合好几个模型、或者绕一些区域限制。&lt;/p&gt;
&lt;p&gt;用起来确实方便。但方便是有代价的，而且这个代价比大多数人意识到的要大。&lt;/p&gt;
&lt;p&gt;你发出去的每一条 prompt，你完整的上下文，你喂给模型的代码片段、公司内部逻辑、甚至系统提示词，在中转站那里，全是明文。&lt;/p&gt;
&lt;p&gt;这话听着耳熟。对，就是 HTTP 时代那种耳熟。&lt;/p&gt;
&lt;h2 id="中转站就是当年那条明线"&gt;中转站就是当年那条明线
&lt;/h2&gt;&lt;p&gt;HTTP 时代的问题很简单：你的请求在网络上裸奔。路由器能看到、运营商能看到、任何中间节点都能看到。后来大家实在受不了了，才搞出 TLS，也就是 HTTPS——把传输内容加密，中间节点只负责转发，不知道你传了什么。&lt;/p&gt;
&lt;p&gt;现在的 AI 中转站，位置恰好就是当年的那个中间节点。而且情况比 HTTP 时代更微妙：&lt;/p&gt;
&lt;p&gt;HTTP 明文时代，你至少是被动被看。中转站是你&lt;strong&gt;主动&lt;/strong&gt;把东西交过去的。你注册、填 Key、把请求导流过去，等于亲手把明文递到别人手里。&lt;/p&gt;
&lt;p&gt;更要命的是内容性质。HTTP 时代被看到的是网页内容和流量特征；AI 时代被看到的，是你整个思维过程的外化——prompt 里带着需求、代码、隐私、业务逻辑。这东西泄露的杀伤力，比当年泄露几个 HTTP 包大得多。&lt;/p&gt;
&lt;h2 id="为什么大家还是忍了"&gt;为什么大家还是忍了
&lt;/h2&gt;&lt;p&gt;因为中转站给的好处太实在了：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;便宜。官方 API 原价算，中转站走量、囤额度、搞活动，一个 token 能差出好几倍&lt;/li&gt;
&lt;li&gt;聚合。一个 Key 通吃各家模型&lt;/li&gt;
&lt;li&gt;方便。不用维护 N 个厂商的账号、计费、限流&lt;/li&gt;
&lt;li&gt;反代需求。绕区域限制、接非官方渠道的模型&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;你算一笔账：自建一个 one-api，自己当中转站，至少流量和 Key 都是自己的。但绝大多数人不会自建，直接用别人的站——因为你信任它，或者你懒得想这事。&lt;/p&gt;
&lt;p&gt;信任这个东西，在协议设计里是最靠不住的假设。&lt;/p&gt;
&lt;h2 id="怎么解两条路"&gt;怎么解：两条路
&lt;/h2&gt;&lt;p&gt;我认为要往两个方向使劲，缺一不可。&lt;/p&gt;
&lt;h3 id="第一条客户端防范"&gt;第一条：客户端防范
&lt;/h3&gt;&lt;p&gt;既然中转站不可信，那就让&amp;quot;能暴露的东西&amp;quot;在客户端就降到最低。&lt;/p&gt;
&lt;p&gt;比如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;敏感内容本地化。prompt 里要带的公司内部文档、个人隐私，先在本地脱敏或摘要，不把原文发出去&lt;/li&gt;
&lt;li&gt;上下文瘦身。能压缩的压缩，能不带的不带，减少被看的面&lt;/li&gt;
&lt;li&gt;客户端加密。如果模型厂商配合，客户端直接对 prompt 加密，中转站只看到密文&lt;/li&gt;
&lt;li&gt;别把主 Key 交出去。给中转站用子 Key、限量的临时 Key，而不是厂商账号的主 Key&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这一条现实可行，现在就能做。它的思路是：我管不了中转站，但我可以减少给它看的东西。&lt;/p&gt;
&lt;h3 id="第二条制定协议让中转站只转发"&gt;第二条：制定协议，让中转站只转发
&lt;/h3&gt;&lt;p&gt;这一条治本，但需要生态一起动。可以叫它 &lt;strong&gt;AI Secure Transport Protocol（ASTP）&lt;/strong&gt;，定位就是当年 TLS 的角色。&lt;/p&gt;
&lt;p&gt;ASTP 的核心诉求一句话：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;中转站只负责路由和计费，不接触内容。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;技术上大致拆这么几块：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. 内容端到端加密&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;请求体里的业务部分（prompt、上下文、工具定义）用加密保护，只有客户端和目标模型方持有密钥。中转站拿到的，是&amp;quot;目标模型是谁 + 一串密文&amp;quot;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. 路由与内容分离&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;中转站能看到的最小信息集，应该只有：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;目标模型 ID（它得知道往哪转发）&lt;/li&gt;
&lt;li&gt;用量（它得靠这个计费）&lt;/li&gt;
&lt;li&gt;也许还有来源标识（做限流）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;至于你问了什么、上下文是什么，它不需要知道。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. 可信计量&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这是最难的一块。中转站按 token 计费，可 token 数在密文里，它怎么数？&lt;/p&gt;
&lt;p&gt;几条路：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;客户端自报用量并签名，中转站按声明计费（信任但可审计）&lt;/li&gt;
&lt;li&gt;用量由模型方在响应里返回，加密带回来，中转站只转发计费凭据&lt;/li&gt;
&lt;li&gt;更远的：TEE 机密计算，让计量逻辑跑在硬件可信环境里，&amp;ldquo;看得见&amp;quot;的是代码不是人&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;4. TEE 作为兜底&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;如果盲转发纯软件做不干净，就用硬件：中转站跑在可信执行环境里，路由和计量逻辑可被远程验证，操作者本人也看不到明文。这是把&amp;quot;信任一个站&amp;quot;变成&amp;quot;信任一段可验证的代码&amp;rdquo;。&lt;/p&gt;
&lt;h2 id="这玩意会落地吗"&gt;这玩意会落地吗
&lt;/h2&gt;&lt;p&gt;回看历史：HTTP 到 HTTPS，不是一天推成的。靠的是浏览器厂商带头、CA 体系成型、搜索引擎用排名逼你上 HTTPS、最后证书免费化。从&amp;quot;裸奔是常态&amp;quot;到&amp;quot;裸奔会被警告&amp;quot;，花了很多年。&lt;/p&gt;
&lt;p&gt;ASTP 要落地，逻辑上差不多：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;模型厂商先动。谁先支持客户端加密加盲转发标准，谁就拿到安全敏感客户（企业、开发者）的信任&lt;/li&gt;
&lt;li&gt;中转站生态竞争。当&amp;quot;只看得到密文&amp;quot;成为卖点，那些明文站会被逐渐挤掉&lt;/li&gt;
&lt;li&gt;SDK 默认开。各家的客户端库默认启用，用户无感&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;我判断前两步短期内难，但第三步一旦有人做，扩散会很快。因为用户不需要理解协议，只需要&amp;quot;默认安全&amp;quot;。&lt;/p&gt;
&lt;h2 id="个人现在能做的"&gt;个人现在能做的
&lt;/h2&gt;&lt;p&gt;在协议落地之前，务实一点：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;重要对话走官方直连，或者走自己完全可控的自建网关&lt;/li&gt;
&lt;li&gt;把 Key 最小化：给中转站的永远是最小权限、最小额度的 Key&lt;/li&gt;
&lt;li&gt;敏感内容不上公网中转：公司代码、隐私数据，本地先处理&lt;/li&gt;
&lt;li&gt;优先用支持端到端加密的客户端和 SDK&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;一句话总结我的态度：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;中转站是便利，不应该是信任的默认选项。协议没落地之前，客户端就是最后一道防线。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;当年 HTTP 明文是技术无奈，今天的中转站明文是设计懒惰。技术无奈我们忍了，设计懒惰不该忍。&lt;/p&gt;</description></item></channel></rss>