[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-cloudflare-ai-code-review-ci-orchestration-zh":3,"article-related-cloudflare-ai-code-review-ci-orchestration-zh":33,"series-industry-6fd289d9-fa30-4013-9cb9-56ac6ceeb0db":76},{"id":4,"slug":5,"title":6,"content":7,"summary":8,"source":9,"source_url":10,"author":11,"image_url":12,"cover_image":12,"category":13,"language":14,"translated_content":11,"related_article_id":11,"keywords":15,"key_takeaways":25,"views":29,"created_at":30,"published_at":31,"topic_cluster_id":32},"6fd289d9-fa30-4013-9cb9-56ac6ceeb0db","cloudflare-ai-code-review-ci-orchestration-zh","Cloudflare把AI代码审查做成CI编排系统","\u003Cp data-speakable=\"summary\">\u003Ca href=\"\u002Ftag\u002Fcloudflare\">Cloudflare\u003C\u002Fa>用7个专项智能体把AI代码审查接进了CI\u003Ca href=\"\u002Fnews\u002Fhappyhorse-11-video-api-workflow-zh\">流程\u003C\u002Fa>。\u003C\u002Fp>\u003Cp>这份清单看完，你会知道 5 个关键设计点，足以判断一套 AI 代码审查能不能进生产、该怎么降成本，以及哪里必须保留人工兜底。Cloudflare 的数据也说明，这不是概念展示，而是已经跑进大规模 CI 的系统。\u003C\u002Fp>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>项目\u003C\u002Fth>\u003Cth>并发审查器\u003C\u002Fth>\u003Cth>中位审查耗时\u003C\u002Fth>\u003Cth>平均单次成本\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>Cloudflare AI 审查编排\u003C\u002Ftd>\u003Ctd>最多 7 个\u003C\u002Ftd>\u003Ctd>3 分 39 秒\u003C\u002Ftd>\u003Ctd>1.19 美元\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>低风险审查\u003C\u002Ftd>\u003Ctd>约 2 个\u003C\u002Ftd>\u003Ctd>更短\u003C\u002Ftd>\u003Ctd>0.20 美元\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>完整高风险审查\u003C\u002Ftd>\u003Ctd>7 个\u003C\u002Ftd>\u003Ctd>更长\u003C\u002Ftd>\u003Ctd>1.68 美元\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>1. 不做单体智能体，改做调度编排\u003C\u002Fh2>\u003Cp>Cloudflare 先放弃的是“一个模型包办所有审查”的思路。复杂仓库里，单模型容易给出空泛建议、重复意见和误报，最后只会让工程师更快失去耐心。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782795770205-lxlo.png\" alt=\"Cloudflare把AI代码审查做成CI编排系统\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>他们改成把审查拆成多个专项智能体，再交给协调器统一汇总。这样做的重点不是让模型更强，而是让系统更像工程系统，输出也更像可执行的审查结果。\u003C\u002Fp>\u003Cul>\u003Cli>安全审查：找可利用风险和明确漏洞\u003C\u002Fli>\u003Cli>性能审查：找可量化退化\u003C\u002Fli>\u003Cli>代码质量审查：找逻辑问题与可维护性问题\u003C\u002Fli>\u003Cli>文档、版本、AGENTS.md：处理非代码信号\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>2. 插件化架构把平台、模型和规范拆开\u003C\u002Fh2>\u003Cp>他们没有把 GitLab、模型服务和内部规范硬编码进主流程，而是做成插件架构。入口模块只负责组装配置，具体怎么跑审查、接哪个平台、接哪家模型服务商，都交给插件完成。\u003C\u002Fp>\u003Cp>这种拆分的好处是边界清楚。GitLab 插件不会看到 Cloudflare AI Gateway 配置，Cloudflare 插件也不会碰 GitLab 令牌，后续换平台或换模型时，改动范围会小很多。\u003C\u002Fp>\u003Cul>\u003Cli>配置入口：\u003Ccode>ci-config.ts\u003C\u002Fcode> 统一收口\u003C\u002Fli>\u003Cli>核心产物：\u003Ccode>opencode.json\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>上下文对象：只给插件可控操作，不直接暴露最终配置\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>3. OpenCode 负责会话，JSONL 负责流式输出\u003C\u002Fh2>\u003Cp>Cloudflare 选 \u003Ca href=\"https:\u002F\u002Fopencode.ai\u002F\">OpenCode\u003C\u002Fa> 作为核心编码智能体，不只是因为它开源，还因为它是服务端优先架构，适合从程序里创建会话、发送提示词、并发收集结果。协调器通过 Bun.spawn 启动 OpenCode，审查器则在内部通过 SDK 再拉起多个子会话。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782795770382-0abc.png\" alt=\"Cloudflare把AI代码审查做成CI编排系统\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>更值得借鉴的是输出格式。他们不用单一 JSON 直接承载长任务结果，而是改用 JSONL 做结构化日志，每行都是独立对象。这样即使进程中途退出，也不会把整份结果写坏。\u003C\u002Fp>\u003Ccode>step_finish -> 记录 token 用量\nerror -> 触发重试\nreason: \"length\" -> 说明输出被截断\u003C\u002Fcode>\u003Ch2>4. 专项模型分层，比全员上顶配更省钱\u003C\u002Fh2>\u003Cp>他们没有让所有任务都调用最贵的模型，而是按任务复杂度分层。协调器用顶级模型，负责读其他审查器的输出、去重和最终裁决；代码质量、安全、性能这类高负载任务用标准模型；文档、版本和 AGENTS.md 这类文本密集任务则交给更轻量的模型。\u003C\u002Fp>\u003Cp>这种分层直接体现在成本上。首月总 \u003Ca href=\"\u002Ftag\u002Ftoken\">Token\u003C\u002Fa> 约 1,200 亿，缓存命中率达到 85.7%，平均单次审查成本 1.19 美元，中位数 0.98 美元，P99 也只有 4.45 美元。对大规模 CI 来说，把高成本模型只留给最需要的环节，才有长期可持续性。\u003C\u002Fp>\u003Cul>\u003Cli>顶级模型：协调器裁决\u003C\u002Fli>\u003Cli>标准模型：主力子审查器\u003C\u002Fli>\u003Cli>轻量模型：文档和版本检查\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>5. 熔断、回退和 break glass 让系统敢上生产\u003C\u002Fh2>\u003Cp>把 AI 接进发布链路，最大的难点不是能不能跑，而是出故障时会不会拖垮交付。Cloudflare 为每个模型层级都做了熔断器和故障恢复链，遇到速率\u003Ca href=\"\u002Fnews\u002Fanthropic-export-ban-shift-changes-ai-access-zh\">限制\u003C\u002Fa>或服务中断时，会自动切换到同系列的健康替代模型。\u003C\u002Fp>\u003Cp>更重要的是，他们保留了人工兜底。只要真人审查者添加 break glass 注释，系统就会强制放行。也就是说，AI 在这里不是裁判，而是高质量过滤器和风险提示器，最终控制权仍在工程流程里。\u003C\u002Fp>\u003Ch2>6. 重新审查和 AGENTS.md 让上下文保持新鲜\u003C\u002Fh2>\u003Cp>CI 里的审查不是一次性的。开发者推新提交后，系统会做增量重新审查，识别已修复、未修复和用户已解决的发现，避免重复打扰。协调器还能读取历史评论和内联 DiffNote 线程，让后续审查接着上次的结论继续。\u003C\u002Fp>\u003Cp>另一个实用点是 AGENTS.md 审查器。它会提醒团队在测试框架、构建工具、包管理器或 CI\u002FCD 流程变化后\u003Ca href=\"\u002Fnews\u002Fk3s-v1-34-9-kubernetes-1-34-9-release-zh\">更新\u003C\u002Fa>指引文件，防止 AI 继续按旧规范生成错误建议。\u003C\u002Fp>\u003Cul>\u003Cli>已修复的发现：自动省略\u003C\u002Fli>\u003Cli>未修复的发现：继续保留\u003C\u002Fli>\u003Cli>用户已解决：按状态认可\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>哪种适合你\u003C\u002Fh2>\u003Cp>如果你的团队只有少量仓库、审查规则也比较固定，先从单一 AI 审查或轻量插件开始更合适。但如果你已经面对多仓库、多模型、多平台和严格 CI 门禁，这套做法更值得参考。\u003C\u002Fp>\u003Cp>真正该学的不是“接一个更强的模型”，而是把审查拆成专项智能体，把配置做成插件，把失败处理和人工兜底提前设计好。这样 AI 才有机会稳定进入代码发布流程。\u003C\u002Fp>","7个审查智能体、3分39秒中位耗时，Cloudflare把AI代码审查嵌进CI并控制成本与风险。","zhuanlan.zhihu.com","https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F2053168414206718925",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782795770205-lxlo.png","industry","zh",[16,17,18,19,20,21,22,23,24],"Cloudflare","AI代码审查","CI编排","OpenCode","GitLab","JSONL","熔断","break glass","AGENTS.md",[26,27,28],"单模型审查不够，专项智能体加协调器更适合大规模 CI。","插件化与 JSONL 流式输出能降低耦合，也更利于观测和排错。","分层模型、熔断回退和人工 break glass，是 AI 上生产的关键。",2,"2026-06-30T05:02:23.390202+00:00","2026-06-30T05:02:23.369+00:00","caa87b65-9bbc-46fe-bba8-4f4158dd2d8b",{"tags":34,"relatedLang":11,"relatedPosts":39},[35,37],{"name":16,"slug":36},"cloudflare",{"name":19,"slug":38},"opencode",[40,46,52,58,64,70],{"id":41,"slug":42,"title":43,"cover_image":44,"image_url":44,"created_at":45,"category":13},"45eef4b4-fff9-4bbc-9860-a3820395f5c9","webx-2026-speaker-lineup-conference-brief-zh","WebX 2026 把聲量拆成會議簡報","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1783928000041-ukar.png","2026-07-13T07:32:54.333855+00:00",{"id":47,"slug":48,"title":49,"cover_image":50,"image_url":50,"created_at":51,"category":13},"61a27712-a243-481e-9a47-fa84f552ac36","ai-weekly-2026-w29-zh","AI 週報：2026-07-06 ~ 2026-07-13","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1783916422596-zvn0.png","2026-07-13T04:00:33.233975+00:00",{"id":53,"slug":54,"title":55,"cover_image":56,"image_url":56,"created_at":57,"category":13},"9ca76a1c-f59b-4633-9d7e-45a1ce18495d","ai-act-europe-operating-system-ai-zh","AI Act 應被視為歐洲 AI 的作業系統","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1783902767441-90pc.png","2026-07-13T00:32:21.395542+00:00",{"id":59,"slug":60,"title":61,"cover_image":62,"image_url":62,"created_at":63,"category":13},"39624a31-f79e-444f-9850-cabad1885429","booz-allen-openai-deal-real-ai-advantage-zh","Booz Allen 的 OpenAI 合作是真優勢，不是噱頭","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1783900966921-i3t0.png","2026-07-13T00:02:18.55857+00:00",{"id":65,"slug":66,"title":67,"cover_image":68,"image_url":68,"created_at":69,"category":13},"d1753385-8c03-4dec-b939-e5ca8bae9030","opensearch-vector-search-benchmark-5-parts-zh","OpenSearch 向量搜尋基準的 5 種跑法","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1783850566022-b79s.png","2026-07-12T10:02:22.269045+00:00",{"id":71,"slug":72,"title":73,"cover_image":74,"image_url":74,"created_at":75,"category":13},"6e790897-c9af-402c-a928-f2b0cc02f4e6","vector-databases-work-in-production-zh","4 種能上線的向量資料庫選擇","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1783846963245-35py.png","2026-07-12T09:02:23.058273+00:00",[77,82,87,92,97,102,107,112,117,122],{"id":78,"slug":79,"title":80,"created_at":81},"ee073da7-28b3-4752-a319-5a501459fb87","ai-in-2026-what-actually-matters-now-zh","2026 AI 真正重要的事","2026-03-26T07:09:12.008134+00:00",{"id":83,"slug":84,"title":85,"created_at":86},"83bd1795-8548-44c9-9a7e-de50a0923f71","trump-ai-framework-power-speech-state-preemption-zh","川普 AI 框架瞄準電力、言論與州權","2026-03-26T07:12:18.695466+00:00",{"id":88,"slug":89,"title":90,"created_at":91},"ea6be18b-c903-4e54-97b7-5f7447a612e0","nvidia-gtc-2026-big-ai-announcements-zh","NVIDIA GTC 2026 重點拆解","2026-03-26T07:14:26.62638+00:00",{"id":93,"slug":94,"title":95,"created_at":96},"4bcec76f-4c36-4daa-909f-54cd702f7c93","claude-users-spreading-out-and-getting-better-zh","Claude 用戶更分散，也更會用","2026-03-26T07:22:52.325888+00:00",{"id":98,"slug":99,"title":100,"created_at":101},"bd903b15-2473-4178-9789-b7557816e535","openclaw-raises-hard-question-for-ai-models-zh","OpenClaw 逼問 AI 模型價值","2026-03-26T07:24:54.707486+00:00",{"id":103,"slug":104,"title":105,"created_at":106},"eeac6b9e-ad9d-4831-8eec-8bba3f9bca6a","gap-google-gemini-checkout-fashion-search-zh","Gap 把結帳搬進 Gemini","2026-03-26T07:28:23.937768+00:00",{"id":108,"slug":109,"title":110,"created_at":111},"0740e53f-605d-4d57-8601-c10beb126f3c","google-pushes-gemini-transition-to-march-2026-zh","Google 把 Gemini 轉換延到 2026 年 3…","2026-03-26T07:30:12.825269+00:00",{"id":113,"slug":114,"title":115,"created_at":116},"e660d801-2421-4529-8fa9-86b82b066990","metas-llama-4-benchmark-scandal-gets-worse-zh","Meta Llama 4 分數風波又擴大","2026-03-26T07:34:21.156421+00:00",{"id":118,"slug":119,"title":120,"created_at":121},"183f9e7c-e143-40bb-a6d5-67ba84a3a8bc","accenture-mistral-ai-sovereign-enterprise-deal-zh","Accenture 攜手 Mistral AI 賣主權 AI","2026-03-26T07:38:14.818906+00:00",{"id":123,"slug":124,"title":125,"created_at":126},"191d9b1b-768a-478c-978c-dd7431a38149","mistral-ai-faces-its-hardest-year-yet-zh","Mistral AI 迎來最硬的一年","2026-03-26T07:40:23.716374+00:00"]