第13讲 · AI编程全流程
AI编程
全流程
以待办清单为例,了解AI编程的基本方法。
1AI编程能做什么
2一个程序是怎样做出来的
3怎样描述需求、检查结果
AI编程的基本流程
1准备:说明需求,提供项目资料
2开发:确认计划,分步编写代码
3检查:运行程序,修复问题并测试
4完善:增加功能,整理后交付
从需求到交付
1 明确需求:确定功能和完成标准 2 补充上下文:提供已有代码和运行环境 3 审核计划:确定开发顺序和文件分工 4 分步实现:每完成一项就检查一次 5 运行与调试:重现问题,查找原因 6 测试验收:按要求检查功能和特殊输入 7 迭代:改进功能,再检查原有功能 8 整理交付:保留源码、运行说明和检查记录
本讲案例:待办清单
1使用场景:记录个人学习任务
2主要功能:新增、查看、完成和删除
3保存方式:用JSON文件保存任务
4检查重点:任务操作和重启恢复
ToDoList任务示例
编号 名称 状态 1 阅读一章 未完成 2 整理笔记 已完成 每条任务记录编号、名称和完成状态 关闭程序后,任务和状态仍然保留
1. 明确需求
1本步任务:写清使用者、功能和完成标准
2ToDoList:四种任务操作,退出后保留数据
3Comate:在消息输入框发送需求,核对复述
需求提示词
先帮我整理需求,不要修改代码。 使用者:【谁使用】 目标和功能:【解决什么问题,需要哪些操作】 数据规则:【字段、输入限制和保存方式】 暂时不做:【本次不需要的功能】 验收标准:【具体操作和应该看到的结果】 请复述需求,有不清楚的地方先问我,等我确认。
先帮我整理Python命令行ToDoList的需求,不要修改代码。 个人使用,支持新增、查看、按编号完成和删除任务。 每条任务包含编号、名称、完成状态。任务名称不能为空,用JSON保存。 只用Python标准库,暂时不做网页、登录和云同步。 验收:新增两条后完成第一条,第二条仍未完成。退出并重启后内容和状态不变。输入不存在的编号时,已有任务不变。 请复述需求,有不清楚的地方先问我,等我确认。
2. 补充上下文
1上下文:帮助AI理解任务的背景信息
2从零开始:说明“新项目,暂无代码”
3需要补充:目标、功能、数据规则、环境与限制
4Comate:缺信息先提问,确认后再列计划
项目背景提示词
下载上下文模板项目状态:【从零新建/已有项目】 目标与需求:【谁用、要做什么、数据怎样保存】 已有资料:【无/相关代码、目录和数据样例】 运行环境:【Python版本、依赖和启动方式,未知则写待确认】 限制条件:【必须保留或不能修改的内容】 缺少信息时先提问。确认需求后先列计划,不创建或修改代码。
我要从零创建Python命令行ToDoList,目前没有代码和文件。 个人管理学习任务,支持新增、查看、完成和删除,用JSON保存。 任务包含编号、名称和完成状态,名称不能为空。 只用Python标准库,暂不做网页、登录或云同步。 项目目录和Python版本待确认,请先告诉我还需要补充哪些信息。 先整理需求,缺信息先问我。确认后再列计划,暂不创建代码。
3. 审核计划
1对照需求:四种操作、JSON保存与恢复
2检查范围:不加网页、登录或额外依赖
3检查步骤:文件职责、先后顺序、验证方法
4给出结论:有缺项先改,通过后只做第一步
计划审核提示词
根据【已确认需求】和【项目现状】列出计划,先不创建或修改代码。 功能与范围:是否齐全,有没有增加【本次不做的功能】? 步骤:写清每步涉及文件、职责和依赖关系。 验证方法:列出具体操作和预期结果。 数据保护:保留【原有数据、接口和功能】。 标明缺失或待确认项,修改后列出第一步。 等我审核计划后再实施。
请列出从零新建ToDoList的计划,暂不写代码,并按以下要求检查: 功能:新增、查看、完成、删除,以及JSON保存和恢复。 范围:只用Python标准库,不加网页、登录或云同步。 步骤:先新增与查看,再完成与删除,最后JSON与测试。写清拟创建文件及职责。 验证:新增后能查到,完成一条不影响另一条,重启后状态不变。 遗漏恢复、加入登录,或只写“运行正常”的地方,需要修改。 列出修改后的第一步及检查方法,等我确认后再实施。
4. 分步实现
1本步任务:只实现当前确认的功能
2ToDoList:先完成新增与查看,再加其他操作
3Comate:指定步骤与文件,查看实际改动
单步任务提示词
按已确认的计划,只完成【当前步骤】。 允许修改:【文件】 保持不变:【接口、功能和数据】 检查方法:【操作和预期结果】 如果已经完成,先说明现有实现,不重复修改。 完成后列出改动和实际运行结果,需要扩大范围时先告诉我。
按计划只处理新项目ToDoList的新增与查看,拟用todo_core.py和todo.py分别负责核心与命令入口。 新增后能查到任务,任务名称不能为空。只用Python标准库,其他功能和数据保持不变。 本次先说明实现思路和拟创建的文件,等我确认后再写,不读取不存在的文件。 如果当前打开的是课程成品,只指出对应函数和调用关系,不覆盖已有实现。
5.1 运行程序
1本步任务:运行程序,检查输出和数据变化
2ToDoList:新增2条、完成1条,完成率50%
3Comate:展开“执行完成”,查看运行记录
运行演示提示词
在【工作目录】运行【演示命令】,不要修改源码。 使用【独立演示数据】,不要覆盖个人数据。 请报告实际目录、命令、退出码和输出。 预期结果是【结果】,若不同请保留现象,先不要修复。
请在lesson14_python目录运行Python ToDoList演示:python3 demo.py。 使用脚本现有的.acceptance独立目录,不覆盖个人任务,不修改源码。 核对:新增2条,完成第一条,总数2、已完成1、完成率50.0%。重新读取JSON后状态一致。 请报告实际目录、命令、退出码和输出。说明demo.py是同一进程重新加载数据,不把它说成跨进程重启。
5.2 问题反馈与调试
1本步任务:提供操作步骤、预期和实际结果
2ToDoList:连续演示复用旧数据的问题已修复
3Comate:发送操作和错误,确认修复方案
问题反馈提示词
请排查【问题】,先不要重写项目。 复现步骤:【操作】 预期结果:【应该发生什么】 实际结果:【现象和错误原文】 相关文件:【文件和最近改动】 先说明原因和修改位置,缺资料就先问我。 保留【原数据】,修改前等我确认,修改后重复相同操作检查。
讲解Python ToDoList已修复的历史问题,本次只读分析,不改代码。 历史复现步骤:同一秒内连续运行两次demo.py。 预期:每次2条任务,完成率50.0%。历史实际结果:第二次复用了数据,变为4条、25%。 请阅读demo.py和ACCEPTANCE.md,解释当前tempfile.mkdtemp怎样避免复用目录。 指出为什么需要独立数据,以及修复后应怎样复查。不要主动恢复旧问题或删除演示数据。
6. 测试验收
1本步任务:逐项核对功能和特殊输入
2ToDoList:空名称、未知编号、保存与重新读取
3Comate:发送测试命令,展开记录检查结果
验收提示词
按【需求和验收标准】检查【程序】,不要增加功能。 运行【测试命令】,使用单独测试数据。 检查基本功能、特殊输入和退出后数据保存。 记录命令、实际结果和退出码。没有执行的项目写未测试。 失败时保留错误原文,先说明问题,不覆盖个人数据。
检查lesson14_python里的ToDoList,不修改代码。 先运行python3 -m unittest test_todo -q,查看真实测试输出和退出码。 再在todo-ai-workflow根目录运行python3 -m unittest discover -s evidence -p test_external_contract.py -v。 第二项用于额外检查CLI跨进程读回、错误数据保护和重复演示目录。 使用独立测试数据,不覆盖个人任务。记录实际结果,未执行的检查写未测试。
7. 功能迭代
1本步任务:增加一项功能,检查原有功能
2ToDoList:增加“只看未完成”,保留所有任务
3Comate:先审改进方案,按需选用“技能”
迭代提示词
在【已有版本】上增加【一项功能】,先给方案,不修改代码。 保留【原有接口、功能和数据】。 列出需要修改的文件、新增测试,以及要重新检查的旧功能。 如果已有适用Skill,先说明它的要求和适用条件。等我确认后再实施。
为Python ToDoList设计“只查看未完成任务”的改进,先给方案,不修改代码。 筛选只改变显示,不能删除已完成任务。保留新增、完成、删除、JSON保存和现有CLI用法。 说明要改哪些文件,怎样测试筛选,以及哪些原有测试需要重跑。 如果有适用Skill,先说明内容和条件,不假定已经安装。等我确认后再实施。
8. 整理交付文件
1本步任务:整理程序、运行说明和检查结果
2ToDoList:源码、测试、演示、README
3Comate:打开README,核对文件和启动命令
交付检查提示词
检查【项目目录】是否能交给其他人使用,先不修改文件。 列出必须包含的源码、资源和运行说明。 说明环境要求、启动命令、数据保存位置和备份方法。 核对已做的测试和已知问题,列出缺少的材料。
只读检查lesson14_python的ToDoList交付材料,不修改文件。 核对todo_core.py、todo.py、demo.py、test_todo.py、README.md和ACCEPTANCE.md。 说明Python 3.10以上的要求、启动命令、JSON数据位置,以及怎样运行演示和测试。 区分demo的同进程读回和独立检查的跨进程验证。 列出缺少的说明或已知限制,不把它说成免安装的桌面应用。
课程小结
1开发前:说明需求、准备资料、确认计划
2开发中:分步实现,运行后反馈问题
3完成后:测试验收,整理代码与说明
待办清单的开发过程
需求:四种任务操作,退出后保留数据 资料与计划:相关文件、开发顺序和检查方法 实现与调试:逐项完成,按实际现象排查 验收:基本功能、特殊输入、重新启动 迭代与交付:保留旧功能,写清运行方式和数据位置
1 / 13