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