〖Code With SOLO〗用SOLO 10分钟,给小程序配上一个能帮你“骂回去”的AI嘴替

1. 摘要

吐槽类应用已经很多了,为什么还要做一个?

因为现有的产品,要么让你“冷静”,要么让你“倾诉”,但没有人给你一个痛快的出口——骂完之后还是觉得不爽,还能把讨厌的人写成一篇打脸爽文,亲眼看着他原地翻车。

“吐槽搭子”就是为这个做的。它不仅是一个AI赛博嘴替,陪你把憋屈骂出来;更是一个互动爽文生成器,把你的吐槽一键变成有反派设定、有分支选项、有反转结局的短篇小说。整个项目从想法到上线,我一个人花了3天。这篇文章主要聊聊我是怎么拆解需求、设计提示词、以及在这个过程中Trae SOLO具体帮上了什么忙。

2. 背景:一个“嘴笨”开发者的自我救赎

做这个小程序的起因很简单:我嘴笨。

堵车被加塞,摇下车窗张了张嘴,什么都没说出来。排队被插队,那人回头翻了个白眼,我脑子里骂了一万句,嘴里只挤出一声“哎”。回家越想越气,打开手机想找人吐槽,翻了一遍通讯录又放下了——这事儿跟谁说都显得自己小心眼。

市面上有冥想App、白噪音App、心理咨询App,全在教你“控制情绪”。但有时候人不想被教育,就想痛痛快快骂出来。

所以我决定做一个“AI嘴替”。光骂还不够过瘾,我还想加一个功能:把那个讨厌的人写成一篇打脸爽文,让用户在故事里把气彻底出完。这就是后来的“剧本模式”。

技术栈上没怎么纠结。微信小程序原生框架,CloudBase云开发做后端,混元大模型提供AI能力。唯一的问题是我不会写后端,Node.js水平仅限于console.log。这就是为什么我用了Trae SOLO——我需要一个能帮我写云函数、调数据库、还不把我绕晕的工具。

3. 实践过程

3.1 任务拆解

我把整个项目拆成了5块:

  1. 登录模块:微信一键登录,接CloudBase用户体系

  2. 聊天核心:消息收发、AI连续吐槽、打断逻辑

  3. 剧本模式:提取吐槽上下文,调用AI生成互动式爽文

  4. 语音输入:调用微信语音识别插件

  5. 分享卡片:Canvas画图、保存相册

拆完发现,最难的不是某一块的代码,而是第二块里“连续吐槽”的交互和第三块“剧本模式”的提示词——前者涉及实时数据推送,后者要求AI写出有逻辑、有爽感的互动小说。

3.2 用Trae SOLO写核心功能

连续吐槽功能

我把需求写成了一段话丢给Trae SOLO:

“创建云函数sendMessage,接收用户消息,调用混元大模型。让AI返回2-5条连续的吐槽消息,每条20-50字。云函数每隔1.5秒往数据库的messages集合写一条,前端用watch实时监听渲染。”

Trae SOLO给我生成了一版云函数代码。核心逻辑是:调用混元API时要求返回一个JSON数组,然后在云函数里用for循环配合setTimeout逐条写入数据库。前端用db.collection().watch()监听新增记录,收到一条就渲染一条。

这个方案的巧妙之处在于,它完全基于CloudBase原生能力,不用搭WebSocket服务。对于我这种后端小白来说,省了太多事。

剧本模式功能

剧本模式的需求更复杂一些:

“创建云函数generateScript,接收sessionId,提取会话最近5条消息作为上下文。调用混元大模型生成互动式打脸小说,要求返回反派设定、故事开头、三个分支选项及对应剧情、反转结局。输出格式为JSON。”

Trae SOLO帮我生成了云函数骨架,包括从数据库读取历史消息、拼接上下文、调用大模型、解析JSON返回。我需要做的只是把提示词填进去——而提示词本身,才是这个功能真正花时间的地方。

3.3 提示词迭代:从“客服腔”到“嘴替”,再到“爽文编剧”

代码跑通只是第一步。真正花时间的是调提示词。

吐槽模式

