/* ===== section[1] 故事的起点:一句话的需求 ===== */

故事的起点:一句话的需求

朋友的需求很简单:上网课、开线上会议的时候,电脑里在放声音,能不能自动把声音变成文字,再总结讲了什么。

我把他的话原封不动丢给 AI:

"听取电脑播放的音频,实时把音频合成文字,最后再通过 AI 进行总结提炼要点。"

没有技术方案,没有产品文档,没有 "请使用 Python 的 multiprocessing 模块配合 WASAPI loopback……" 这种东西。

然后 AI 就开始干活了。

/* ===== section[2] 第一阶段:从一句话到能跑的软件 ===== */

第一阶段:从一句话到能跑的软件

⏱ 约 1 小时

AI 先上网搜了一圈,告诉我大致的方案:

# 数据流
电脑声音 → 录下来 → 判断有没有人在说话 → 把说话的片段转成文字 → 用 AI 总结

然后它花了一个多小时,写了大概 10 个文件,一个能跑的软件就出来了。打开浏览器,点开始,播放一段音频,屏幕上真的出现了文字。

说实话,这就是 AI 开发的日常——你只管说人话,它自己会把搜索、设计、编码全干了。全程我就说了那一句话。

// ⚠ 但是……

它能跑,离"好用"还差得远。接下来的半天才是关键。

/* ===== section[3] 第二阶段:修修补补,让它真正好用 ===== */

第二阶段:修修补补,让它真正好用

⏱ 约半天

能跑是一回事,好用是另一回事。接下来的半天里,我发现了一堆问题,每发现一个就让 AI 改一个。

"Markdown 符号怎么跑到 Word 里了?"

AI 生成的总结是这样的:

**主要观点**:本次会议讨论了**预算分配**方案
- 市场部申请增加20%预算
- 研发部需要新增3个名额

导出到 Word 文档后,**- 这些符号直接显示出来了,看起来乱七八糟。

我跟 AI 说:"导出的文档里有一堆星星符号,能不能变成真正的加粗和列表?"AI 改了一版,** 变成加粗了,但列表前面还是有圆点符号。我再说:"列表前面的圆点还在。"AI 又改了一版,终于正常了。

// 💡 要点

一个问题改一次,不要一次说 5 个问题。每次让 AI 集中修一个小问题,效果好得多。

"怎么一直显示静音?"

软件界面上显示 VAD:静音,但我明明在放视频。这说明软件根本没检测到我在播放声音。

这个问题查了很久。AI 尝试了各种方向都不行——检查录音没坏、检查模型加载了、检查数据格式也对。最后发现是少了一步数据处理:把声音数据喂给检测模型之前,需要先"加上一点前面的声音作为上下文"。就像你听别人说话,你也是连着上一句一起理解的,不会每半秒钟清空一次记忆。

这个 bug 修好之后,软件才真正能用了。

// 💡 要点

如果 AI 修了好几次都没修好,可能是根本思路不对。仔细观察现象,把看到的异常告诉 AI。"状态栏显示静音,但我明明在放视频" 比 "检测功能不正常" 有用一百倍。描述得越具体,AI 定位越准。

/* ===== section[4] 第三阶段:打包,让别人也能用 ===== */

第三阶段:把软件打包,让别人也能用

⏱ 约 2 小时

代码在开发环境跑得好好的,不等于你能把它发给别人用。朋友需要的只是一个双击就能用的 .exe 文件。

第一次打包:失败

AI 说用 PyInstaller 打包。第一次打包出来 303MB 的文件——一个软件安装包跟一部高清电影一样大。

更惨的是,打包后的软件根本用不了。"开始监听"点了没反应。

// 🔍 根因分析

打包工具把软件压缩的方式,和这个软件启动子程序的方式冲突了。开发环境好好的,一打包就坏。AI 也没想到这个问题,因为它在写代码的时候没有考虑"打包后怎么跑"。

修好这个问题后,软件能跑了,但还是很肥。

精简体积:303MB → 94MB

AI 分析了一下,发现最大的一块是一个叫 torch 的大块头库——它一个就占了近一半体积,但翻遍代码发现它只在一个语音检测的小功能里打了个酱油。我们用的阿里云在线识别其实根本不需要它。

换成另一个更轻量的替代品后,体积直接砍到 94MB。虽然还是不小,但至少正常了。

// 💡 要点

软件打包是一道完全不同于写代码的坎。开发环境能跑 ≠ 打包后能跑。每改一轮代码,先在开发环境测好了,再重新打包验证。

/* ===== section[5] 给纯小白的 AI 沟通操作指南 ===== */

我是怎么跟 AI 沟通的——给纯小白的操作指南

> Principle.01

第一原则:说人话就行

不需要学编程术语。你平时怎么说,就怎么跟 AI 说。我全程说的都是这样的话:

# 我就是这么跟 AI 说话的
"导出到桌面,默认文件名用当前时间"
"启动不了,帮我看看是什么原因"
"docx 文件里有很多星星符号,把它变成真正的加粗"

AI 都能理解。它就像一个听得懂人话的程序员。

> Principle.02

第二原则:一个问题一个问题来

这是最重要的经验。不要一口气说:

❌ "帮我改导出路径、修加粗问题、加文档列表、改按钮颜色,还有那个状态栏也不对"

没用。AI 会乱。正确做法:

