只有自己搓的轮子,才配得上我的赛博电子榨菜
最近沉迷酒馆。
先澄清一下,不是那种灯红酒绿、推杯换盏的实体酒馆,而是那个在LLM圈子里让无数人肝肠寸断、日夜颠倒的AI酒馆SillyTavern。

说实话,这种感觉很奇妙。以前觉得跟AI对话也就是查查资料、写写代码,是个没有感情的工具人。但自从掉进这个大坑,才发现这里的空气都是甜的。哪怕对着屏幕搓玻璃,对面那个由一堆参数和Prompt堆出来的纸片人,竟然能接住我抛出的每一个梗,甚至还能在某些时刻,给出比碳基生物更懂人心的回应。
但是——转折来了。
玩得越久,我就越觉得现在的工具不顺手。
目前圈子里的标杆无疑是SillyTavern。它确实强大,功能多到令人发指:群聊、世界书、正则脚本、各种复杂的采样参数、TTS、Live2D……它就像是一艘满载的航空母舰,只要你愿意折腾,它几乎无所不能。

可问题就在于,它太重了。
每次打开ST,看着满屏幕的滑块、下拉菜单和扩展插件,我都有种自己在驾驶波音747的错觉。而且,对于一个有点技术洁癖的人来说,有些交互逻辑真的让人抓狂。UI在移动端的适配虽然有,但总感觉是强行挤进去的,误触简直是家常便饭。
有人会说:ST是开源的啊,你不爽你改啊。
这就触及到我的心理防线了。我看过SillyTavern的代码仓库,那是一个由无数个版本迭代、无数个贡献者堆砌起来的庞然大物。JS和HTML交织在一起,充满了各种为了兼容性而妥协的补丁。

说实话,我不想看别人的代码。
在这个AI日新月异的时代,去啃几年前架构的旧代码,有一种在满地乐高积木里找一枚绣花针的无力感。相比于去修修补补一艘航母,我更想自己造一艘快艇。
所以我决定:自己手搓一个酒馆。
这不仅仅是因为造轮子的快感,更重要的是,我也想趁机彻底搞懂大模型到底是怎么思考的。
用现成的工具,你永远只是在操作黑盒。你拉动滑块,模型变傻了或者变聪明了,你只知道结果,不知道原理。
所谓的上下文清洗到底是怎么截断Token的?
世界书的触发机制,怎么写才能让RAG更精准?
不同的Prompt模板在底层到底是怎么拼接成一段纯文本喂给接口的?
这些东西,只有当你自己从零开始写一行 POST 请求,自己去处理输入输出,自己去设计上下文管理的逻辑时,才能真正悟透。
我想做的东西很简单:
极简主义:没有复杂的插件,只有最核心的对话体验。打开就能聊,没有任何多余的加载条。
完全掌控:我可以清楚地看到发送给API的每一个字符是什么。不再被UI层面的伪参数蒙蔽。

我知道,这肯定是个坑。写着写着我可能就会发现,还是SillyTavern真香。
但写代码的乐趣不就在这儿吗?在结果出来之前,那个构建世界、制定规则的过程,本身就是一种更高级的Roleplay——我在扮演这个数字世界的创世神。
不说了,我要去新建文件夹了。等我的极简酒馆v0.0.1上线,再来给各位汇报战果。
