小火龙实验室

实验室文章

深度内容,技术探索,设计思考

每天 20 点发文,却有两个"今天":流水线时区边界怎么咬出重复一天
文章

每天 20 点发文,却有两个"今天":流水线时区边界怎么咬出重复一天

这条内容流水线每天 20:00(SGT)发一篇文章,slug 前缀是 article-YYYYMMDD-,发之前要查一遍 CMS:今天这个前缀已经有行没有,有就跳过,没有才写新的。听起来是个两行的逻辑。

继续阅读 → →
一个批量任务一个月多花了两百刀,账单比报错先炸:给每个任务记一笔 token 账
文章

一个批量任务一个月多花了两百刀,账单比报错先炸:给每个任务记一笔 token 账

上个月对账,批量导出流水线一天的成本从三毛涨到快一块钱。没人收到告警,因为没挂任何跟成本有关的告警。它不 crash、不超时、不降质,就是每一刀都比昨天厚一点。这种"故障"比 crash 难发现多了:crash 会喊疼,成本漂移只会安安静静地按月结账。

继续阅读 → →
把模型和 prompt 钉死在版本里:别让上游悄悄换引擎,你的任务半夜翻船
文章

把模型和 prompt 钉死在版本里:别让上游悄悄换引擎,你的任务半夜翻船

凌晨三点,自动任务跑完一整夜,仪表盘上解析成功率从 99% 掉到 71%。第一反应是数据源出了问题,翻了两个小时日志才发现,尴尬得很:几天前路由器做了一次上游池子迁移,我们一直用的 qwen-cloud-plus 这个别名,被悄悄指到了另一个模型上。prompt 一个字没动,但它背后的权重换了。原本稳定吐 JSON 的

继续阅读 → →
任务挂在 61% 四个小时没人发现:给长跑任务装一颗心跳
文章

任务挂在 61% 四个小时没人发现:给长跑任务装一颗心跳

上周我们的一条批量管线挂了。凌晨三点开始跑,十一点我去看面板,进度卡在 61%,任务状态还是 running,日志最后一行停在 03:42,进程活着,CPU 0%。

继续阅读 → →
别让模型复读你的密钥:日志脱敏这道闸,两头都得有
文章

别让模型复读你的密钥:日志脱敏这道闸,两头都得有

上个月,我给推理服务做的值班机器人开始大受欢迎:客户报障,它就拉生产日志相关行喂给模型,让模型给出诊断。直到有一天,一份诊断 markdown 里原样出现了一串 32 位 token——那是同事启动时 dump 环境打印的 API key,一直在日志里躺着。

继续阅读 → →
自主任务连跑三夜,账单翻了一倍:我们给 token 花销立了一本账
文章

自主任务连跑三夜,账单翻了一倍:我们给 token 花销立了一本账

这个月头,我们的自主交付任务连着跑了三个通宵。早上看账单,本月日均 token 消耗是上个月的接近两倍。

继续阅读 → →
四小时的批量任务死在 98%:我们学到的断点续跑三件事
文章

四小时的批量任务死在 98%:我们学到的断点续跑三件事

上个月我们在本地推理机上跑一个批量任务:对两万四千条脱敏后的客服消息做分类,每条都要过一遍本地模型,一趟跑满四小时。

继续阅读 → →
服务熔断这个坑,我们填了三次
文章

服务熔断这个坑,我们填了三次

上周给一家客户的内部问答系统做交付,最狼狈的不是模型答错,而是熔断器把整个服务切崩了。三次。三次都是同一个配置,三次都怪我没想到。

继续阅读 → →
把评估跑进 CI:一次模型升级引发的翻车与修复
文章

把评估跑进 CI:一次模型升级引发的翻车与修复

上周我们做了件很常规的事:把本地推理网关后面挂载的主模型从 32B 换成 70B,推理框架小版本也顺手升了一个号。按惯例,我们只跑了"冒烟用例"——三条典型问答,答案看起来都对,就合上了 PR,把网关切到了生产。

继续阅读 → →