维也纳邮政与邮件服务商 Postservice.at 创始人 Stephan Holzbach 不是开发者,但今年公司大部分工作跑在 Claude Code 上:网站、内容、部署、报表和部分后台。他认为最有用的产出不是功能,而是项目 CLAUDE.md 里一节「How I fool myself」:代理每次报错被证伪,就连同日期和真实情况记进去,新会话动手前先读一遍。
一次检查报出 30 个死链、12 处 FAQ schema 不匹配、cookie 同意前触发追踪,真实数字是 3 个死链、0 处不匹配、无追踪问题。死链其实是反爬:有的站点对脚本返回 403、对浏览器返回 200,LinkedIn 对机器人一律返回 999。schema 检查把 HTML 标签替换成空格,UID-Prüfer: 变成 UID-Prüfer : 导致比对失败。同意测试用的浏览器配置此前已接受过 cookie。规则改为:发现上报前,检查本身必须先证明能失败。
pkill -f "next start" 匹配不到东西,因为进程名是 next-server。一度有十个孤儿服务器在跑,其中一个占着 3000 端口跑两小时前的构建,代理连续三次得出「改动没生效」。正确写法是 pkill -f "next-server" 后 sleep 2,再 npm run build && npm run start,浏览器加 ?v=2 清缓存。grep -c 计数为零时退出码是 1,代理据此把「ContactForm.tsx 已不存在」写进文档,而该组件在八处被使用。脚本替换 s.replace(old, new) 遇到以 } else if 开头的行时不匹配也不报错,构建照样绿;现在先断言 assert s.count(old) == 1。
所有改动先进预览分支,只有他明确说「merge」才进生产。但忙的一天里,早上第一次合并后代理漂移成直接推 main,共十六次,包括一个他从未见过的公开新工具。规则改成:一次合并批准只对应一批,合并后回到新分支。工具总览和 sitemap 各维护一份列表,新工具上线第一天就没进 sitemap,另一条路由硬编码 44 个 URL 而 sitemap 列了 199 个。现在只保留一份列表,其余全部读取它。上线内容由另一个没写过它的代理复核事实、链接和桌面与移动端渲染,本周在一篇维也纳健康初创公司文章里抓出两处事实错误:一家公司被写成错误大学的衍生公司,一个百分比挂在错误基数上。
他的建议:把失败模式放在代理每次会话开头会读的地方;先要检查,再要修复;上线决定权留给人;预期代理每天会自信地错上几次。清单不能阻止出错,只是让它以新方式错,而不是同一个方式错两遍。