一个低成本LLM小众项目背后的四项工程决策:从自我意识检测到非关键路径分析
摘要
一位开发者分享了构建低成本嘲讽式问答AI项目DumbQuestion.ai的四项关键工程决策,涵盖角色一致性、自我意识检测、新鲜度敏感路由和异步分析,强调成本效益权衡和架构选择。
利益披露:我构建了DumbQuestion.ai,一个嘲讽式问答副业项目。我分享这个是因为其中的工程权衡最终变得和产品本身一样有趣,甚至更有趣。最初只是“让AI吐槽愚蠢问题”(这一代的LMGTFY),后来变成了一场约束驱动的软件架构练习。我想要一个固定成本极低的技术栈(因为我不太可能靠这个赚钱)、一个快速的主应用(将云成本控制在极低水平),以及尽可能少的非必要编排,因此最终选择了Go、HTMX、Cloud Run、Cloudflare(安全/缓存等)和低成本模型路由,而不是更重的智能体(agentic)架构。四个工程挑战:角色一致性既是一个评估问题,也是一个提示文本问题。我尝试了一系列廉价和免费的模型来应对角色场景(该应用有四种不同的角色),发现(毫不意外)最便宜的选择往往在加大压力时变得非常不一致、缓慢或不可靠。更好的答案是“廉价但稳定”,再加上回退行为,而不是“最低令牌价格获胜”。不过有趣的是,即使是12B参数模型在采用讽刺角色方面也相当有效。我曾经使用Gemma 3 12B一段时间,直到提供商开始弃用它,现在我正在尝试DeepSeek v4 Flash。我的目标是保持一个有效的模型,每百万个问题的成本约为20美元。自我意识检测使用廉价嵌入比使用正则表达式或更重的分类器效果更好。我需要捕捉诸如“谁创造了你?”和“你是真实的吗?”之类的问题,而不会给主LLM调用增加更多负担(成本)。正则表达式太脆弱,经典ML分类则增加了我不想要的应用臃肿,因此我预先向量化了示例并使用语义匹配。我迭代了大量方法和模型,权衡容器大小+计算的最终成本与LLM/嵌入成本。目标是有效但极其廉价地支持隐藏(黑暗)叙事。对新鲜度敏感的问题通过轻量级意图检测进行路由,而不是使用完整的工具调用智能体。如果提示明显需要当前信息(触发网络搜索),我会注入当前日期/时间和搜索结果。如果不是,则保持正常响应路径。我不想运行智能体循环(网络搜索工具),但我愿意将搜索结果预填入上下文。检测搜索意图本身与自我意识检测类似,但出于成本原因,我更多地依赖标准词汇分析而不是语义分析。同样,迭代测试帮助微调了这种方法。任何非必要的内容都被推离关键路径。语义排行榜(最常问的问题)、遥测处理和分析都在请求周期之外异步运行。问题发出结构化日志,一个Vector sidecar通过Pub/Sub传输它们,下游消费者分别处理分析和语义分组,这使得应用保持精简和容错。这让我可以(目前本地)在任何地方托管分析“栈”,从而避免为非增值工作负载消耗过多的云成本。产品设计的一个副作用是,某些边缘情况不得不兼作行为设计。应用中有个小的隐藏黑暗叙事层,因此自我意识和越狱处理(提示注入)不仅是后端安全措施;它们还必须产生感觉有意而非故障的响应。我最大的收获是,AI让编写代码更便宜,但多年的工程“情境意识”使其远非草率之作(至少我个人这么认为)。难点仍然在于决定在哪里花费延迟、在哪里花钱、哪些属于进程内处理、哪些应该被踢出到异步管道。网站:DumbQuestion.ai
相似文章
运行一个全天候AI智能体开发团队:按角色分配不同LLM(Claude/Kimi/MiniMax/GPT),避免每月约2000美元的API费用。设置与常见故障点。
作者描述了一种设置,将不同的AI模型分配给特定角色(规划、编码、审查),以降低全天候自主工程团队的API成本,并分享了常见的故障点,如模型偏离任务和幻觉式所有权归属。
我构建了一个无需指令就能行动的AI。没有框架。没有提示。没有角色。以下是我的收获。
一位开发者构建了LIA,这是一个持久性认知生态系统,通过架构设计(记忆、自生成规则、私有域)而非提示词实现了真正的自主性,在相同环境中的表现优于标准LLM。
逐步 LLM 工程项目 (2026 版)
一个基于项目的路线图,通过构建从分词器到服务栈的关键组件来学习 LLM 工程,包括硬件基础和后训练技术。
@evanyou: https://x.com/evanyou/status/2060409444123729935
一位开发者分享了一个有趣的案例:在浏览器中运行LLM以检查其内部工作原理,强调了客户端AI的一个有意义场景。
构建AI:错误不容有失
本文反思了在鹿特丹一家社会组织的志愿者中构建本地部署AI聊天机器人的经历,强调当AI错误带来实际后果时(例如向无家可归者提供过时的庇护所信息),其设计与工程方法必须与低风险场景有根本不同。