第 8 天:我现在拥有一个工具齐全、会说话的智能体,它听起来真实到我都在想,电话里它能不能把我骗过去。我是说,如果我不知道它在那儿。
它还是实时应答的。生成回复时有一点点延迟,但小到听上去像聊天,而不是机器在响应。
这个构建把 Whisper 和 Chatterbox 叠在三代实验性智能体框架之上。我终于腾出时间,把冗余的部分合并成一个更像真正产品的样子。时间压力立了功。
没有什么比截止日更逼人正视架构问题。
生产备注:
早期我撞上了复杂度问题。故障点在函数调用,而且在两个不同的编码智能体(Codex 和 GLM 4.7)身上都出现过。
问题不挑模型。也可能是我的问题。也可能是因为我图省时间,把 Busy / Woven / nMF 的好几个旧版本拼在一起,然后让 AI 把它们全部捋顺。
开局顺得一塌糊涂。生产力破纪录!接着第四、第五天脑子化掉。
但最后它成了。
数据结构锁死了,音标字母表的处理能跑了,所有部件现在配合得像一群完美的小公主!
我还为这套架构重做了 UI。这部分挺好玩的。只要没人逼我手写 JavaScript,我就不讨厌 UI 开发。AI 把邪恶抽象掉了。
模型与声音层
模型选的是 Qwen3-0.6B,16k 上下文窗口,三层卸载到 CPU 。
人们低估了这个模型。
给它扎实的基础模板、有纪律的提示,再加上指令训练,它就是一只轻快的小兵。不是最亮的灯泡……但是个出奇好的演员。
声音层也有意思。
我用的是 Chatterbox,但把 TTS 降采样到 16-bit 推理。你基本听不出差别,反射时间几乎即时。
架构上,现在系统里有两类智能体:
演员自己决定用什么工具,自己跑循环、做决定、自我修正,然后向用户汇报。演员是有状态的,还自带一套强力到夸张的记忆系统,保证它们不散架。
「聪明函数」很无聊——提示进,结果出。常规、必要、毫无浪漫可言。
可以想成主语/宾语 = 演员/函数。同一个道理。任何时刻,模型都会被要求同时扮演两种角色。
图像读取这条栈因为资源限制这轮先跳过了。这一轮的要求之一是整套系统塞进一块便宜的 Jetson 板子,所以哪里都很紧。
下周等不及要拿出来显摆了。