深入解析Chromium的AI-Coding开发体系
一句话概括
腾讯QQ浏览器团队深入分析了Chromium源码仓库中内建的AI Agent基础设施——包括四层Prompt分层组合架构、18+可复用Skills、MCP扩展、知识库、评估体系和大规模AI驱动项目,展示了全球最大C++开源项目如何系统化地拥抱AI Coding。
实践内容
Chromium AI Coding 目录结构
chromium/src/agents/
├── ai_policy.md # AI 使用政策
├── prompts/ # 提示词系统(分层组合设计)
│ ├── common.minimal.md # 核心指令层
│ ├── common.md # 完整工作流层
│ ├── knowledge_base.md # RAG 知识库
│ ├── templates/ # 平台模板层(desktop/android/ios)
│ └── eval/ # 评估用例(15+ 个场景)
├── skills/ # 技能系统(18+ 个可复用技能)
├── extensions/ # MCP 扩展(工具能力增强)
├── projects/ # AI 驱动的大型项目
└── testing/ # Prompt 评估测试框架
四层 Prompt 分层组合架构
第四层:Task Prompts(任务提示词)
一次性任务指令,如 /cr:gerrit/cl-description
第三层:Templates(平台模板)
desktop.md / android.md / ios.md / rust.md
第二层:common.md(完整工作流)
8 步标准编辑流程 + 知识库引用
第一层:common.minimal.md(核心指令)
构建、测试、编码、JNI 等基础规范
开发者通过 GEMINI.md 文件用 @ 引用组合不同层级 prompt。
AI Policy 核心规则
自审义务:作者必须在发送 Review 前自行审查并理解所有代码
违规 → 剥夺 Committer 权限,再犯 → 封禁账号
原创声明:无论是否使用 AI,作者必须声明代码为自己的原创作品
人类回复人类:AI Agent 创建的 CL 收到人类反馈,必须由人类操作者亲自回复
一句话概括:AI 是工具,不是作者——人类开发者对每一行代码负全责。
8 步标准编辑工作流
Step 1: 深度理解代码(强制第一步,不可跳过)
├── 1a. 定位核心文件
├── 1b. 完整审计(读取每个文件的完整源码)
├── 1c. 陈述理解(向开发者确认)
└── 1d. 反模式规避:绝不从函数名猜测行为
Step 2: 编写代码(只做需求要求的事)
Step 3: 编写/更新测试
Step 4: 构建
Step 5: 修复编译错误(为每个错误至少读取一个新文件)
Step 6: 运行测试
Step 7: 修复测试错误
Step 8: 迭代(循环 Step 4-7 直到全部通过)
Skills 技能系统(18+ 个)
chromium/src/agents/skills/
├── add_feature/
├── fix_bug/
├── write_tests/
├── refactor/
├── code_review/
├── ...(18+ 个可复用技能)
每个 Skill 是一个独立目录,包含 SKILL.md 描述文件和可选的脚本资源。支持 Gemini CLI、Claude Code、GitHub Copilot 三种工具复用。
Prompt 评估体系
agents/prompts/eval/
├── 15+ 个评估场景
├── 自动化测试框架
├── 回归测试:每次 prompt 修改后验证效果
大规模 AI 驱动项目
agents/projects/
├── 使用 AI Agent 完成的大型 Chromium 功能开发
├── 设计文档 + prompt 驱动代码生成
摘录
Chromium 是全球最大的开源 C++ 项目之一,代码量超过 3500 万行。面对如此庞大的代码库,Chromium 团队在源码仓库中构建了一整套 AI Agent 基础设施——不只是”用 AI 写代码”,而是建立了一套完整的提示词管理、技能系统、知识库、评估体系和大规模自动化项目。
Chromium 没有使用一个巨大的单体提示词,而是设计了一套四层分层组合的架构,开发者按需组合。核心思路是:尽量固化 System Prompt,将动态的、具体的任务要求剥离出来,通过渐进式披露的方式来进行读取和加载。
Step 1 的设计尤为关键——它强制 AI 在写任何代码之前,必须先完整阅读所有相关文件并向开发者确认理解。使用过 AI 写代码的同学应该深有体会,充分的上下文理解是保证代码质量的关键,也有助于减少幻觉问题。
AI 是工具,不是作者——人类开发者对每一行代码负全责。