跳到正文
karminski-牙医· @karminski3 · X·· 3 小时前AI 评分56
AI 导读

karminski 分享游戏场景中 AI 语音低延迟的实现思路,称核心是软件工程老方法而非魔法。

正文 · 原文

好多同学好像最感兴趣如何做到AI语音这么低延迟的, 讲一下关键思路, 其实还是软件工程的老一套. 没啥魔法, 我说一下大家就能立刻学会:

降低延迟3个思路, 一个是固定一下常用语音, 比如我录屏里AI经常说"右侧有敌人", 这个完全就可以先把生成好的语音录下来, 然后遇敌触发的时候直接播放语音, 都不用调用大模型重新生成.

另一个是缓存, AI 每次对话完毕后可以给它实时生成的语音缓存下来, 下次一旦说了同样的话, 直接用hash播放本地缓存. 这样即省语音合成API的钱, 也速度快.

还可以手动给AI做MTP, 比如: 现在的游戏情况是blablabla, 现在需要做出的决策是: 1, 进攻, 2, 躲避, 3, 开箱子......, 如果在上述情况, 请输出{"decision":n}. 否则请使用标准模板进行回复 然后利用大模型prefill速度快但decode速度慢的机制, 让它只吐非常少的 token, 这样能做到最快2秒左右就吐字. 然后程序立刻根据 {"decision":n} 随机出来一条缓存的符合情况的语音. 这样实时效果就非常好.

最后以上都不行怎么办? 利用人类的注意力缺陷, 人不太适应跟多个人说话, 所以我这里有个小设计, 当上面的加速规则都没办法命中, 进入兜底流程, 真的让kimi开始生成文本, 然后再走语音合成了. 那么这时候会给kimi 一个2s的超时, 它没回复立刻就让另外一个AI队友先聊一句无关痛痒的, 这时候你的注意力就会被拉开. 等到AI大概5s左右回复了也会觉得还行这个AI队友可能忙着舔包呢.

上面这几个流程加起来, 还要有个时效性FIFO队列, 我设计的队列深度是5, 也就是说, 会积累5条语音按顺序播放, 防止AI抢话或者同事说话. 然后一旦超过队列深度, 立刻淘汰头部的三条. 因为这种情况多半是已经在打架了, 快速获得最新的信息反而是正确的.

上面就是整体的思路啦. 是不是没啥难的嘿嘿.

引用karminski-牙医@karminski3
给大家带来Kimi-K3.1-Pro 实测! 直接说结论, K3.1-Pro保持了一直以来的高质量前端水平. 无论是审美还是空间理解, 3D建模, 光影特效等能力都非常在线. 可以说想写炫酷的页面或者3D演示, 这就是国模最佳选择了. 另外 Agent 能力这次也有提升, 最大的特性就是可以十分清晰的知道自己在 Agent 系统中的目标, 排除干扰项推进任务. 而本次表现最差的反而是之前很强的后端 Agentic Coding 能力. 最大的问题是它在难以获得信息的情况下, 判断过于悲观, 给自己设置了一个很小的超时, 被迫使用了性能差但是对超时友好的算法. 结果导致分数没有跑赢上一代 K3. 这里我给到的使用建议是, 它本身并不是不能写, 而是会预设状态, 所以在后端编程过程中, 最好先写 Plan, 再开始编码, 尽量减少信息差, 才能让它发挥实力. #k31pro #kimik31 #kimik31pro #AgenticCoding #AIAgent
在 X 查看被引用的帖子

来源:karminski-牙医 · x.com