✅ "导出存到桌面" → AI 改好了 → 你试试 → "可以了,接下来把星星符号变成加粗" → AI 改好了 → 你试试 → "ok,下一个……"

每次只做一件事,改完验证通过再做下一件。这样效率最高、出错最少。

> Principle.03

第三原则:描述现象,别猜测原因

❌ "可能是内存泄漏导致进程崩溃"
✅ "软件运行大概 5 分钟后自己就关了"

你不是程序员,不需要猜原因。把看到的、发生的说清楚就行。AI 自己会排查。

> Principle.04

第四原则:相信自己的直觉

如果 AI 改了三轮还是不行,停下来。不要让它继续试——它可能走错方向了。

这时候你应该:① 换个角度描述问题 ② 提供新的信息("我注意到错误日志里说了 XXX")③ 让 AI 从零开始重新思考。

就像这次"一直显示静音"的问题,AI 查了硬件、查了格式、查了模型加载,折腾半天。最后是我让它"对照原版实现一行一行对比",才发现少了一步数据处理。

> Principle.05

第五原则:改完代码先试,再打包

这是血的教训。没验证功能是否正常就打包,结果打包出来不能用,浪费时间。

# 正确流程
改代码 → 跑起来试试 → 确认没问题 → 打包 → 再试试打包后的版本
/* ===== section[6] AI 擅长什么,不擅长什么 ===== */

AI 擅长什么,不擅长什么

真实体验总结

+ AI 超强的地方
  • 写代码贼快——我说一句话,它一小时写出 10 个文件
  • 修小问题很稳——"把按钮改成红色"一改一个准
  • 知识面广——阿里云语音识别直接知道怎么接
  • 不怕麻烦——逐个分析依赖包大小找替代方案
- AI 容易翻车的地方
  • "看起来差不多但其实不对"的错误——代码语法正确,运行不报错,结果全错
  • 打包后的问题——不会主动想"打包成 exe 会不会有问题"
  • 缺少直觉——有经验的程序员一眼能猜到的问题,AI 要穷举 10 种可能

把 AI 当成一个干活飞快、但经验只有一年的实习生。 你不需要告诉它每个细节怎么写,但你要检查它写的每一行。它会犯初级错误,也能给你惊喜。你的工作不是写代码,是做判断。

/* ===== section[7] 从这次经历学到了什么 ===== */

从这次经历学到了什么

1. 软件开发的门槛真的降低了

两年前朋友想要这个软件,要么自己学编程(至少几个月),要么花钱找人做(几千到几万)。现在,只需要会说人话,有一个 AI 工具,一天就做出来了。

这意味着:想法比技术更值钱了。每个人都能把自己的想法变成软件,关键在于你的想法有没有用,而不是你能不能写代码。

2. 但你还是要懂"一点"东西

完全不懂的话,你甚至不知道什么是"正常的",什么该怀疑。我之所以能发现静音检测的那个隐蔽 bug,是因为我注意到状态栏一直钉在"静音"两个字上不动——不管放不放视频,它都不变。这不对劲。

不需要会写代码,但需要培养对"不对劲"的敏感度。

3. 把经验存下来很重要

每修好一个 bug,我都让 AI 记到项目文档里。下次遇到类似问题,AI 就能直接翻经验库,不用从零排查。这就好比你请了个实习生,每次犯错都让他写检讨。时间长了,他就不犯同样的错了。

4. AI 是一个放大器

它能放大你的能力——如果你懂一些技术,它会让你变强 10 倍;如果你完全不懂,它也能让你从 0 到 1。但 AI 不会凭空变出能力。它不能替你思考"这个软件到底解决了什么问题"、"用户会不会觉得难用"。这些永远是人的事。

/* ===== section[8] 如果你也想试试 ===== */

如果你也想试试

需要准备什么

  1. 一个 AI 编程工具。我用的是 Claude Code,还有其他选择。重要的是找一个能直接写代码、能搜索、能改文件的。
  2. 一台 Windows 电脑。我做的这个软件只有 Windows 版(因为要采集电脑声音)。
  3. 一个语音识别服务的账号。国内有阿里云、讯飞等多家提供实时语音转文字服务,阿里云新用户有 3 个月免费试用额度,够你折腾的了。
  4. 一个 DeepSeek 账号。AI 总结也要钱,同样很少。
  5. 耐心。修 bug 的时候需要,特别是那种修了三次还没好的 bug。

第一步做什么

不要一上来就想做个大东西。先做个最简单的——比如"把我说的话转成文字"。跑通了再加功能。

我最开始的目标就是"能听到电脑声音并且显示文字",这个目标一个多小时就达成了。后面的文档管理、Word 导出、提示词编辑器……都是一点一点加上去的。

/* ===== section[9] 最后 ===== */

最后

这篇文章不是教程,不是什么"30 分钟学会用 AI 编程"的速成攻略。它就是一个普通人的真实记录——我用 AI 做了什么,怎么做的,中间踩了什么坑,得出的经验是什么。

最有价值的东西不是代码,也不是技术方案,而是那段对话的方式——怎么问问题、怎么给反馈、怎么判断 AI 说的对不对。这些才是用好 AI 的关键。

如果你也想用 AI 做点东西——不管是软件、网站、还是自动化脚本——希望这篇文章能帮你少走一些弯路。

commit a1b2c3d  (HEAD -> main)
Author: FZL <fzl@ai-workbench>
Date:   2026-05-29  // 写于项目完成的第二天