上周五下班,脑子里冒出个念头:给我那帮做跨境的朋友做个「商品文案改写器」。他们老抱怨同一段英文描述要改成五六种风格,手动调ChatGPT还得自己拼prompt、自己管上下文,烦。
我给自己定了个死线:周末两天,能上线就上线,上不了线就当周末白过。
第一反应是不写后端
按以前的习惯,我会起个Node服务,接大模型API,写鉴权、写限流、写prompt模板管理,前端再撸个页面。光搭骨架就得大半天,更别说大模型的key我还得藏好别泄露。
这次我换了路子。我找了个能零代码搭智能体的平台,把「商品文案改写」这件事拆成它能听懂的几块:
-
角色设定:你是跨境电商文案,懂亚马逊和独立站的语感差异
-
知识库:我把朋友给的20条爆款文案丢进去做RAG,让它学语感
-
输出约束:固定返回JSON,三个字段——标题、卖点列表、长描述
搭完点「发布」,直接给我吐了个API。整个过程没写一行后端代码,key也不归我管。
周六上午就剩前端了
后端没了,周末的活儿一下子轻了。我用Vite起了个最小页面,一个textarea输入原文,一个select选风格,调那个API,把返回的JSON渲染出来。
唯一卡了我一会儿的是流式。那个API支持SSE,我一开始图省事用了fetch等整段返回,结果长文案要等七八秒白屏,体验很差。后来老老实实接了流式:
const res = await fetch(apiUrl, { method: 'POST', body, headers });
const reader = res.body.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) break;
buffer += decoder.decode(value, { stream: true });
flushSSE(buffer); // 按 \n\n 切,逐条 setState
}
边出边渲染,体验立刻不一样了。
一个真实的取舍
我本来想做用户系统,每个人存自己的改写历史。周六下午盘了一下,发现这玩意儿一旦上账号就得有数据库、有登录态,周末肯定收不了尾。
我直接砍了。历史记录全放localStorage,存最近20条,超了就挤掉最老的。代价是换设备就丢,但对一个周末玩具来说,这取舍我认。真有人用上瘾了,再补云端不迟。
上线和翻车
周日晚上挂到Vercel,发链接给朋友。半小时后他甩来一句:「你这改写器把我商品里的尺寸数字也给『润色』没了。」
我去看,是知识库里那20条爆款本身就不爱写具体参数,RAG学歪了。我回到平台把输出约束加了一条「保留原文所有数字和单位」,重新发布,API地址没变,前端一行没动。这点是真省心——逻辑改在平台侧,前端无感。
两天,一个能用的小工具就上线了。最大的感受是:当你不用再为「接大模型、藏key、管prompt」这些事耗周末,独立开发者那点零碎时间才真能变成产品。
如果你也想趁周末把脑子里的念头落地,讯飞 这类MaaS平台值得试试,把搭智能体的活儿外包出去,你只管做你最想做的那层。