Files
zhuangang/topics/ai/ai-coding/01-workflow-rules-skills.md
T

96 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: ai.ai-coding.workflow-rules-skills
title: AI 编程工具工作流:Claude Code / Cursor / Codex、规则文件、Skills 和 MCP
type: lesson
domain: ai
stack: [ai-coding]
tags: [AI 编程, Claude Code, Cursor, Codex, AGENTS.md, 规则文件, Skills, MCP, Vibe coding]
level: basic
prerequisites: []
est_hours: 2.5
related: [ai.ai-coding.verify-evidence, ai.agent-design.context-skills-multiagent, ai.mcp.protocol-server, ai.ai-coding.interview]
week: [1, 8, 10]
order: 1
---
# AI 编程工具工作流:Claude Code / Cursor / Codex、规则文件、Skills 和 MCP
> BOSS直聘 2026-10-23 的调研中,约 16 个岗位提到 AI 编程工具(Claude Code / Cursor / Codex / Vibe coding),不少岗位要求附上“用 AI 做过的项目 + 怎么确认它有效”,有的要求编写 Skills、沉淀开发工作流。工具更新非常快,功能和配置文件格式以各工具官方文档为准。
## 解释说明
### 工具形态
| 形态 | 代表 | 特点 |
| --- | --- | --- |
| IDE 内的 Agent | Cursor | 在编辑器里对话、改多文件、运行命令,结合代码补全 |
| 终端 Agent | Claude Code、Codex CLI | 在终端里读代码、改文件、跑测试,适合脚本化和大改动 |
| 云端 / 后台 Agent | 各工具的云端代理 | 在远程环境里异步完成任务,提交分支或 PR |
岗位关心的不是“用过哪个工具”,而是**能不能用它稳定地交付正确的代码**。
### 一个可靠的工作流
1. **先给上下文**:需求、相关文件、约定(规则文件)、完成标准。
2. **先计划后执行**:让 AI 先列出计划和要改的文件,你审核后再执行;大任务拆成小步。
3. **小步提交**:每完成一步就运行测试并提交,出问题容易回退。
4. **验证**:测试、类型检查、自己读代码、真实环境运行(见下一课)。
5. **沉淀**:AI 反复犯的错、团队的约定,写进规则文件或 Skill,下次自动遵守。
### 规则文件和 Skills
| 文件 | 作用 |
| --- | --- |
| `AGENTS.md`(Cursor、Codex 等支持)/ `CLAUDE.md`(Claude Code) | 项目说明:技术栈、常用命令、约定、完成标准。每次会话自动读取 |
| `.cursor/rules/*.mdc` | Cursor 的规则,可以按文件路径(globs)生效 |
| Skills(如 `SKILL.md`) | 某类任务的操作手册,按需加载:例如“新增接口的步骤”“发版检查清单” |
| MCP 服务 | 让 AI 工具访问外部系统:数据库结构、工单、文档、浏览器 |
Skills 的原理(只放描述、需要时加载全文)见 [Agent 设计专题](../agent-design/02-context-skills-multiagent.md)。写 Skill 的过程本身就是“把团队经验变成可复用工作流”,这正是部分岗位要求的能力。
### 什么时候不该让 AI 写
- 你自己完全不懂的领域的核心逻辑(无法验证就无法负责);
- 涉及密钥、生产数据的操作;
- 需要深度理解业务上下文、而上下文无法提供给 AI 的部分。
## 案例
为订单服务新增“优惠价格计算”接口:在 `AGENTS.md` 写明金额用 Decimal、新接口必须有测试;调用 `add-api-endpoint` Skill;AI 先给出计划(schema → service → route → tests),审核后执行。AI 的第一版在“优惠券大于订单金额”时返回负数——这是由补充的边界测试发现的。修复后把“金额计算必须测试边界值”加进规则文件。
## 代码示例
示例目录 [examples/ai-workflow](examples/ai-workflow/):
- [AGENTS.md](examples/ai-workflow/AGENTS.md):项目说明、命令、约定、完成标准
- [.cursor/rules/backend-api.mdc](examples/ai-workflow/.cursor/rules/backend-api.mdc):按路径生效的规则
- [skills/add-api-endpoint/SKILL.md](examples/ai-workflow/skills/add-api-endpoint/SKILL.md):新增接口的操作手册
`AGENTS.md` 的核心部分:
```markdown
## 常用命令
- 测试:`uv run pytest -q`
- 检查:`uv run ruff check . && uv run mypy app`
## 约定
- 新接口必须有 pydantic 请求 / 响应模型和至少一个测试。
- 不要在代码、测试、日志中写入真实密钥、内网地址、客户数据。
- 每次改动后运行测试;测试不通过不要说“完成了”。
```
## 易错点
- 一次让 AI 完成一个很大的功能,结果难以审查,出错难以定位。
- 不给上下文就让 AI 写,它会按“常见写法”猜你的项目约定。
- AI 说“已完成、测试通过”就相信:要自己运行确认。
- 规则文件写得太长、互相矛盾,或者长期不更新。
- 把公司代码、密钥、客户数据粘贴到未经公司允许的 AI 工具中:先确认公司的使用政策。
- 依赖 AI 写自己看不懂的代码,面试被追问时讲不清。
## 面试常问
- 你平时怎么用 AI 编程工具?讲一个具体的例子。
- 你怎么让 AI 遵守项目的约定?
- 你写过 Skill / 规则文件吗?