面向软件研发团队,引入 AI 编程能力,并通过真实项目实践,完成从"��️ 会用工具"到"�� 稳定产出"的转变,并为后续 �� 项目陪跑打下坚实基础。
���� 现役代码生产者:程序员
§ ���� 程序员、技术人员、架构师等
§ �� 对 AI 编程有真实诉求的团队
§ �� 核心目标:驾驭 AI,而不是被 AI 驾驭和替换
§ �� 丰富经验 x 自身专长 × AI = 全站工程师:结合自己原有的专业技能,通过 AI,快速突破前后端、全栈或跨平台开发等能力短板,成为具备全站能力的工程师
§ �� AI 助力进军新领域:借助 AI 跳出原有舒适区,加速涉足陌生领域(如大语言模型/LLM 应用开发等)
���� 未来代码生产者:产品经理
§ �� 有产品想法但缺乏工程能力的产品经理、业务负责人等
§ �� 希望借助 AI 快速完成原本难以独立实现的创新方案
§ ✅ 希望借助 AI 快速打破僵局的自动化测试人员
§ �� 一人成军:学会 AI 辅助编程后,可以独立开发各种小应用
§ �� 能直接生成产品原型,不再局限于撰写需求文档或 PDF,真正实现从想法到可操作原型的快速落地
§ ��️ 产品上线后若遇到小规模功能增强,可以自主修改和完善,无需反复提交需求、等待流程或依赖他人
§ �� 100% 代码改为由 AI 生成,人类只提供指导
§ ✅ 使用 AI 创建、理解、修改、扩展、重构真实项目代码
§ �� 在陌生技术栈与未知场景中,借助 AI 推进开发
§ ⚠️ 理解 AI 编程的边界、风险与人类介入点
前置条件
§ �� 具备编程经验,或具备简单认知(产品经理、需求分析、测试等)
§ �� 自带项目代码或练习项目
§ ��️ 提前安装指定 AI 编程工具
§ 现场编写或维护一个拥有前/后/AI 三端的产品
§ 可同时编写三端代码
§ 可使用自己完全不熟悉的语言和框架
§ 日产代码最高可达 1000~2000行(培训现场),500~2000行(日常)
§ �� AI 编程实战训练营(2 天)
§ 工具 × 方法 × 智能体 × 复杂问题解决
§ 目标:敢用、会用、用得稳
完成训练后,学员应能够:
§ ✅ 使用 AI 理解、修改、扩展、重构真实项目代码
§ �� 在陌生技术栈与未知场景中,借助 AI 推进开发
§ �� 掌握简单智能体与深度智能体两种工作模式
§ ⚠️ 理解 AI 编程的边界、风险与人类介入点
§ �� 100% 代码改为由 AI 生成,人类只提供指导
目标:让 AI 成为"随叫随到的高级开发助手"
AI-Native is the state of relentlessly embedding AI in new ways of thinking and working to navigate and lead in the Age of AI.
AI-Native(AI 原生)是在 AI 时代中,以全新的思维方式和工作方法不断地深度嵌入人工智能,从而实现指引与领导人工智能未来的状态。
§ �� Exponential |指数级增长
§ 高级工具 胜过 低级工具,越早使用,工具越高级,收益越大
§ ⚡ Disruptive |颠覆式使用
§ 深智能体 胜过 代码补全,主动采用最激进、最非传统的工作模式
§ �� Generative |生成式优先
§ 生成代码 胜过 提供建议,AI 生成100% 的代码,人类角色从“写代码”转向“审查与决策”
§ �� Emergent |涌现式进化
§ 拥抱变化 胜过 固守工具,持续试验新模型、新工具、新产品,允许工作方式不断重构
在正式编写代码之前,需分为两大环境进行准备:
§ 1️⃣ AI辅助开发环境
§ 配置以AI为核心的开发工具,如 Cursor、Visual Studio Code(VSCode)、Copilot、ChatGPT 插件等。
§ 这些环境主要用于代码的生成、修改、重构与协作,支持各类主流开发语言和框架。
§ 建议:提前安装好所需插件,并注册相关账号,确保与AI开发工具的高效联动。
§ 2️⃣ 运行环境(测试/部署环境)
§ 针对项目类型,配置代码运行与调试环境。例如:Node.js(Web)、Python环境、微信小程序开发环境、Android、iOS开发环境、嵌入式硬件开发板驱动和相应的硬件等。
§ 目的在于“让AI产出的代码可以落地”,即时验证、测试和迭代。
§ 特别提醒:对于小程序开发、Android、iOS开发、嵌入式开发等场景,需提前准备好模拟器、真机、硬件板卡等必备设施,并完成必要的驱动与依赖安装。
Tips:两类环境需合理切换:AI环境为主导生成和快速修改,运行环境用于即时测试反馈,发现问题可随时回流到AI环境解决。环境配置本身可以由AI协助生成指南和脚本,减少手动配置成本。
§ �� 登录 GitHub 页面,创建新项目
§ �� 在本地使用 GitHub Desktop 将项目克隆到本地
§ �� 使用 Cursor 或其他工具打开项目
�� 人工智能编程的版本控制尤其重要:
§ 防止 AI 误操作导致代码结构混乱或功能失效
§ 生产率大幅提升,需要频繁提交版本以记录开发进度
在 AI 辅助编程过程中,必须建立良好的版本控制习惯,确保代码变更可追溯、可回滚。
目标:使用计划模式完成产品定义、技术选型与项目初始化,建立真实项目开发的起点
§ �� 使用计划模式:产品定义与需求梳理
§ 计划模式的核心价值与使用场景
§ 无计划模式下的提示词对比
§ 使用 AI 辅助进行产品定位与命名
§ ✏️ 练习:生成项目的中英文名、项目名、github repo 名、目录名
§ 生成简短的需求列表(功能清单)
§ 需求确认与用户同意流程
§ ✏️ 练习:生成计划文档
§ �� 开发前的文档工作
§ 需求文档与技术文档的放置策略
§ AI 评审并修订计划的方法
§ ✏️ 练习:建立 README.md (或 Cursor.md 等),存储上述需求和技术栈内容
§ ��️ 技术选型决策
§ 前后端技术栈选型
§ 使用 AI 进行技术栈对比分析
§ 框架与工具链选择
§ 技术选型的文档化
§ ✏️ 练习:更新技术栈内容到 Cursor.md
§ ��️ 项目结构与功能初始化
§ 初始化项目结构
§ 创建基础配置文件
§ 生成首批功能代码
§ ✏️ 练习:执行计划(提示:只让 AI 实现一小部分功能,防止任务过大)
§ �� 依赖管理
§ 安装所需项目依赖
§ 管理依赖版本
§ ✏️ 练习:指导 AI 完成依赖安装工作
§ �� 版本控制配置
§ 明确需被 Git 忽略的文件及配置(.gitignore)
§ 初始化 Git 仓库
§ 制定初始提交策略
§ ✏️ 练习:指导 AI 配置、更新 .gitignore 文件
§ �� 选择 1~2 个典型实体(如:用户、产品、订单等)。
§ 与 AI 协作,设计实体的字段结构。
§ 用 AI 生成该实体的后端 CRUD API,包括创建、读取、更新、删除等接口。
§ 用 AI 生成该实体的前端页面,包括:新增页面、列表页面、详情页面、编辑页面、删除确认页面。
§ 可选:为实体相关页面添加基础的数据校验、权限控制等常见功能。
§ ✏️ 练习:以 AI 为主力,尽量少干预,完成一个实体的端到端开发。
§ �� 解释整个调用过程
§ �� 解释某段代码的具体功能
§ �� 分析模块内不同函数之间的调用逻辑
§ ��️ 梳理大型项目中各子系统的技术架构与依赖关系
§ ✏️ 练习:与 AI 对话并理解代码结构与含义
§ �� 制造或发现代码缺陷,让 AI 帮助修复普通业务或运行 bug。
§ 例:刻意制造一个常见致命错误,通过 chat 方式指导 AI 诊断与修复。
§ �� 发现/制造前端或后端代码的 Linter 或静态检查类问题,让 AI 修复。
§ 例:删掉必要类型声明、变量未使用等,再让 AI 修正。
§ ✏️ 练习:分别练习用 chat 修复 bug 和用 AI 修复 Linter 问题。
功能扩展类实战
§ 例如:
§ �� 添加批量修改 API
§ �� 在页面中添加新的图表
§ ✔️ 添加前端数据校验
§ �� 增加数据加密功能
§ �� 增加用户权限验证功能
§ ✏️ 练习:增加一个上述功能(尽量小)
设计实体
§ �� 确定实体:明确要增加改善的对象(例如:用户、产品、订单等)
§ �� 尝试不要提供过于精细化的提示词,让 AI 协助设计实体的字段
§ ✏️ 练习:与 AI 对话,设计一个实体的字段结构
界面开发
§ 以 Web 页面为例,开发一个完整的增删查改界面,包括:
§ ➕ 创建页面:新增实体
§ �� 列表页面:展示实体列表
§ �� 详情页面:查看实体详细信息
§ ✏️ 编辑页面:修改实体信息
§ ��️ 删除页面:删除实体
§ ✏️ 练习:开发上述 5 个页面,先确定实体,再进行界面开发
§ 其他场景:
§ 如果是 C++ 的桌面端,则使用 Qt 实现一个支持增、查、改、删操作的单个窗口。
§ 如果是嵌入式系统,则做一个简单的数据获取和显示页面。
§ 如果是移动端,可以实现一个单实体的基本列表和编辑页面。
界面美化
§ �� 以 Web 页面为例,可用以下方式整体美化和提升体验:
§ 修改整体界面配色、布局风格,使视觉更美观
§ 添加动画、渐变、阴影等前端高级特效
§ 使用 AI 协助抽取、复用 CSS 或统一设计风格主题
§ 让 AI 从零生成或全面优化页面布局
§ 在所有按钮、提示信息等 UI 元素前统一加入 emoji 图标,提升识别度与趣味性
§ 增加主题切换(theme),支持用户主题偏好记忆
§ ✏️ 练习:逐步与 AI 合作,提高界面一致性和体验
§ 其他场景举例:
§ 桌面端(如 Qt):通过统一控件风格、局部动画、配色方案自定义、窗口主题切换等方式美化界面,AI 可协助设计 CSS/QSS 风格或自动生成 UI 代码。
§ 移动端:使用 AI 建议或直接生成主题设定、组件动画、统配色,通过 emoji 优化按钮与通知提示,支持深色/浅色切换并记忆。
§ 嵌入式端:可统一显示面板的色调、图标,通过简单动画或样式让界面更直观,并可请 AI 优化整体布局结构和交互流畅性。
§ 通用方案:
§ �� 推荐构建全局样式/主题系统,将配色、字体、控件尺寸等集中于一处统一管理,通过变量或配置应用于各端(Web、嵌入式、桌面等),避免在界面代码中硬编码常量。这样方便多端复用与整体风格维护和切换。
§ �� 为单个文件自动添加注释
§ ��️ 为变量 / 方法补充语义注释
§ ✨ 优化整个文档的注释一致性
§ �� 将注释/文字翻译为地道英文
§ �� 修正文档中的模糊词与不准确描述
§ ✏️ 练习:练习上述注释的书写方法
§ �� 使用计划模式思考设计过程
§ 无计划模式下的提示词对比
§ 需求文档与技术文档的放置策略
§ AI 评审并修订计划的方法
§ ❓ 使用 Ask 模式提问
§ �� 代码审查要点
§ 检查代码逻辑正确性
§ 检查代码风格一致性
§ 检查性能优化点
§ ✏️ 练习:对已完成的代码进行审查和优化
§ �� Cimmit 与 Push 代码
§ ⏪ 回跳到某个对话时刻的代码
§ �� 灾难性代码恢复
§ �� 使用微服务/目录来约束修改范围
§ ⚡ AI 执行计划时,人类可同时处理中低优先级的其他任务,以提高开发效率。
§ �� 避免代码交叉修改
§ �� 函数/模块级编程咒语
§ �� 鱼骨咒、�� 鲫鱼咒、�� 孟婆咒、��️ 模式咒、�� 日志咒、�� 编号咒、♻️ 去重咒、�� 紧箍咒、�� 疗伤咒、�� 迷路咒
§ �� 高级咒语
§ �� 设计咒、�� 轮子咒、�� 多疑咒、⚖️ 方案咒、�� 分析咒
§ �� 人机互补咒语
§ �� 搜索咒、�� 打扫咒、�� 提交咒、��️ 日志咒、�� 定点咒、⚠️ 提醒咒、��️ 劝说咒、��️ 放弃咒、�� 线索咒、�� 讲解咒、�� 幻想咒、�� 来源咒、�� 开心咒、�� 同步咒
§ ✏️ 练习:挑选并尝试使用几个咒语
此处以 web 系统为例,自动化测试主要针对后端 Web API(如 RESTful API);对于其他系统(如嵌入式设备等),可结合单元测试等方式实现。
§ �� 根据系统类型,编写各类系统的自动化测试
§ 让 AI 生成并执行主要 Web API 自动化测试用例(如 Postman、pytest、Jest 等)
§ 让 AI 生成针对嵌入式设备、客户端程序、脚本工具等的自动化测试用例(如单元测试、集成测试、功能测试脚本等)
§ 针对多种系统类型,集中展示并实践 AI 辅助下的不同测试策略与用例示例
§ ⚡ 一键运行全部测试
§ 让 AI 生成一键运行所有测试的脚本,便于本地及 CI/CD 集成自动测试。
§ �� 生成测试报告与覆盖率
§ 让 AI 配置并输出覆盖率统计与测试报告,辅助结果可视化和缺陷追踪。
§ ✏️ 练习:(以web为例)利用 AI 自动生成 web api/嵌入式单元测试脚本与覆盖率,并查看报告。
§ �� 示例:某 AI 产品 web 后端的自动化测试用例。
§ �� 发布脚本作用
§ 让 AI 梳理发布流程、生成初版脚本(如 deploy.ps1),并据需调整敏感信息和路径。
§ 用 AI 辅助二次审查优化,最终在终端一键运行脚本完成发布。
§ �� 发布测试
§ 发布后使用冒烟测试测试站点可用性
§ �� 示例:某 AI 项目后台发布脚本
目标:让 AI 参与设计级决策,而不仅是写代码
此部分一般需要有高级技术人员在场辅助决策
§ ⚖️ 方案比较与选择(Plan 或 Ask 模式)
§ 生成多个候选解决方案
§ 比较方案成本、风险与收益
§ 人类决策与 AI 执行的分工边界
§ �� 问题扫描与修复
§ 针对特定问题进行定向分析(安全、性能、规范……)
§ ✏️ 练习:扫描和解决问题(注意:先 Plan 后修复)
§ ��️ AI 生成结果的人类评审要点
§ 去掉魔法常量
§ 拆分超长方法
§ 简化超长分支
§ 拆分超长类
§ ✏️ 练习:对自己以往项目进行局部非模式重构
§ �� 使用设计模式辅助重构
§ 开闭类模式:功能开放,代码封闭
§ 解耦类模式:易变模块,各自变化
§ 消重类模式:信息只有一处,其他皆为镜像
§ 友好的陌生人模式:易用且用不坏
§ 高性能模式:牺牲其他换性能
§ ✏️ 练习:对自己以往项目进行局部非模式重构
§ �� AICoding100 的官方整体优化咒语
§ ✏️ 练习:使用其中 2 个咒语,并进行部分改善观察效果
�� 此章节以"在当前应用中现场增加一个**大语言模型(LLM)**功能"为例
§ �� 与 AI 对话了解背景
§ �� 让 AI 进行框架选型和对比
§ �� 搜索和准备示例代码
§ ��️ 准备开发环境
§ �� 框架选型
§ �� 启动 Hello World 项目
§ �� 在完全陌生技术栈中推进功能
§ ✏️ 练习:增加一个 AI 服务,并提供一个大模型服务(文字处理、图像识别……)
§ �� 阻止文件上传至 Git 库
§ �� 阻止 cursor 访问文件
§ �� 为不同的角色/开发者分配不同的数据(如 ai api key)
§ �� 利用私有部署模型对原始数据进行处理
§ �� 敏感数据脱敏
将"写代码"升级为"设计可运行的数据结构",在 AI 编程与数据安全之间取得平衡。详细内容请参考第五章节"编码数据化"部分。
目标:尝试单人完成自己的实际工作,用 AI 弥补个人技术短板,让技能缺失不再成为限制
§ �� 选择自己的实际项目
§ �� 选择多个开发模式进行多个练习(增加新功能 / 修改缺陷 / 重构……)
§ �� 结合讲师提供的咒语应对复杂情况
§ �� 需求:需求文档的生成与结构化存储
§ ��️ 设计:引入全局技术栈与历史决策上下文
§ �� 测试:自动化测试与测试用例生成
§ �� 发布:生成发布与回滚脚本
§ �� 运维:使用 AI 分析日志与异常模式
§ �� 客服:从需求与代码反向生成用户手册
使用恰当的提示词,提升输出结果,降低交互次数
§ 以下咒语全部为讲师本人在实际工作中原创(收录于《AI 辅助编程魔法书》)
§ 以下咒语,会在上述讲课、练习过程中,随时插入做深入讲解。
涉及函数级编码、重构,修改逻辑、修改缺陷、函数拆分。
§ �� 鱼骨咒 — 防止 AB 两个缺陷反复出现缺陷
§ �� 鲫鱼咒 — 防止大模型的记忆错乱和幻觉
§ �� 孟婆咒 — 用新会话消除冗余记忆,降低大型软件的 AI 开销
§ ��️ 模式咒 — 让大语言模型主动使用设计模式
§ �� 日志咒:用日志提供调试信息
§ �� 编号咒:更清晰定位问题/提升性能
§ ♻️ 去重咒:提取重复代码
§ �� 紧箍咒 — 重构中防止修改不相关内容
§ �� 疗伤咒 — 修复高级 Lint 问题
§ �� 迷路咒 — 定期对齐代码基线
涉及方案选择、框架设计、设计模式、代码分析。
§ �� 设计咒 — 要求编码之前先设计
§ �� 轮子咒:要求选择现成的技术
§ �� 多疑咒 — 做出正确决策
§ ⚖️ 方案咒 — 要求给出某个大型决策分支的备选方案
§ �� 分析咒 — 要求对代码进行特定分析
涉及人与 AI 的分工协作、各尽所长。
§ �� 搜索咒:由 AI 搜索以节省时间
§ �� 打扫咒:清理特定的注释/调试日志
§ �� 提交咒:要求提交代码,并自动生成注释
§ ��️ 日志咒:用日志代替单步运行
§ �� 定点咒:人工提供问题点
§ ⚠️ 提醒咒:提示人类已经想到的一些"坑"
§ ��️ 劝说咒:解除 AI 幻想
§ ��️ 放弃咒:提示如果棘手则暂时放弃
§ �� 线索咒:提供动态视觉线索
§ �� 讲解咒:讲解复杂代码
§ �� 幻想咒:描述 UI 组件外观
§ �� 来源咒:查问信息来源
§ �� 开心咒:获得工作好心情
§ �� 同步咒:告知 AI 人工操作的行为
将"写代码"升级为"设计可运行的数据结构",在 AI 编程与数据安全之间取得平衡。
§ 通过数据文档 / 配置结构描述行为、规则与流程,由统一的引擎或少量核心代码动态解析并运行
§ 开发环境只提供�� 示例数据,只在生产环境配置�� 完整数据,提供 AI 时代 �� 数据安全性的终极保证
1 �� 降低 AI 编码量:减少重复与易出错代码
2 �� 降低设计复杂度:一次设计,多次复用
3 �� 保护核心数据与算法:避免敏感逻辑暴露给 AI
4 �� 提升系统可扩展性与可维护性:维护数据即可增加功能
以下示例用于说明"编码数据化"在不同类型客户与不同业务场景中的通用适用性。本章节不追求实现细节,而强调一种可复用的设计思想。
�� 场景一:设备数据采集 通过数据文件对设备端口、通信协议、数据格式、设备地址等进行描述和编码。新增设备时无需编写新代码,只需新增或调整配置,即可完成接入。
�� 场景二:自动文档段落生成 在生成文档不同位置内容时,无需为每个位置设计独立接口,而是通过数据化的提示词模板、字段规则、大模型选择与输出格式配置,由同一套机制动态生成文档内容。
�� 场景三:工具调用(MCP 的底层原理) 当需要调用大量工具或能力时,无需为每个工具实现独立逻辑。只需定义工具接口的输入、输出结构及示例,通过数据化描述即可完成统一调用并获得结果。这正是 MCP(Model / Multi Capability Protocol)一类机制的核心思想。
�� 场景四:动态测试配置 通过数据化方式配置自动化测试的参数、环境与场景组合,使测试策略的变化不依赖代码修改。
�� 场景五:规则管理 将核心业务规则(比如机票结算过程中的多人/联程/儿童/婴儿/打折/兑换券/保险……)从代码中抽离,使用结构化数据进行管理,使业务变化通过配置完成,而非反复修改实现逻辑。
�� 其他场景 其他任何存在大量代码近似、工作重复的代码。