第一次让 AI 写代码的人,常会陷进同一个循环:复制一段代码,粘进某个窗口,报错,把报错贴回去,再复制一段。跑通的那一刻很轻松,可过两周想加一个功能,打开文件发现自己一行也看不懂。零基础用 AI 写程序,分水岭不在第一次跑通,而在能不能读懂并改动手上这份东西。
门槛从背语法挪到了说清需求
过去学编程,前两周都在和语法、环境、编译错误较劲。AI 把这段路压短了:它记得住函数名,也能把报错翻译成人话。腾出来的时间,正好花在更需要人的地方——想清楚输入是什么、输出要什么、边界情况怎么处理。
描述需求时,一段能直接用的结构是:用什么语言或工具、输入从哪来、要做哪几步处理、输出成什么形式、出错时希望怎样。比如「用 Python 读同目录的 data.csv,算每列平均值,按列名打印,缺值跳过并计数」,比「帮我写个处理表格的程序」可执行得多。这类写法本身就是提示词的基本功。
五步,从一句话到一个能改的小工具
| 步骤 | 产出物 | 常见坑 |
|---|---|---|
| 选载体 | 一个双击就能打开的单文件网页,或一个装好解释器的脚本 | 一上来就选框架和数据库,环境没配好先卡住三天 |
| 提需求 | 一段含输入、处理、输出、异常处理的说明 | 只写「做个网站」,模型只能靠猜,猜出来的东西不能用 |
| 跑通最小版本 | 屏幕上出现第一个正确结果,哪怕只有一行输出 | 一次要五个功能,报错时不知道是哪一段引起的 |
| 贴报错修 | 完整堆栈、相关代码、刚改动的位置 | 只贴最后一行,缺上下文,模型只能给通用猜测 |
| 加功能并回归 | 每次只多一处,旧功能仍然可用 | 改完不重跑旧用例,坏了自己也不知道 |
这五步的次序有实际原因:越往后,出错时能排查的范围越小。第三步之前不要管界面好不好看,第五步之后才轮到考虑打包和部署。跳过中间任何一步,问题都会堆到后面一起爆。
报错信息是整段对话里最值钱的部分
把报错贴给 AI 时,三样东西缺一不可:完整的错误堆栈、触发它的那几行代码、你刚改过什么。只给一句「报错了」,它只能猜;给全了,它往往能直接指出是变量没定义、路径写错还是版本不对。
还有一个常被忽略的动作:让它先解释这条报错在说什么,再让它改。解释一遍,下次遇到同类错误你就能自己判断,这比多要十段代码有用。它解释得含糊,通常说明它也没定位到原因,这时继续追问比继续复制更有价值。
能跑之后,先读三个地方
想自己改程序,读代码要有顺序。先找入口——程序从哪一行开始执行;再顺着数据看它从哪来、被谁改过、最后去哪;最后看状态,哪些变量会被保存下来、下次打开还在。这三处看明白,一个几百行的小工具就不再是黑箱。
读的时候可以直接让模型做标注:逐行说明这段在做什么、哪些行可以删、变量名能不能改得更好懂。它讲错的地方,往往正是你没想清楚的地方,两边一对就露出来了。这也是零基础用户进步最快的一段练习。
它写得出能跑的代码,写不出能担责的系统
模型看不到你的运行环境。库里同时存在好几个大版本,它给的写法常常对应你没装的那个;它也可能顺手编一个不存在的函数名或参数,语法看着完全正常,一跑就报错,这类情况在AI 幻觉里有系统解释。
更要紧的是它不承担后果。涉及登录、支付、权限、个人数据的代码,出错的代价不是报错,而是数据泄露或资金损失。它不会主动提醒你「这段没有做输入校验」「这个查询可以被注入」,也不会拦着你把密钥写死在文件里。上线前找懂行的人过一遍,这一步省不掉。用它爬别人的数据、破解软件、批量注册账号,风险落在操作的人身上,不在模型身上。
上下文一长,它就记不住你的约定了
项目超过几百行,把整个文件夹贴进去会超出上下文窗口,它开始忘记前面定过的命名和结构,改 A 处时把 B 处改坏。更稳的分工是按文件处理:一次只给一个文件加它的调用方,改完自己跑一遍,再进下一个。
另一种省钱的做法是只贴相关片段。但片段给得太碎,它会缺上下文,写出和现有结构冲突的代码。判断标准很简单:贴进去的内容,要能让一个没看过项目的人看懂这段在做什么。
从「会用」到「敢改」差的是什么
会用,是能让别人的代码在自己机器上跑起来;敢改,是知道改哪一行会影响到哪。这两者之间隔的是几次完整的修改经历:加一个字段、换一个数据源、把一段写死的东西变成可配置。每完成一次,你对这份程序的所有权就多一分。
零基础做出有用的小工具,今天已经不难。难的是判断它什么时候不该用——数据敏感、涉及钱、要长期维护,这三类场景值得请人把关,其余的自己试错成本很低。
速查:零基础用 AI 写代码
- 需求写清输入、处理、输出、异常,一句话能省三轮返工
- 报错要贴完整堆栈、相关代码、刚改动的地方
- 一次只加一个功能,加完重跑旧功能
- 登录、支付、权限、密钥相关代码必须人工审
- 项目变大后按文件喂,别整包粘贴


