
摘要:在 2026 年 AI 原生开发(AI-Native Development)浪潮中,**Skills(技能)、Rules(规则) 与 MDC(Model-Driven Context,模型驱动上下文) 已成为构建智能编程代理的三大核心范式。三者常被混用,甚至被误认为可相互替代。本文将系统性剖析三者的定义、技术本质、适用场景与局限性,并通过真实工程案例论证:Skills 并不能完全取代 Rules 或 MDC,三者实为互补共存的“能力三角”**。文章还将提出一套融合三者的最佳实践框架,帮助团队构建高可靠、可维护、可演进的智能开发体系。
随着 Cursor、Antigravity、Coze 等平台纷纷推出“AI 能力扩展”机制,开发者面临一个关键问题:
“我该用 Skill、Rule 还是 MDC 来实现这个功能?”
例如,当团队希望“禁止在生产代码中使用 console.log”时:
看似都能达成目标,但其背后的技术逻辑、维护成本、执行可靠性却天差地别。
若混淆使用,轻则导致提示词膨胀、响应延迟,重则引发安全漏洞或规范失效。因此,明确三者的定位与边界,是构建健壮 AI 工程体系的前提。
定义:
Skills 是将人类专家在特定任务中的标准操作流程(SOP) 封装为可复用、可调用、可版本化的 AI 能力单元。
技术特征:
/review)或系统事件显式调用;典型结构(以 Cursor Native Skill 为例):
yaml编辑
name: "SecureLogger"
trigger: "/no-console"
prompt_template: |
You are a security auditor. Replace all console.log with logger.info.
Code:
```js
{{selection}}
response_parser: { type: "diff" }
text编辑
**本质**:**任务导向的能力模块**,强调“做什么”和“怎么做”。
---
### 2.2 Rules(规则):约束性策略的声明式表达
**定义**:
> Rules 是对 AI 行为施加的**硬性或软性约束**,用于确保输出符合安全、合规、风格等要求。
**技术特征**:
- **被动生效**:无需用户触发,自动应用于所有相关交互;
- **轻量高效**:通常以正则、关键词、AST 模式匹配实现;
- **低延迟**:在提示注入前或输出后快速过滤;
- **不可绕过**(理想情况下):即使模型“想”违规,也会被拦截。
**典型形式**:
- Antigravity 的 `rules/` 目录中的 `.rule` 文件;
- Cursor 的 `settings.json` 中的 `ai.rules` 配置;
- GitHub Copilot 的企业策略(Policy)。
**示例**(禁止 `console.log`):
```json
{
"id": "no-console-in-prod",
"type": "output_filter",
"pattern": "console\\.log\ $ ",
"action": "block",
"message": "Use logger instead of console.log in production code."
}
本质:边界守卫,强调“不能做什么”。
定义:
MDC 是一种根据当前开发上下文(文件类型、项目结构、依赖关系等)动态生成并注入提示词的机制,用于引导模型做出更贴合场景的决策。
技术特征:
典型实现:
context/ 模块;示例:
当用户在 utils/auth.py 中输入 def login(,MDC 自动注入:
text编辑
Relevant context:
- This project uses OAuth2 with JWT tokens (see auth/jwt_handler.py)
- All login functions must call rate_limiter.check()
- Return type should be AuthResponse (defined in models.py)
本质:智能导航仪,强调“应该往哪走”。
表格
维度 | Skills | Rules | MDC |
|---|---|---|---|
触发方式 | 显式(命令/事件) | 隐式(全局生效) | 隐式(每次请求) |
作用时机 | 任务执行期 | 输入前 / 输出后 | 提示生成期 |
控制强度 | 建议性 → 强制性(取决于实现) | 强制性(理想) | 建议性 |
执行开销 | 高(可能调用脚本) | 极低(正则匹配) | 中(需上下文提取) |
可定制性 | 极高(完整 SOP) | 中(模式+动作) | 高(上下文策略) |
适用场景 | 复杂任务(审查、生成、测试) | 安全红线、风格底线 | 智能补全、上下文理解 |
失败后果 | 任务未完成 | 风险未拦截 | 建议不精准 |
🔑 核心区别:
当开发者在 src/api/user.js 中输入 console.,MDC 自动注入:
text编辑
Project context:
- 使用 Winston 作为日志库(package.json)
- 日志级别:info/warn/error
- 禁止记录 PII(个人身份信息)
- 示例:logger.info('User login', { userId: '***' })
→ 模型更可能建议 logger.info 而非 console.log。
即使模型仍输出 console.log,Rules 引擎会拦截:
json编辑
{ "pattern": "console\\.log\ $ ", "action": "replace", "with": "logger.info(" }
→ 自动替换或阻断提交。
开发者选中一段含 console.log 的代码,输入 /migrate-logs,触发 LogMigrator Skill:
logger.info(...);import logger from '../utils/logger'。→ 完成端到端迁移。
✅ 协同价值: MDC 减少错误发生,Rules 防止错误落地,Skills 主动修复历史问题。
console.log 输入;📌 结论:Rules 是安全与合规的最后防线,不可由 Skill 替代。
/xxx 会打断心流;📌 结论:MDC 是实现“智能感知”的基础,Skill 无法复制其上下文理解深度。
某团队创建 NoPrintSkill,要求开发者每次提交前运行 /check-print。
后果:
print() 泄露到生产环境;试图通过 Skill 注入项目文档到提示词。
后果:
⚠️ 教训:用错工具,事倍功半。
我们推荐以下分层架构:
text编辑
+---------------------+
| Skills | ← 复杂任务(审查/生成/迁移)
+----------+----------+
↑
+------------------+ | +------------------+
| Rules | ←─────+────→ | MDC |
| (安全/风格底线) | | (上下文智能引导) |
+------------------+ +------------------+
↑ ↑
+------------ 内核 --------------+
(AI Agent)
表格
功能 | 推荐方案 |
|---|---|
禁止硬编码密码 | Rule(正则匹配 + 阻断) |
自动添加 license header | Skill(/add-license) |
智能补全 React 组件 props | MDC(注入 TS 类型定义) |
批量修复 ESLint 错误 | Skill(/fix-lint) |
防止 SQL 注入 | Rule + Skill(Rule 拦截,Skill 修复) |
yaml编辑
# .cursor/skills/secure-reviewer.yaml
name: "SecureCodeReviewer"
trigger: "/sec-review"
# ... Skill 配置
# rules/security.rule
pattern: "password\s*=\s*['\"].+['\"]"
action: block
severity: critical
# mdc/context-strategy.yaml
inject_on: ["*.py", "*.js"]
sources:
- type: ast_symbols
- type: git_history, max_commits: 10
- type: project_docs, paths: ["SECURITY.md"]
尽管三者目前独立存在,但前沿平台已在探索融合:
🌐 终极形态: 一个自适应、自学习、自防护的智能开发体,其中:
回到最初的问题:“Skills 能否完全替代 Rules 和 MDC?”
答案清晰而坚定:不能,也不应。
三者如同“大脑、神经与肌肉”,缺一不可。真正的工程卓越,不在于追求单一技术的极致,而在于让不同能力在正确的位置发挥最大价值。
在 AI 编程的新纪元,让我们摒弃“非此即彼”的思维,拥抱“协同共生”的智慧——因为最好的 AI 开发者,从来不是一个人,而是一个系统。
附录:术语对照表
表格
术语 | 全称 | 典型平台实现 |
|---|---|---|
Skills | Standardized Operational Procedures for AI Agents | Cursor Native Skills, Antigravity Skills |
Rules | Declarative Policy Constraints | Antigravity Rules, GitHub Copilot Policies |
MDC | Model-Driven Context | Cursor Contextual Awareness, Cody Enhanced Context |
延伸阅读