第一版提示词很简单:“你是一个吐槽搭子,陪用户一起骂。”结果AI的回复全是“是啊,太气人了”、“消消气,别跟他一般见识”——典型的客服话术,完全没有情绪。

我开始加约束:

markdown

对话规则:
1. 绝对不劝和、不讲道理、不说“算了”
2. 吐槽要生动、有画面感,多用比喻、反问、夸张
3. 第一条先共情,后续逐步升级吐槽强度
4. 禁止脏话,但可以用谐音梗、阴阳怪气

这版好了一些,AI终于开始“骂”了。

剧本模式

剧本模式的提示词迭代更折腾。

第一个问题:AI总把反派写成傻子——嘴笨、反应慢、破绽百出。打脸倒是打了,但一点不爽,像欺负弱智。

我意识到需要约束反派的智商:

原则:全员高智情商。打脸的快感来自“技高一筹”,而非“对手犯蠢”。
- 反派必须聪明、反应快,他的出招要让主角感到真实压力
- 主角的胜利靠抓住反派自己没察觉的破绽,不靠反派突然降智

第二个问题:面对“股市亏钱”、“广告烦人”这类没有具体靶子的吐槽,AI会创造出“绿魔K线精”、“广告妖怪”这种幼稚的卡通反派。

我加了约束:

虚构靶子必须是真实的人类或人类组织。吐槽股市就虚构一个操盘手,吐槽广告就虚构一个广告策划者。禁止将抽象概念拟人化为妖怪、幽灵、精灵。

第三个问题:反派受挫时,AI总写“他吼‘诬陷’却卡壳了”——太干瘪。

我改用“正反示例”的方式教它:

不要写:“他说不出话。”
要写:“他嘴张了张,又合上。喉结往上顶了一下,像咽了口沙子,最后只挤出几声气音。”

把这些示例放进提示词后,AI的描写明显有了血肉感。

3.4 几个踩过的坑

打断逻辑:AI连续输出时,如果用户突然发新消息,前端“正在输入”状态会卡住。Trae SOLO帮我定位到是isAIOutputting标志位没重置,给了修复代码。

语音识别:真机上返回格式和模拟器不一致,报错。Trae SOLO判断是回调里对result字段取值路径的问题,给了兼容两种格式的写法。

剧本生成超时:混元生成一篇完整爽文有时要8-10秒,用户干等着体验很差。我让Trae SOLO帮我加了一个Loading页,配了轮播趣味文案(“正在给反派写死法…”、“正在脑补翻车姿势…”),等待时间变得不那么难熬。

4. 成果展示

体验路径:微信小程序搜索“吐槽搭子”、“吐槽搭子Pro” 或扫描下方二维码

开源仓库:[“整理中,赛后开源”]

5. 总结

回过头看,Trae SOLO在这个项目里主要帮了我三件事:

  1. 写我不会的代码:云函数、数据库操作、Canvas绘图,这些对我来说是有门槛的。Trae SOLO生成的代码能直接跑,我省掉了大量查文档、抄代码、调试的时间。

  2. 定位我搞不定的Bug:打断状态残留、语音识别兼容性、剧本生成超时,这类问题如果让我自己排查会很痛苦。把现象和报错贴进去,它能给出分析方向甚至直接给修复代码。

  3. 陪我迭代提示词:这是意外的收获。我在调提示词的时候,会把AI的“失败回复”贴给Trae SOLO看,问它问题出在哪、应该怎么改。它给我的分析和建议,帮我更快找到了提示词的优化方向。尤其是剧本模式里“反派降智”、“妖怪化”、“受挫描写干瘪”这几个问题,都是和Trae SOLO反复讨论后解决的。

当然,它不是万能的。产品怎么设计、交互怎么打磨、提示词往哪个方向调——这些决策还是得自己来做。

但作为一个后端零基础的独立开发者,3天把一个带聊天和剧本生成双模式的AI小程序跑到上线,这个效率在以前是不敢想的。

interesting,前端sang

这也太厉害了:+1::+1::+1:

感谢认可 :grinning_face_with_smiling_eyes:

我刚给我生气的女朋友发过去,她表示很好用

感谢认可,剧本生成上其实还是有点问题的,主要是因为混元模型的问题,我会继续优化的 :grin:

1 个赞