TGViewer
V2EX V2EX @pushv2ex · 550 subscribers
Post #238413 1
[分享创造] 做了半年无审查 AI 平台,记 4 个反直觉的工程坑(都有数据)

我在做一个中文 AI 创作平台(对话、图片、视频、音频都有)。半年下来,最大的收获不是功能,而是一堆反直觉的坑。挑 4 个有数据的分享一下,对做 AI 应用的朋友可能有用。

1. 「无审查」往往卡在托管商,不在模型本身

同一个图片编辑模型 Seedream V5 Pro,放在三家托管商上,用 40 条容易触发审核的编辑指令和同一张原图逐条测试( 2026 年 8 月实测),被内容策略拒绝的比例分别是 **0%、12.5% 和 90%**。模型是同一个,差别全在托管商自己加的那一层审核:有的托管商在接口上根本没有提供关闭安全检查的开关,有的审核是概率性的,同一句话重试一次可能就过了。

所以挑「无审查」服务时,看名字没用,要看它实际跑在哪家,实测拒绝率是多少。

2. DeepInfra 的 TTS 一过 15 秒就变成白噪声

长文本语音合成时,大约 60 秒的音频会在中段突然变成刺耳的白噪声。

抓包后发现,DeepInfra 在一个本该是裸 PCM 数据的流里,每 15 秒左右插入一行 45 字节的 SSE 心跳:
: ping - <时间戳>\r\n\r\n

PCM16 一个采样占 2 字节,而 45 是奇数。心跳一插进去,后面所有采样的字节都错位了一位,听起来就是白噪声。解决办法是在流里识别并剥掉这一行。如果你也在用 DeepInfra 的流式 TTS ,可以检查一下 300 字以上的长文本。

3. Vercel 函数冻结,会吞掉「发出去就不管」的写入

计量日志和服务端埋点我们最初是 fire-and-forget 写的(void fetch(...),不 await )。后来发现,Vercel 的函数实例在响应发出后就会被冻结,没写完的 promise 会被挂起,直到下一个请求把实例唤醒才继续,而那时连接早已超时。

丢不丢取决于写入能不能在响应发出前的几毫秒内完成:复用热连接的数据库 INSERT 多半能活下来,要新建 TLS 连接的埋点请求则基本必丢。所以高峰期几乎看不出问题,低谷期和单次调用会稳定地丢数据,统计结果在半夜系统性偏低。

解决办法是用 @vercel/functions 的 waitUntil 把这些 promise 包起来,实例会等它们完成再冻结。修好之后,单次调用并静默 150 秒,计量和埋点也都能在响应后约 200ms 内落地。如果你在 Vercel 上做统计,发现半夜的数据总是少一截,可以查查这个。

4. 长对话越长,回复末尾越容易出现乱码

我们统计了某个无审查模型回复末尾出现乱码的比例,发现它随上下文长度单调上升:上下文在 8k token 以内时约 0.01%,超过 48k 时到了 1.95%。短对话根本复现不出来,所以一开始一直以为是偶发故障。

更麻烦的是,一旦历史里出现过一次乱码,模型会照着抄下去。把 temperature 调到 0.7 之后,这种「被污染的历史」引发的乱码从 7/40 降到了 1/40 。所以先调采样参数,比去砍上下文更有效。

----------------------

最后说点题外话

这个项目从头到尾都是几乎我一个人在做。半年下来最大的感受是:一个人靠技术挣钱,养活自己是可以的。前提是选一个大厂不愿意做、或者做不好的方向,然后把那些脏活累活一件件干完。上面这些坑,没有一个是写功能时想得到的。

工具方面,最想夸两家。Vercel 是真好用:每个分支自动部署一个预览环境,合并到主干就上线,一个人也能保持很快的发布节奏,上面那个冻结的坑算是我交的学费。Cloudflare 是真良心:对象存储不收出口流量费,图片和视频这种大流量业务能省下一大笔钱,连域名邮箱都是免费转发的。

----------------------

平台叫 [思畅 AI]( https://sichang.xyz ),网页端可以免费试用,也有兼容 OpenAI 和 Anthropic 接口的 API ,可以直接接 Claude Code 。

----------------------

4 月 发过一帖,当时大家提的意见都记下了。模型方面,默认模型已经换掉了。隐私方面,我们不再做「不存储」这种没法验证的承诺,改为隐私和便利并重:对话保存在账号下,手机、电脑多台设备可以同时使用,消息实时同步;传输全程 HTTPS, 数据库静态加密,数据按账号隔离;对话不用于训练任何模型,可以随时一键导出或删除。这里不是端到端加密,想要绝对的隐私,本地模型仍然是最好的选择。

欢迎拍砖。
More from @pushv2ex
  1. Oct 15, 2026[分享创造] [送终身 500 个] 大家好,分享一个自己开发的开源工具: YourKeep。 大家好,分享一个自己开发的开源工具:YourKeep。 做这个工具的初衷很简单: 重…
  2. Oct 15, 2026[硬件] 英伟达自己的光模块文档里写着:链路故障 80% 是光接口脏了 最近在看英伟达原厂 400G 光模块 MMS1X00-NS400 的规格文档,「 Handling and…
  3. Oct 15, 2026[推广] Kling 4.0 局部编辑怎么验收:先分清客户要保留与修改的内容 客户确认了镜头运动,随后提出换场景、换商品或调整光线,创作者往往难以判断该保留素材还是重新生成。问题的…
  4. Oct 15, 2026[分享发现] 买它发了 Muse Spark Open 说是最牛的 open model 国内又可以在此基础上大跃进了
  5. Oct 15, 2026[北京] 北京求推荐靠谱的机柜理线师傅, 6—7 台设备,只理柜内线路 强迫症一上头,买了个机柜,结果又懒得自己理线……有没有老哥推荐一下北京靠谱的理线师傅或商家? 昨天在某团问了…
  6. Oct 15, 2026[iOS] Find My 查找 APP 里的 AirTag 全部消失不见了 所有的设备 iPhone iPad 电脑 都是在的 但是物品栏里 AirTag 全部不见了 系统是最新…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →