用AI开发C盘清理工具:提示词编写实战指南

作者:sky
标签:AI编程、提示词工程、Python、PyQt5、实战案例

前言

在AI辅助编程时代,很多开发者已经习惯用ChatGPT、CodeBuddy等工具来加速开发。但同样是用AI写代码,为什么有人能快速完成复杂项目,有人却一直在和AI"对牛弹琴"?

答案很简单:提示词(Prompt)的质量决定了AI输出的质量

本文将以一个实际项目——C盘清理工具的开发过程为例,分享如何编写高效提示词,让AI精准理解需求并产出可用代码。


一、糟糕的提示词 vs 优秀的提示词

❌ 反面教材

帮我写一个C盘清理工具

问题所在:

  • 太模糊:用什么语言?什么界面框架?
  • 无边界:清理什么?怎么清理?
  • 无优先级:哪些功能先做?

AI可能的输出: 给你一个命令行脚本,或者一个功能巨多的方案,都不是你想要的。


✅ 正面示例

我要用Python+PyQt5开发一个C盘清理工具,核心功能包括:
1. 垃圾文件清理(临时文件、回收站、日志等)
2. 大文件管理(>100MB的文件列表)
3. 最新文件查看(最近30天)
4. 软件缓存清理

界面要求:
- 顶部显示C盘空间使用情况(进度条+数字)
- 下方用Tab页切换四个功能模块
- 每个模块有扫描、单选、全选、清理到回收站、彻底删除功能

请先给出整体架构设计,我们一步步实现。

优秀之处:

  • 技术栈明确(Python+PyQt5)
  • 功能边界清晰(4个模块)
  • 界面描述具体(Tab页、进度条)
  • 协作方式明确(先设计,再实现)

二、提示词编写的核心原则

原则1:结构化表达

人类的思维是发散的,AI需要结构化的输入。用编号、分段、标记优先级来组织需求。

