既然不想招客服,我就用 Docker 部署了一套智能问答库。iPhone 13 Pro Max 的包装盒就扔在书房地板上,我盯着那块新屏幕,想的不是它有多流畅,而是它能不能让我每天少看两小时手机,多睡二十分钟。今年彻底砍掉团队回归单干,省下的管理成本全砸在硬件和自动化上了,身体是第一生产力,这话现在信了。
上个月接了个体育培训机构的线上咨询系统,需求很简单:把官网、公众号、小程序里那些“课程多少钱”、“什么时候开课”、“教练资质”的重复问题给自动化掉。放两年前我肯定想着招个兼职大学生,但现在我一听“人”这个字就PTSD,2019年那会儿管七八个人,光每天协调谁上厕所时间长点都能把我精力耗干。钱是赚了点,自由没了,划不来。所以这次铁了心,用技术把“人”这个变量彻底干掉。
拆了一下,核心就三块:一个能理解问题的 NLP 模型、一个本地知识库、一个能对外提供 API 的服务。模型直接用 Hugging Face 上 fine-tune 过的 BERT,虽然比不了现在的 GPT,但在垂直领域回答固定问题够用了,关键是可以本地部署,数据不出门。知识库我用 Markdown 文件来维护,每篇一个常见问题,结构清晰,改起来也快。
最麻烦的是部署和运维。总不能给客户装个 Python 环境再配一堆依赖吧?Docker 这时候就是救命稻草。写了个 Dockerfile,把模型、代码、依赖全打包进去。为了处理并发,前面用 Nginx 做反向代理,后面用 Gunicorn 跑 Flask 应用。Docker Compose 文件一编排,`docker-compose up -d` 一行命令,服务就在他们自己的服务器上跑起来了。客户那边只需要有个能跑 Docker 的基础环境就行,后续更新我直接给个新镜像 tag,他们拉取重启就完事。
这整套搞下来,我发现自己对“效率”的理解完全变了。早几年迷信各种协作软件,Trello、Jira、飞书轮着用,流程画得花里胡哨,最后发现最大的瓶颈就是等别人回复。现在?所有能固化、能重复的环节,必须用代码焊死。新手机 A15 芯片强不强?强。但我更关心它跑自动化测试脚本、处理批量图片压缩时,能不能比旧设备快出那关键的几分钟。这几分钟累加起来,可能就是我能早睡半小时的窗口。
当然也有坑。知识库冷启动的时候,客户给的 FAQ 文档乱七八糟,同义词一大堆,模型一开始准确率惨不忍睹。我不得不写了个脚本,去爬他们历史客服聊天记录,清洗、聚类,硬是提炼出了五十组标准问答对,重新喂给模型训练。还有 Docker 内外的路径映射、模型文件太大导致镜像构建慢,这些细节都得一个个啃下来。但比起跟人解释“为什么这个问题你没及时回”,我宁愿跟命令行报错死磕。
看着 Docker 容器稳定运行了七天,CPU 和内存占用曲线平稳得像条直线,我居然有种诡异的满足感。这玩意儿不会请假,不会闹情绪,不会要求涨薪,只要服务器不宕机,它就能一直干下去。所谓超级个体,可能就是这么一点点把自己不擅长的、厌恶的环节,用技术和工具剥离出去的过程。手机性能再强,最终也是为这个目标服务的。下一个压榨对象,该轮到那些繁琐的合同和发票流程了。













