AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


AI 编程的能与不能
发布日期:2025-02-07 08:01:03 浏览次数: 1530 来源:南瓜博士
推荐语

AI编程的能与不能,一文读懂AI在编程领域的真正实力。

核心内容:
1. AI编程的真正实力与常见误区
2. 程序员与技术小白对AI编程的不同需求
3. 适合技术小白的AI编程场景及常见困难应对

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

你也许看到过很多“零基础纯靠 AI 搞定 XX 开发”的文章,非程序员告诉你 AI 如何帮他们实现代码自由,文章中案例鲜活、证据确凿。
你如果认识一些程序员,多半也会听说“光靠 AI 只能写贪吃蛇,AI 编程还得靠程序员、而且是水平高的程序员才能用好”。

到底谁说得对?

都对。因为——这两个群体说的“编程”,根本就不是一回事儿。

我做过最复杂的开发,是 Windows Server 操作系统,为了接手要负责的十来个小小小组件,光读代码就读了几个月。这样的编程,AI 当然搞不定。
我做过最简单的开发,是只装在外婆家电脑上的极简导航,超大按钮超大黑体字:查天气、打麻将、听相声……每个按钮都用特定参数打开关联的应用。这样的编程,AI 当然能胜任。

当程序员说起编程,脑海里想到的可能是堆砌了成百上千个功能的复杂 APP,背后要有能支持万人同时在线的稳定服务,既要有能防安全漏洞扎实,还要有能响应业务需求一天变三次的灵活。

但对技术小白来说,给自己或家人开发应用就好啊。我给外婆做的极简导航,带给我的快乐,要比Windows Server 组件多得多。Home Cooked Software 自有其巨大价值。程序员说的那些 AI 搞不定的事儿,又有什么关系呢?


小白利用 AI 编程,能搞定给自己使用的功能简单的小软件,就已经很有价值。关于这个话题,我之前写过两篇文章:

私房软件的黄金时代——像做家常菜一样开发个人专属程序
适合技术小白入门 AI 编程的六个场景

但就算开发 Home Cooked Software 也会遇到很多困难。往往技术小白让 AI 写程序时,几分钟就成功得到第一版,超兴奋。但接下来需要调整功能或修改 BUG,噩梦就来了——AI 怎么都搞不定,越改错越多

这篇文章,我会从 AI 能力边界开始推导人与 AI 要如何协作编程,并分享几个适合技术小白的改功能修 BUG 搞定后续开发的技巧。

从 AI 能力边界来理解人要怎么和 AI 协作一起编程,其实就两条。

  1. AI 不知道训练数据中没有的信息,因此需要你告诉它。但怎么告诉它,AI 能教你

  2. AI 上下文长度有限,因此需要你帮它拆解任务。但怎么拆解,AI 能帮你

Cursor/Windsurf/Trae/Bolt.new 等工具,从某种程度上,是通过 agent 协作的方式,把上面的部分步骤自动化了,因此会省力很多。

但也只是能省不少力、并非完全解决问题,有些时候AI 会原地打转儿,还得靠人把它拉出来。

为了让技术小白具备把 AI 从坑里拉出来的能力,也为了降低门槛、让只能用国产的同学也能 AI 辅助编程,我下面的小技巧,只要有 DeepSeek 对话框就行。

三周前我给一群高中生上的用 DeepSeekV3 辅助微信小程序开发课,这套方法测下来可行。现在有 R1 ,但最近些天太不稳定,我还没来得及测它编程上的表现。后续再更新吧。

1. AI 不知道训练数据中没有的信息,因此需要你告诉它

上一篇 R1 之后,提示词技巧的变与不变,说的也是这个道理。
具体来说,你得告诉 AI 的背景信息有这么些??

1.1 如果是改已有的程序,你需要提供相关代码

同一个项目的代码之间相互关联;AI 无法在不知道当前代码的情况下写出正确的新代码
但对话太长,前文的代码会被压缩。更好的做法是新起一个对话,提供所有相关信息。这对上下文只有 64k 的 DeepSeek 来说尤其重要。

但对于小白来说,怎么知道要提供哪些相关代码呢?

技巧 1:让 AI 写代码时添加模块分隔的注释

你可以在让 AI 写代码时添加如下要求:

请按模块化良好组织代码,对每个模块起始都添加分隔注释,例如 
//////// XX 功能开始 ///////
...
//////// XX 功能结束 ///////

AI 生成的代码如下,有始有终清楚明白,只要看得懂中文就能找得到该提供哪一段给 AI。

技巧 2:让 AI 帮你罗列文件目录、然后帮你找出需要提供的文件

程序文件很多,你不知道要改哪个?那就先让 AI 帮你打印文件目录,再把目录树提供给 AI、让它告诉你修改什么文件。

  1. 问 AI 要如何画出目录结构

