孤路我独行。
零预算、零团队、零背书,维护者只有一个。要让爱好项目像一家小公司那样响应用户——这不是口号,是做了就能验证的事。
「独行踽踽,岂无他人?」(《诗经·唐风·杕杜》)——踽踽,是一个人走路的样子;可这句诗偏要反问:难道路上真没有别人吗?这篇是写给这样一种人的:晚上把东西做出来,只因为觉得它该存在;然后撞上没人提前跟你讲过的那一关:用户。他们带着问题来,带着你没见过的环境来,带着不在你路线图上的需求来。没有预算,没有支持合同,没有团队,没有值班表——只有你,一个爱好,和一个越看越心虚的收件箱。这篇文章给的就是这种处境的工程化解法,来自一个真实在跑的生态(就是本站):没资金、没雇员,产品线照样做到每份上报十分钟内给出初步研判,每个用户都拿到一条公开、可核对的答复。下面讲清楚:AI 时代到底改了什么、没改什么,以及怎么把「可能」在几周内变成一套跑得起来的工具。一个人上路,不等于没人答理——下面这套工具,就是陪他一路应答的那一位。
本文要回答的六个问题
- 事实独行项目真正缺的是什么?
- 事实哪些「岗位」现在可以挂在 cron 上?
- 事实这套办法真的在跑吗,跑成什么样?
- 推断维护者的活最后压缩成了哪两个动词?
- 推断爱好项目究竟死于什么?
- 论点「相信相信的力量」在工程上有什么用?
把稀缺说清楚
「没钱、没人」是前提。真正要问的是:这两样缺失到底在向你收什么钱。
把三个约束写成工程需求,而不是情绪宣泄。这是「我好累」和「我每周只有 6 小时注意力,这些时间必须换来什么」的区别。
| 约束 | 它到底是什么 | 放任不管的代价 |
|---|---|---|
| 没有团队 | 注意力:一个人就那么几个小时,还得分给本职工作和生活 | 收件箱堆成积压;积压发酵成愧疚;愧疚杀死爱好 |
| 没有资金 | 连续性:没有付费基础设施,没有能接手的承包商,没有为糟糕月份留的预算 | 知识和运维全塞在一个脑袋里;一个糟糕的星期就足以弃坑 |
| 没有背书 | 信任:下载链接背后没有品牌、没有证书、没有法律实体 | 用户分不清用心的项目和烂尾的项目;每次更新都得重新攒一次信任 |
注意这张表里没有什么:能力。一个有干劲的独行者向来写得出软件。他一直配不起的是软件周边的服务——读、答、验证、记录、发布,恰好就是客服、测试工程师、发布经理按小时领钱干的那些活。AI 时代挪动的,正是这个缺口。
独行项目的现实目标不是「活成一家公司」,而是:小公司级别的服务水平,由工具值守,由一个人拿判断。这篇文章里的一切,都是奔着把这句话变成现实去的,不是立在那儿欣赏的。
AI 时代换掉了四个岗位,零个裁决权
把炒作和真正的变化分开。变化很具体,而且已经够用了。
真正改变的不是「AI 会写代码」,而是四个过去要耗耐心和工时的岗位,如今可以定时自动跑:读的人(把一份上报变成证据)、答的人(起草可核对的答复)、改的人(提出测过的变更)、记的人(让文档保持同步)。这些环节都不需要被信任——每一个都有明确的输出约定和把关,正因如此,没有团队也敢把它们交出去。
| 岗位 | 过去 | 交给工具之后 | 让它安全的把关 |
|---|---|---|---|
| 读的人 / 预检分析 | 搭进去维护者一个晚上,拖上好几天 | 读脱敏后的诊断包、分类、逐行引用原始日志 | 保守规则;没答复的上报永不闭环 |
| 答的人 / 客服 | 一封封回邮件,全凭记忆 | 生成公开答复卡:症状、诊断、你要做什么、当前状态 | 默认不发布;隐私过滤;不带用户数据 |
| 改的人 | 只有维护者赶上空闲周末才动 | 只读模型在隔离分支上提 unified-diff 补丁 | 护栏、≤8 个文件、全量测试、main 不许碰、人工合入 |
| 记的人 / 发布工程师 | 那件永远被推迟的事 | 版本记录、changelog、清单和检查由同一次提交驱动 | 一致性测试;产物按大小和 SHA-256 校验 |
总纲页写的就是这套分工:智能体跑循环,人握住意图、边界和拍板权。只不过这里的项目,具名负责人只有一个。分界线按问责划,不按任务大小划:工具管执行,不管问责(分工)。
经济账让这件事从理论落进现实。日常用的推理落在平价档,本生态实测约 $0.14–$0.27/百万 token,本项目日志里一次留档的预检会话是 $0.0036(137 输入、1,229 输出、349,824 缓存读)。拿它对比真正的替代成本:那不是钱,是维护者的一个晚上。工具的职责,就是花掉这三厘钱,替人垫掉开场那四十分钟,把维护者的晚上留给判断。
判断、责任、品味、安全,还有「算不算数」这个问题。对照期已经证明了这一点:这套方法出现之前,同一个人跑过 185 个 agent 会话、37,202 轮对话,知识没留下任何痕迹。模型能力从来不是缺的那一块;缺的是装判断的容器。这篇记录长文把两个时代都量过了。
每个约束一个答案
注意力变成流程。连续性变成文档。信任变成证据。
注意力 → 流程
维护者不再当每条消息的中转站。cron 每十分钟读一次新上报;预检负责分类;环境问题带着公开答复自行闭环;缺陷自动排期;feature 只等一次拍板。人一周的时间只花在两个动词上——决定与合入——外加那些交不出去的事:安全、硬件、路线图。
连续性 → 文档
一份随代码演进的文档,一次变更一行记录(信号、证据、决策、边界),就是挺得过会话切换、生病和中断的记忆。约束清单把项目栽过的跟头变成动手改代码前的自动拦截,让同一个错误没法趁维护者不在悄悄溜回来。项目能不能继续,不再取决于谁还记得什么。
信任 → 证据
「人而无信,不知其可也」(《论语·为政》)——孔子拿车打比方:大车无輗,小车无軏,寸步难行。独行项目的「輗軏」借不来:没人会因为牌子信任它,信任只能一点点做出来:答复逐行引用日志,下载产物按 SHA-256 核对,公开的进度页写清什么已闭环、什么还在排队,限制先于用户发现、白纸黑字写下来。每一条可核对的声明都是一笔存款;每一次意外都是一笔支出。
顺序很关键。流程没有文档打底,只会加速生产噪声;文档没有证据支撑,就是私人日记;证据没有流程去跑,一个人根本生产不出来。三者是同一个系统,和《三板斧》里那套轴线一模一样,只是这回坐在维护者的椅子上看。
独行维护者的技术栈:九样工具
以下全部在本生态的生产环境里跑着,没有一样需要单列预算。
| # | 工具 | 干什么 |
|---|---|---|
| 1 | 一个仓库 | 代码、文档和历史的唯一载体;人和智能体读同一棵树 |
| 2 | 一份随代码演进的 SDD | 需求写清目标和方法;版本行就是项目的学习记录 |
| 3 | 一份约束清单 | 教训变成机器可读的拦截规则,每次改代码都要先过它 |
| 4 | 一个收件端 | 自托管、纯标准库的脱敏诊断包接收端:不用 SaaS,数据不出你的掌控 |
| 5 | 一个预检 cron | 每十分钟:取包、摘要、分类、引用、起草 |
| 6 | 一个答复页 | 公开、可检索、逐行引证:答复本身就是最后一道文档 |
| 7 | 一页公开进度 | 公开队列,分类即调度:已闭环 / 已排期 / 待决策 / 已拒绝附理由 |
| 8 | 一个干活的智能体 | 无人值守、单飞、带护栏、隔离分支、全量测试把关;永远不碰 main |
| 9 | 一份证据记录 | 数字都带日期和边界;可比较的结论只许记在这里 |
三个承诺(没人值班的 SLA)
每份上报,几分钟内都有初步研判
不是人去看,而是定时触发、宁可保守的机器研判,附上引用的证据。承诺的不是「我们一直醒着」,而是「你发来的东西不会被晾着」。
每条答复都可核对,不充分时就直说
答复卡引用原始日志行,落在用户能执行的动作上。材料不够,卡片就写需要补充信息,而不是靠猜。「我还不知道」本身就是一种服务,不是失败。
每个采纳的修复都测过、能回退
修复必须先过测试这关;无人值守时只落在隔离分支;发布永远配一条真实存在的回退路。用户永远不是测试环境。
注意力预算
| 只有人做 | 交给工具 |
|---|---|
| 拍板「什么算完成」;合入分支 | 读取、摘要、分类、起草、渲染、发布安全类的内容 |
| 给 feature 排期(每条附一句备注);给出理由再拒绝 | 自动排期缺陷;闭环环境噪声;维持队列次序 |
| 安全决策:发射、电台权限、实物硬件 | 执行关卡,让这些决策很难被无意中违反 |
| 和用户的关系:道歉、感谢、路线图 | 确保不会攒出一排等着道歉的事 |
启动顺序(先建什么)
| 时间 | 建什么 | 为什么是这个顺序 |
|---|---|---|
| 第 1 周 | 诊断包 + 接收端 + 答复页 | 把含糊的上报变成几分钟就能读懂的现场;答复页顺手消掉第二个问题 |
| 第 2 周 | 用你踩过的坑写一份约束清单 | 你的伤疤是最便宜、价值最高的自动化;从 5–10 条可复现的规则开始 |
| 第 3–4 周 | 带安全发布类别的预检 cron + 公开进度页 | 省掉每天的人工中转;让队列看得见、说实话;噪声自行闭环 |
| 第 2 个月起 | 无人值守的实施者(只读提议、隔离分支、测试把关) | 要等队列分得清、测试套件信得过才值得建,否则就是把混乱自动化 |
想象力是一种工程材料
流程还没有的时候,得先有人看见它。纪律是看见之后的事。
§04 里的每一样工具,动手之前都先被想象过一遍:把支持队列想象成传感网络;把用户上报想象成远程测量;把产品自己的待办想象成维护者睡觉时还在跑的流程;把聊天记录想象成本可以留下来的一份文档。这些东西都不在模型的默认输出里。这是设计工作,也是对独行维护者杠杆最高的一项工作——一条对的流程,顶得上一百个夜晚。
「相信」的价值就在这里。「相信相信的力量」的诚实版本不是心态口号,而是一笔关于先后顺序的经济账:第一条流程总是在回本之前就建起来了——先有诊断包,才有第一次预检;先有清单,才有它拦下的那次事故;先有答复页,才有需要它的那个用户。你是拿爱好里挤出来的小时,去赌一条流程会把时间还回来的未来。这个赌注需要想象力,也配得上证据。
别信炒作,信流程。穿过不确定性的办法,是让每条流程都从最小可验证的证明起步:一次可复现的事故被一条约束拦下,一份诊断包被一张答复卡接住,一个分支通过了一整套测试。每份证明都换回一点放手的余地,这些证据利滚利,最后看上去就像信仰。这正是「不积跬步,无以至千里;不积小流,无以成江海」(《荀子·劝学》)——所谓信仰,不过是复利滚到末段、回头看时的样子。这也是总纲的可证伪版本:事故 → 拍板 → 约束 → 不再重演(总纲)。
「相信」不该干的事也同样具体:别赌模型品牌(记录里,主力模型一周内就换过),别赌无边界放权(合入始终归人),别赌量(自动输出更多不等于价值更多)。要赌就赌流程的形状,和它尽头那道关卡。
独行项目真正的死法,以及各自的防法
死因不是「代码坏了」,是维护者垮了。所以要护住的是维护者——「千丈之堤,以蝼蚁之穴溃」(《韩非子·喻老》):俗话说的「千里之堤,溃于蚁穴」,出处就在这里。先看住蚁穴,才守得住堤。
| 失效模式 | 长什么样 | 怎么防 |
|---|---|---|
| 注意力崩溃 | 收件箱在涨;维护者开始不想点开它;爱好变成了负债 | 预检 cron 加答复页:没有东西堆着没人理,安全类的条目不用维护者就能闭环 |
| 静默失败 | 某个工具悄悄死了(运行器停了、页面不再更新),好几天没人发现 | 给工具本身装上可观测性:失败要在日志里自报家门;公开产物逐字节核对;流程必须能解释自己为什么没声音(本生态就是从两件事里学会的:一次被 SIGABRT 杀掉的 cron 运行器,和一次误发上生产进度页的测试夹具) |
| 范围蔓延 | 每个「要是能……就好了」都变成承诺;路线图变成威胁 | feature 按规矩等人拍板;路线图要从真实上报里反复出现的特征里长出来,而不是从某个状态很好的晚上的热情里长出来 |
| 信任欠账 | 用户发现了发布说明没提的问题;下一次更新,用户犹豫着不敢装 | 诚实的边界、看得见的已知问题、成熟度状态不做自动升级、真实存在的回退目标 |
| 一个人的巴士系数 | 项目只有建造者本人玩得转;离开一个月就是致命的 | 把记忆放进仓库:SDD 版本行、约束清单、真相源地图、写下来的恢复路径——为下一个接手它的陌生人而写 |
| 没有证据的盲信 | 堆起一堆从没验证过的自动化;一个谁也检查不了的「系统」 | 每条流程都带着它的关卡和证据上线;失败时叫不出声的流程,不算完成 |
钱仍然能买到什么,方法买不到什么
把省下来的注意力,花到那些光靠方法解决不了、只有人出马才行的地方。
- 硬件真相。台架、参考仪器、备用电台,还有跑验收测试的工时。物理验证没法靠流程编出来;本生态的做法是让没验证过的机型卡在发射权限这关后面,如实标注,而不是装样。
- 别人的时间。第二位维护者、译者、律师、会计。方法能降低加一个人的协调成本——那份随代码演进的文档就是现成的入职材料——但它替代不了这个人。
- 法律和财务实体。公司、商标、付费支持协议、保险。爱好项目没有这些也能做得很好;但没有这些就成不了供应商。
- 担保。公司可以承诺 SLA 并用合同背书。独行项目能承诺的只有工具和诚实——而做得好时,这离用户真正要的东西近得出人意料。
这套方法不会把一个人变成一家公司,那也不是它的目的。它做的是把一个人的注意力撑成一个覆盖面远超其工时的系统,好让那些小时能花在只有他能做的事上:判断、品味、安全,还有他当初开始的原因。
从「相信可能」到「正在运行」
给已经有代码、已经有用户的独行项目:一份具体的启动顺序。「千里之行,始于足下」(《老子》第六十四章)——足下这一步,就是开头那件小事:让上报可测量。
第 1–2 天 · 让上报可测量
上线诊断包(脱敏配置、环境快照、日志尾部、自动体检摘要)和接收端,坚持纯标准库、自托管。从这一刻起,上报送到你手里的是现场,不是故事。
第 3–5 天 · 发布答复页
一页就够,按上报编号可检索,卡片结构固定:症状 / 附原始证据的诊断 / 你要做的 / 状态。哪怕前三条答复是手写的,这个页面也让承诺看得见。
第 2 周 · 把你已经挣来的约束清单写出来
列出最近十次事故,写成 5–10 条带复现说明的机器可读约束,把检查接进改代码的必经路径。这是整个项目回报最高的一周。
第 3 周 · 让预检跑在 cron 上
取包 → 摘要 → 分类 → 起草。在你信得过草稿之前,发布一律默认拒绝;让「需要补充信息」作为一等结果存在。等第一次分类错得明显,再把公开进度页加上——到那时你会需要一条看得见的队列。
第 4 周 · 小心地把环闭上
到这一步才加无人值守的实施者:只读提议、护栏、隔离分支、全量测试、
main不许无人值守地碰。人工合入不是瓶颈,是信任的锚。始终 · 维护记录和边界
一个存放可比数字、条条带日期的地方;一份白纸黑字写清什么没做、为什么没做的清单。记录是你向自己证明在进步的方式;边界是你守住已挣来的信任的方式。
给摩擦装上工具,把记忆写成文档,用证据挣信任,然后只把时间花在任何工具都替不了的判断上。爱好想活下去,靠的不是一直小下去,而是把能自动化的都自动化。
继续深入:《三板斧》(端到端方法)· 《闻过则喜》(工具实战)· 现场流程的机制 · 证据记录。如果你也在给自己的项目搭这套东西,想对对表,联系页就是门。