支持通配符SSL证书、多域名证书、IP证书。适配ACME接口, 支持Zerossl、Let's Encrypt和Google等渠道。登录已有账号
2026-07-29 19:15:46 文心快码 AI编程 Rules 上下文工程 代码规范
项目里用AI辅助写代码,最头疼的一点是它记不住上下文。
你跟它说了很多次目录结构、命名方式、接口注册规则,下次对话还是给你生成一堆需要自己再改的东西。文心快码(Baidu Comate)后来出了个Rules功能,基本就是冲着这个问题去的。
它的思路很简单——把项目约定写成一个结构化规则文件,放在项目仓库里,然后AI每次生成代码时都会读这些规则,自动对齐。
相当于把“每次对话都要重新交代一遍”变成了“一次写好,持续生效”。
规则文件放的位置是 .comate/rules/,后缀 .mdr。你可以按模块、按功能拆成多个文件。文件内部用 Markdown 组织,可以定义项目架构、目录约束、命名偏好、禁止事项,甚至写清楚某个模块的注册模式。下面是个示意,比如有个 React + Express 的项目:
## 项目概述
这是一个基于React的前后端分离系统,采用以下架构:
- 前端:Next.js 14 + TailwindCSS
- 后端:Node.js + Express
- 数据库:PostgreSQL
## 代码规范
- 前端组件路径:src/components/[feature]/
- API接口路径:src/api/
- 禁止使用:jQuery、Lodash
## 开发指南
1. 新增页面必须放在src/pages/目录下
2. 所有API调用必须通过src/services/目录下的服务层
3. 组件必须按功能拆分到src/components/[feature]/
一旦这个文件到位,AI 在生成前端组件时就不会再随便丢到 src/ 下面,也不会自作主张引入 Lodash。这比口头叮嘱可靠得多。
让规则生效的方式有好几种,可以按需组合。
比较基础的是本地生效:只要文件放在 .comate/rules/ 下,自己本地写代码时就自动带上。如果想在每次对话都用到,就去规则设定里把它设为“始终生效”,这样不用每次手动引用。
还有一种是按文件匹配,比如通配符 .py 或 client//*.tsx,只有命中的文件才激活这些规则。临时用一下的话,在对话框输 #规则名 也能手动调用。
这些生效机制在不同场景下各有好处。个人开发时用本地生效就行,团队协作时可以把共享规则设成始终生效,配合通配符可以避免规则在不需要的文件里捣乱。
Rules 能覆盖的场景其实挺多的。
项目初始化阶段,可以预设框架选型、目录结构、命名习惯,后面新增功能模块时,AI 会自动把代码放到正确位置。接口管理这块,设定好命名和注册规则后,AI 能自动完成统一挂载、类型定义和错误处理逻辑,不用人工再去补这些重复劳动。测试生成也有用,指定测试文件路径和模板后,像 JSDoc 和 Jest 单测文件可以跟着代码一起生成出来。团队协作时,把命名、缩进、注释习惯之类的风格固定下来,新人上手也能更快对齐,避免代码风格混乱。
有个实际的例子,是一个处理异步数据流的工具库,提供数据分块、防抖、过滤这类操作符。当时写了这样的规则文件:
## 项目架构
1. 核心控制器:controller.ts
2. 工厂模块:factory/
3. 辅助工具:helper/
4. 操作符:helper/operators/
## 开发规范
1. 新增操作符必须放在src/helper/operators目录下
2. 所有运算符都要从src/helper/index.ts导出
3. 测试文件命名规则:[功能名].test.ts
4. 测试覆盖率必须达到100%,分支覆盖率大于90%
对比一下有无规则的效果。加一个 skip 操作符时,没规则的情况下 AI 可能生成一个独立的 index.js,跟现有架构完全不搭。有了规则之后,它会自动注册到 OverAsyncIterator 接口里去。代码风格也有明显改善,之前偶尔会冒出中文变量名,现在强制驼峰。测试文件也一样,以前得自己手动创建,现在自动生成,而且文件名和路径都符合规范,覆盖率要求也能直接约束。
所以 Rules 并不是让你写一堆僵硬的形式化描述,而是用自然语言把约束条件讲清楚,结构上按 Markdown 分章节,保证机器能稳定解析。
实际用起来的步骤也平常:先梳理一遍项目的架构和技术栈,然后根据痛点写规则文件,设定生效范围,接着拿一两个具体任务验证一下,看生成的代码是不是符合预期,哪不对再调整规则。
另外,这功能不挑语言。
文心快码本身支持一百多种编程语言,所以 Rules 在前端 TypeScript/JavaScript、后端 Go/Java/Python/C++、移动端 Kotlin/Swift、运维 Shell/Python 脚本这些场景都能用。不管技术栈是什么,只要规则文件写得清楚,AI 就能在对应语言环境里遵守约定。
总之,这个东西解决的是 AI 编程里“持续记忆”的问题。它不是一次性指令,而是嵌入项目的基础设施。建议从项目一开始就建规则,哪怕只写几条核心约束,也会让后续开发省心不少。慢慢积累和完善规则库,AI 助手和项目架构就能配合得越来越好。