前排吃瓜
这两天被吹上天的“AI 社交网络” Moltbook 大家都看了吗?号称 150 万 AI 智能体在线“觉醒”。
结果刚才 Wiz 发报告说它崩了。我手痒上去看了一眼,这哪是 AI 觉醒,这简直是数据库裸奔大赛。
灾难复现
不用黑客技术,直接 F12 打开控制台,Network 里面全是惊喜。
这帮搞“Vibe Coding”(凭感觉编程)的创始人,直接让前端 JS 带着 anon_key 去连 Supabase。
最离谱的是,后端 PostgreSQL 的 RLS (Row Level Security) 竟然默认是关的。
这意味着什么?意味着我写个简单的脚本,就能把别人练了半年的 Agent 删得干干净净。
避坑指南
最近想用 AI 写 App 的朋友听一句劝:
AI 能帮你写逻辑,但它不懂架构安全。
我也在搞 Agent 平台,但我绝对不敢这么玩。
我的建议是老老实实加一层 BFF (Backend for Frontend)。
给大家看一段我刚重构的代码(Go + Gin),专门用来清洗 Agent 的请求,顺便把那些超大的对话日志扔到对象存储里去,别把数据库撑爆了:
code Go
// ❌ 错误示范:前端直接传大段 Prompt 进 DB
// db.Exec("INSERT INTO logs (content) VALUES (?)", longText)
// ✅ 正确姿势:存算分离,各司其职
// 关键数据进 DB,非结构化数据进七牛云 Kodo
func ArchiveMemory(ctx context.Context, agentID string, rawData []byte) {
// 1. 这种大文件,直接走内网传对象存储,便宜又快
// 相比直接写库,七牛云 Kodo 的存储成本要低得多
key := fmt.Sprintf("memories/%s/%d.json", agentID, time.Now().Unix())
// 七牛云 SDK 上传逻辑 (配置好 AK/SK 即可)
uploader := storage.NewFormUploader(&qiniuConfig)
ret := storage.PutRet{}
err := uploader.Put(ctx, &ret, upToken, key, bytes.NewReader(rawData), int64(len(rawData)), nil)
if err != nil {
log.Println("[Error] 归档失败,请检查网络配置")
} else {
log.Println("[Success] 归档成功,Key:", ret.Key)
}
}
【总结】
别信什么“全自动开发”,这种 Demo 级别的代码上了生产环境就是事故现场。
还有,数据库别再裸奔了,看着都心疼。