本章导读
AI能够极大地助力传统编程中的核心环节。
本章按照第一章的五个核心环节,分别介绍 AI 怎样提供帮助,以及可以直接使用的方法和工具。
第一节 明确问题
可以借助需求澄清助手,通过提问梳理目标、使用场景和限制,再整理成便于后续编程使用的需求说明。
| 名称 | 它怎样帮助澄清需求 |
|---|---|
| Superpowers 的 Brainstorming Skill | 通过逐步提问理解目标、现状和限制,讨论可行方式,再整理设计。公开提供了完整的流程文本。项目原文 |
| BMad 的 Analyst,名为 Mary | 一个专门的分析师角色,提供想法讨论、研究、用户需求分析和产品简报等工作流。BMad 支持多种 AI 工具集成。项目说明 |
| GitHub awesome-copilot 的 PRD Skill | 先访谈问题、成功条件与限制,再确定范围、整理需求文档。可以参考其公开指令设计需求澄清助手。Skill 原文 |
第二节 搜集信息
第一章中的运行环境与语言版本、包管理器、依赖清单与锁文件、虚拟环境和配置文件,共同构成项目运行的前提条件。可以借助现成的环境准备 Skill,让 Agent 根据项目要求识别并安装工具、准备隔离环境和依赖、补齐配置,再实际启动程序或执行最小检查,帮助新人获得能够开始编程的运行环境。
| 名称 | 它怎样帮助新人完成环境准备 |
|---|---|
| 微软 VS Code 的 setup-environment Skill | 读取项目安装说明,检查所需工具和版本,根据操作系统尝试安装缺失工具,随后执行构建并尝试启动程序,记录新发现的准备步骤。目标是帮助使用者成功构建并运行项目;虚拟环境和具体配置的处理需结合项目说明。Skill 原文 |
| 社区项目 HermeticOrmus 的 setup-env Skill | 从项目文件识别运行要求,安装指定版本的运行环境和包管理器,按锁文件安装依赖,为 Python 项目建立虚拟环境,准备本地配置,再通过构建、检查和实际启动验证环境,记录可重复使用的操作步骤。Skill 原文 |
这些 Skill 需要由具备项目文件访问和执行能力的 Agent 使用。账号、密钥和个人设置等无法从项目确定的信息,仍需使用者补充;是否准备完成,应以实际运行结果为依据。
第三节 设计处理方法与程序结构
明确任务并准备好运行环境后,可以借助现成的 Agent 和 Skill,将需求拆成处理步骤,确定函数和模块的分工,设计数据处理方法,并补充帮助理解代码的说明。
| 名称 | 对应第一章的重要技术 | 它怎样帮助新人 |
|---|---|---|
| Superpowers 的 Writing Plans Skill | 函数、参数与返回值;模块划分与程序接口 | 根据已明确的任务和项目代码,规划文件职责、函数名称、参数与返回结果,以及各部分之间的接口,形成可以逐步实施的计划。Skill 原文 |
| BMad 的 Architect(Winston)与 bmad-architecture Skill | 模块划分与程序接口 | 带使用者比较方案,确定各部分的边界、共享数据的归属和需要统一的设计决定,保存为后续编程共同遵循的架构说明。适合多个部分需要协调的任务。项目说明 |
| Jeffallan 的 Pandas Pro Skill | 数据清洗 | 检查表格中的缺失值和数据质量,结合任务规则设计处理步骤,生成并执行 pandas 转换代码,再检查处理前后的数据情况。适合 Python 表格数据处理练习。Skill 原文 |
| Jeffallan 的 Code Documenter Skill | 代码注释与函数文档 | 分析已有函数和模块,补充用途、参数、返回结果及使用示例,并要求验证文档中的代码示例,帮助新人理解和说明程序各部分的作用。Skill 原文 |
| GitHub awesome-copilot 的 Sensei Junior Mentor Agent | 条件与循环;函数、参数与返回值 | 通过提问、分级提示和逐行解释辅导初学者,可用于练习什么时候需要判断、哪些操作需要重复、哪些步骤适合组成函数。强调学习者能够解释最终代码,部分模式会刻意不给完整答案。Agent 原文 |
第四节 逐步编写并运行程序
第三节的计划可以直接交给具备文件编辑和执行能力的 Agent,让它逐步创建或修改代码、运行程序并检查结果,不一定需要再安装一个 Skill。编辑器与 IDE 用于查看代码、修改差异和运行输出;点击普通的“运行”按钮通常只会执行已有程序,开始 AI 编写代码需要向 Agent 发出实施请求。
可以继续使用 VS Code 中的编程 Agent,从计划转入实施;也可以使用 Superpowers 的 Executing Plans Skill 按计划逐项修改、验证和记录进度,或用 BMad 的 bmad-build Skill 承接任务并完成代码修改、检查和 Git 提交。
这一环节重点练习 Git 版本管理。可以让现有 Agent 处理 Git 操作,并通过可视化界面查看结果,也可以采用已经整合 Git 的编程助手。
| 名称 | 对应第一章的重要技术 | 它怎样帮助新人 |
|---|---|---|
| GitHub awesome-copilot 的 git-commit Skill | Git 版本管理 | 自动查看修改,选择相关文件,编写提交说明并实际保存为 Git 提交,随后检查提交结果。适合给现有 Agent 补充保存版本的流程;主要负责提交。Skill 原文 |
| Aider 的 Git 集成 | 配合代码编辑器与 IDE;Git 版本管理 | 修改项目文件时默认自动提交 AI 的改动;用 /diff 查看本轮修改,用 /undo 撤销最近一次改动。可配合已有编辑器使用,也支持运行程序和配置修改后自动执行检查。Git 功能、运行与检查 |
| VS Code 内置源代码管理 | 代码编辑器与 IDE;Git 版本管理 | 在编辑器中直接查看修改前后的差异,选择本次需要保存的内容并提交,无需记忆 Git 命令。可以配合 Agent 使用,直观看到它实际修改和保存了什么。官方教程 |
| GitHub Desktop | Git 版本管理 | 用独立的图形界面管理本地 Git 项目,查看提交历史,右键撤销某次提交的改动;撤销会形成新的提交,保留原有历史。添加本地项目、撤销教程 |
新人可以围绕三个动作练习:
- 查看改动:让 Agent 解释本次修改,并在界面中查看前后差异。
- 保存版本:完成一个小任务、运行确认后,保存为 Git 提交,并留下说明。
- 恢复修改:选定需要撤销的改动,让 Agent 说明影响后执行,或通过图形界面操作。
已有编程 Agent 的读者,可以采用“现有 Agent + git-commit Skill + 编辑器 Git 界面”的方式。编辑器的保存文件操作保存当前内容,Git 提交则留下可比较和恢复的历史记录;提交可以只保存在本地,不必立即上传到 GitHub。自动提交也不代表程序已经运行正确,仍需结合实际结果判断。
第五节 验证结果、定位错误并改进
程序写好后,需要实际运行并复查已有功能,根据日志和错误现象定位原因,再根据需要整理结构或测量性能。还可以让审查 Agent 对照需求与第三节的设计,检查代码逻辑、模块分工和接口关系。
下表分别保留验证、调试、代码与结构审查、重构和性能分析的工具。性能工具根据网页、JavaScript 或 Python 等场景选用,无需全部安装。
| 名称 | 对应第一章的重要技术 | 它怎样帮助新人 |
|---|---|---|
| Superpowers 的 Verification Before Completion Skill | 回归测试 | 要求实际执行本次检查、读取输出,再报告完成情况;修复后复查原问题和已有功能。 |
| Superpowers 的 Systematic Debugging Skill | 调试输出与日志;回归测试;Git 版本管理 | 复现问题,读取错误和日志,查看近期改动,收集证据后验证原因假设,再做最小修改并复查。 |
| Superpowers 的 Requesting Code Review Skill | 条件与循环;函数、参数与返回值;模块划分与程序接口;Git 版本管理 | 将需求、计划和 Git 改动范围交给审查者,检查代码逻辑、职责划分及与周围代码的衔接,返回问题位置、影响和建议。 |
| Anthropic 的 Code Simplifier Agent | 重构 | 整理近期代码,减少重复、复杂嵌套和不必要的抽象,要求保持原有行为。原版含 JavaScript、TypeScript、React 约定,整理后仍需运行检查。 |
| Chrome DevTools 的 chrome-devtools 与 memory-leak-debugging Skills | 调试输出与日志;性能分析 | 接入配套 MCP 工具后,操作浏览器、读取运行信息、分析性能;内存 Skill 帮助比较快照和追踪占用原因,适用于相应的 JavaScript、Node.js 场景。 |
| wshobson 的 Python Performance Optimization Skill | 性能分析 | 为 Agent 提供 Python 耗时和内存测量方法,指导先测瓶颈再优化;主要提供方法和参考资料。 |
整体结构检查需要读取主要模块、接口、依赖和相关调用代码,并对照第三节的设计。审查报告应指出问题位置、触发条件或结构依据、实际影响和改进建议;重要结论仍需通过运行检查验证。重构后复查行为是否保持,性能优化则比较修改前后的实际测量结果。
实践资料可参考 CyberAgent 的浏览器检查与修复案例、Google Chat 的内存排查案例,以及 Superpowers 的项目使用反馈。这些记录的范围不同,不代表表中每个独立 Skill 都经过同样的效果评估。