技巧: 使用Markdown格式(###、1. 2. 3.、-),AI能更好理解层次关系。

### 需求描述
- 核心功能:[具体描述]
- 界面要求:[具体描述]
- 技术栈:[具体描述]

### 优先级
P0:必须有
P1:最好有
P2:可以有

原则2:提供"上下文"和"示例"

AI不是你肚子里的蛔虫,你需要告诉它:

  • 现有代码是什么样的(贴代码片段)
  • 你喜欢的代码风格(比如:用英文注释、用PyQt5的信号槽)
  • 类似的参考案例

示例:

我现有的代码结构如下:
- main.py:程序入口
- src/main_window.py:主窗口
- src/cleaner.py:清理逻辑

请保持现有代码风格,新增功能写在对应的文件中。

原则3:迭代式对话,而不是一次性丢需求

很多人喜欢一次性把需求全扔给AI,结果AI理解偏差,改起来更费劲。

推荐流程:

第1轮:架构设计
"我要做XXX,请先给出技术方案和文件结构"

第2轮:核心功能
"按方案实现XXX功能,注意YYY"

第3轮:界面优化
"界面改成ZZZ样式"

第4轮:细节打磨
"添加错误处理、日志、确认对话框"

好处: 每轮都有反馈,方向偏了及时纠正,不会积累错误。


原则4:用"约束条件"过滤无效输出

AI喜欢"发挥",但你可能只想要简洁方案。用约束条件限定输出范围。

约束类型 示例
技术约束 “只用Python标准库,不引入第三方包”
风格约束 “代码要简洁,不要过度设计”
输出约束 “只给出修改的部分,不要重复整个文件”
格式约束 “用Markdown表格展示,不要长篇文字”

原则5:给AI"角色设定"

在对话开始时,告诉AI你希望它扮演什么角色,能显著提升输出质量。

你是一个资深Python+PyQt5开发工程师,擅长:
- 编写简洁易维护的GUI代码
- 文件操作和多线程处理
- 用户体验优化

请以帮助我完成C盘清理工具的开发,代码要规范、注释要清晰。

三、实战案例:C盘清理工具的提示词演进

第一轮:模糊需求 → 方向偏差

我的输入:

帮我优化一下界面,把不需要的去掉

AI输出: 删了一堆东西,包括我想要的的功能 😅

问题分析: “不需要的"太主观,AI不知道我认为什么是"不需要的”。


第二轮:明确需求 → 部分满足

我的输入:

1. C盘空间分布那个饼图删除,保留右侧的空间剩余情况
2. 每个子功能页(垃圾清理、大文件等)扫描后,
   都要有全选、单选、清理到回收站、彻底清除按钮

AI输出: 正确删除了饼图,但只给部分页面添加了按钮,有的页面漏了。

问题分析: 需求明确了,但"每个子功能页"没有明确列举,AI可能漏判。


第三轮:精确描述 → 完美实现

我的输入:

需求明确如下:

1. 界面修改:
   - 删除:C盘空间分布饼图(左侧PieChartWidget)
   - 保留:右侧磁盘空间条、详情标签、刷新按钮
   - 修改文件:src/main_window.py 的 create_top_widget 方法

2. 功能添加(4个Tab页都要):
   - 垃圾清理页:全选、取消全选、清理到回收站、彻底清除
   - 大文件管理页:同上
   - 最新文件页:同上  
   - 软件缓存管理页:同上
   
3. 交互细节:
   - 彻底清除按钮用红色样式,点击前弹出确认对话框
   - 清理到回收站用普通按钮样式
   - 全选/取消全选切换同一个按钮

请逐一实现,不要遗漏任何一个页面。

AI输出: 4个页面全部正确添加功能,交互细节也完全符合。

成功关键:

  • 明确列举了4个页面(避免遗漏)
  • 指定了修改的文件和方法(精准定位)
  • 描述了交互细节(红色按钮、确认对话框)

四、提示词模板(可直接复用)

模板1:功能新增

在[文件名]的[类名/方法名]中,新增[功能描述]。

具体要求:
1. [具体需求1]
2. [具体需求2]
3. [具体需求3]

参考现有代码的[某方法]的实现风格,保持一致性。
新增代码放在[具体位置]。

模板2:Bug修复

[文件名]的[方法名]出现了[问题描述]。

复现步骤:
1. [步骤1]
2. [步骤2]

预期行为:[正确应该什么样]
实际行为:[现在是什么样]

请分析原因并给出修复方案。

模板3:代码重构

对[文件名]进行重构,目标是[提高可读性/降低复杂度/优化性能]。

当前问题:
- [问题1]
- [问题2]

重构要求:
- 保持现有功能不变
- 不改变对外接口
- 每个方法不超过50行

请给出重构方案,我们一步步实施。

五、常见误区与避坑指南

误区1:提示词越长越好

真相: 冗长的提示词反而让AI抓不住重点。

建议: 用"总-分"结构,先一句话概括,再展开关键点。


误区2:不给AI纠错的机会

真相: AI第一次输出不完美是正常的,关键是建立反馈循环。

建议:

第一次:给方向
第二次:指出问题 + 要求修改
第三次:微调细节

误区3:把所有需求堆砌在一起

真相: 需求太多,AI会"选择性忽略"一些。

建议: 一次只解决1-2个问题,搞定后再推进下一个。


误区4:不提供代码上下文

真相: AI不知道你的代码长什么样,只能"猜"。

建议: 关键代码贴出来,或者告诉AI"先读一下XXX文件"。


六、工具推荐

工具 用途 特点
CodeBuddy 代码开发 深度集成IDE,可直接操作文件
Claude 架构设计 长文本理解能力强
ChatGPT 快速原型 响应快,代码质量稳定
Cursor 代码编辑 支持多文件上下文

我的组合: CodeBuddy(主力开发) + Claude(方案设计)


七、总结

提示词工程不是玄学,而是一套可学习的技能:

  1. 结构化表达:让AI快速理解你的意图
  2. 提供上下文:减少AI的"猜测"
  3. 迭代式对话:小步快跑,及时纠偏
  4. 明确约束:过滤无效输出
  5. 给AI角色:提升输出质量

最核心的一点: 把AI当成一位"能力很强但需要明确指令的初级工程师",而不是"读心术大师"。


附录:本项目的提示词时间线

提示词1(模糊):帮我优化界面 → 失败
提示词2(明确):删除饼图,保留右侧 → 部分成功
提示词3(精确):明确4个页面+交互细节 → 完全成功

耗时对比:

  • 传统开发:约2小时(查文档+写代码+调试)
  • AI辅助+好提示词:约20分钟

效率提升:6倍 🚀


如果你觉得这篇文章对你有帮助,欢迎点赞+收藏!也欢迎在评论区分享你的提示词技巧~

Logo

AtomGit AI 社区提供模型库、数据集、Agent、Token等资源

更多推荐