# AI Coding 笔试怎么做？我的 6 步解题法

下次遇到 AI Coding 笔试，按下面六步做。

![六步做题流程：读文件、拆 Task、逐项实现与人工验收，最后运行完整测试并提交评测](https://herblab.online/qwen-imgs/ai-coding-exam-10-six-step-exam-checklist-v1.png)<!-- display-width:680 -->

## 六步做题清单

### 第一步：读关键文件，写 spec.md

```text
阅读 @README.md 和 @关键文件，整理任务。你创建新文件 spec.md，并把下面内容写入！
1. 最终交付物
2. 硬约束
3. 隐含要求
4. 完成标准
5. 风险点
不要写代码。
```

### 第二步：拆 Task，写 task.md

```text
根据 spec.md 拆分 Task。你创建新文件 task.md，并把拆解结果写入！
每个 Task 只写：目标、验收标准。
使用 [ ] 标记未完成项，验收后改成 [x]。
```

### 第三步：只完成当前 Task

```text
只完成 task.md 中当前一个 Task。
先写注释，标明对应的 Task 和实现逻辑，再在注释下面写代码。
完成后停下，等我验收；不要提前做后面的 Task。
```

### 第四步：验收并打钩

```text
当前 Task 已通过验收。
总结已完成的逻辑，把 task.md 对应项改成 [x]。
告诉我下一个 Task；不要开始写代码。
```

验收通过后回到第三步，继续下一个 Task。所有 Task 都打钩后，进入第五步。

### 第五步：跑完整测试

```text
所有 Task 已完成。以下是完整测试结果：
[粘贴测试结果]

根据失败项做一次最小修复，然后重跑完整测试。
```

### 第六步：提交评测

```text
检查：Task 全部完成、完整测试通过、没有修改禁改文件。
没问题只回复“可以提交”，不要再改代码。
```

AI 回复“可以提交”后，提交评测。

## 为什么这样做？

### 1. AI Coding 不只看最后一份代码

以[牛客官方推出的 AI Coding 考试](https://hr.nowcoder.com/article/18646?urlSource=home-api)为例，评分分成结果分和过程分。结果分看任务完成度，过程分看和 AI 协作的质量；如果结果分不达标，过程分也不计入总分。

答题时，最终代码和对话轨迹都要管。开局只说“帮我做完”，AI 容易自行补全需求，漏掉约束。先读关键文件，再整理问题和拆 Task，才能把任务理解和纠偏过程留清楚。

![AI Coding 工作台把题目规则、项目文件、AI 助手和测试评测放在一起](https://herblab.online/qwen-imgs/ai-coding-exam-02-workbench-map-v1.png)<!-- display-width:680 -->

### 2. 为什么要把总结写进文件

限时考试里的模型上下文通常不宽裕。对话拉长后，早期约束和待办可能逐渐淡出。我把稳定信息放进 `spec.md`，把进度放进 `task.md`。

`spec.md` 保存交付物、硬约束和完成标准；`task.md` 保存当前做到哪一项、怎样验收、哪些已经打钩。AI 偏离方向时，重新读取文件就能找回状态。

Prompt 里要明确说“你创建新文件，并把内容写入”。只说“写入 spec.md”时，AI 有时只会回复聊天框。文件真正出现后，这份外部记忆才算建立。

![spec.md 保存问题定义，task.md 保存任务与验收，完整测试结果原样交给 AI](https://herblab.online/qwen-imgs/ai-coding-exam-03-spec-task-feedback-v2.png)<!-- display-width:680 -->

### 3. 为什么一次只做一个 Task

一次改很多模块，测试失败时很难定位。每次只完成一个 Task，改动范围更小，验收边界也更清楚。

当前 Task 通过人工验收后再打钩。下一个 Task 出错时，排查范围基本就在上次验收之后。第三步和第四步的循环，会留下一串可以定位问题的检查点。

### 4. 为什么验收权要留在人手里

AI 说“完成了”，通常只说明代码已经生成。题目规则、页面行为和测试结果是否正确，仍然要由人判断。

所以第四步要等人工验收通过，再让 AI 把对应项改成 `[x]`。AI 负责实现和记录状态，人负责决定能不能进入下一步。

### 5. 为什么最后只做最小修复

每个 Task 单独通过，组合起来仍可能失败。全部完成后要跑完整测试，并把输出原样交给 AI，让它看到具体失败项。

临近提交时大范围重构，容易改坏已经通过的部分。根据失败项做最小修复，再跑一次完整测试；全部通过就停手提交。

这套流程把目标写进文件，把进度拆成小项，每一步留下验收结果。前面的六段 Prompt，就是这些判断在考场里的执行版本。

实测题目：[牛客五子棋 AI Coding 题](https://www.nowcoder.com/problem/aicoding/problem?questionId=11781725)

---

完整网页版本、清晰原图、Word 和离线 HTML：
[AI Coding 笔试怎么做？我的 6 步解题法｜文潇的技术博客](https://aiarchblog-6hz4s01hv.maozi.io/articles/ai-coding-exam-playbook/)