我想要用漂亮的层级结构画出当前目录及子目录的所有文件。我用的 mac 电脑,最好能不需要安装任何东西。我应该敲什么命令?

  1. 复制 AI 给的命令到终端执行,立刻得到代码文件树。

find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'

顺便说一句,如果项目太复杂,可以追问“目录很深文件太多了,只想展开两层,怎么写?”,AI 会给你很棒的建议。

  1. 把目录连同修改需求一起给 AI,问它要改哪个文件

  1. 把指定文件提供给 AI 让它修改。

1.2 如果是修改 BUG,你需要提供充足的错误信息

即便你告诉 AI 出错了、错误表现是啥、期望的正确表现是啥,AI 往往难以仅凭这些信息知道 BUG 的原因
程序员往往会靠出错日志来排查错误,这招 AI 也能用。

技巧 3:让 AI 帮你的代码添加非常详细的日志,然后把运行日志和出错问题一起发给 AI。
  1. 把代码给 AI 让它帮助加详细日志

XXX 功能,期望表现是 XXXX ,但实际表现是 XXXX
相关代码如下:
……
……

请帮助添加非常详细的日志,以方便排查错误。

  1. 把 AI 给的代码替换原来的代码

  2. 再次运行程序,把 Console 里输出的日志复制粘贴贴给 AI。这下 AI 的修复往往会很靠谱。

1.3 私有的、小众的或太新的代码,AI 不太擅长调用

遇到 AI 写代码有误时,你可以判断一下:这种代码,是不是 AI 的训练数据里常见的。
如果代码使用了某个特别小众甚至私有的类库,或者是最近刚出的接口,AI 没见过,当然就不会写。如果某个任务,以前的做法是 A,但一年前 A 方法不再支持需要用 B 方法来做(例如 Chrome 出于安全原因升级了插件版本要求),或者在特殊情况下需要用 C 方法来做(例如微信小程序里很多做法和普通网页开发不一样)……用概率来写代码的 AI 毕竟见了太多 A,要正确写出 B 或 C 就很难

技巧 4:把类库或接口的文档提供给 AI,把 metaso.cn 搜到的正确做法提供给 AI,让它参考着来写代码。

文档或 metaso 搜到的解决方案里往往有示例。你不知道怎么把示例代码用到自己的程序里,就让 AI 照猫画虎重新写一份就好。


不知道要提供哪些文档?类似技巧 2,把整个目录给 AI 让它挑就好。

2. AI 上下文长度有限,因此需要你帮它拆解任务

这里最主要的思路是:
让“产品经理 bot”帮你梳理需求写产品文档,再让”架构师 bot“根据产品文档写技术方案设计,并拆解成一个个小小的迭代步骤,每一步可能还能先设计个 POC 任务方便你学习。如果有后端服务,还可以让“开发工程师 bot”先写 API 文档,后续开发都根据 API 文档来。

昨晚我文章写到这儿,分心去 WaytoAGI 的直播间聊天儿玩了好久~~再回来写兴致就不太够。

要不,大家先看我以前的两篇文章吧。后面找机会再详细聊。

真的能再也不“就差一个程序员了吗”(2023 年 6 月)
超越贪吃蛇——技术纯小白如何用 AI 开发真正的应用(2024 年 9 月)

最后几句话

大家会发现上面两篇文章,我说的都是“技术纯小白如何在 AI 的帮助下学会编程、然后用 AI 来编程”。

是的,我认为目前的 AI,已经可以让技术纯小白为自己开发应用了。但是,对于稍复杂一些的应用,最好还是一边开发一边学,编程还是要学的。

倒并不是说不学就做不了,而是自己学点儿编程的性价比更高

三周前我教一群高中生在 AI 帮助下开发微信小程序,有一位同学就着 AI 给代码添加的详细注释琢磨代码,愣是两小时从零开始学会了 JavaScript,然后手搓了最终的程序。
他说:我学 JavaScript,也只花了两小时。但你们和 DeepSeek 来来回回修 Bug,有些人两小时还没搞定一个 Bug 呢。

让 AI 给所有代码添加注释,让 AI 用你正在写的程序教你语法,让 AI 帮你梳理代码运行逻辑……
有 AI 在,学编程真的也不难

我当天发的朋友圈


PS. 前两天我写了“变与不变”(R1 之后,提示词技巧的变与不变),这篇是“能与不能”,准备后面还可以写一篇“为与不为”。有理解我的朋友能猜到这会是啥么 ?


我是在技术和教育圈来回串的贪玩的好奇星人。欢迎点赞点收藏关注加星。


相关阅读

真的能再也不“就差一个程序员”了吗|gpt-engineer 的潜力

为啥我的编程技能被平权了我还那么开心

超越贪吃蛇——技术纯小白如何用 AI 开发真正的应用

私房软件的黄金时代——像做家常菜一样开发个人专属程序

适合技术小白入门 AI 编程的六个场景

超便捷的Markdown转公众号排版

用AI提升使用电脑幸福感的小例子


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询