南瓜博士 2024年10月21日
超越贪吃蛇——技术纯小白如何用 AI 开发真正的应用
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

文章探讨了在AI时代小白学习编程的方法,从基础小任务开始,逐步明确项目需求、规划POC和开发路径,强调通过AI的帮助和人类导师的指导来实现学习与开发。同时提到了在实践中可能遇到的问题及解决方法。

🎯从基础小任务学起,如让AI按最佳实践写一个say hello的示例程序,解释文件作用及程序运行逻辑,以学会必备调试技能。

💬通过与AI对话逐步明确项目需求,梳理出产品需求文档,方便后续开发时参考。

🚀设计POC小项目,让AI列举技术点、选择合适技术方案并设计项目,通过研究小项目为大项目做准备。

📈逐步学习和开发,将POC应用到大项目中,遇到错误时借助AI、文档及老师傅等进行修复和解决。

原创 ElfeXu 2024-09-24 01:42 上海

开发玩具级别的游戏没啥用啊~~要玩儿真的,就得这样一步一步跟着 AI 学

从去年三月 GPT4 发布会上一个由手绘草图直接生成网站的 demo 惊艳众人开始,很多人就认为程序员工种已进入倒计时。最近 cursor 和 o1 的出现,更是让非技术同学们热切期盼:是不是真的能再也不“就差一个程序员”了呀!

很遗憾,现实依旧骨感。demo 还停留在贪吃蛇,太小巧也太普通。真正的应用会有复杂得多的特殊需求,代码量也会超出 AI 单次吞吐量,AI 根本无法直接搞定。(o1?o1 的能力确实强了很多,但其实还是不够。后面找机会另写文章详解吧。)如果你请教号称“我不懂编程但靠 XX 开发了 XXX”的技术小白该如何开始,多半会得知他们多少还是懂一些 css 或 python。
而纯小白,一开始通过 cursor 里的对话创建好起始文件后,往往会无从下手——到底要在哪里敲什么字符,才能触发一连串美妙的 tab 让 AI 开始自动工作?

对于纯小白来说,如果你的需求远比 AI 直出的内容复杂,无法一次性直出。那就耐下性子,在 AI 的帮助下一步一步来,并在这个过程中学会一点点编程。


   

1 基础小任务

推荐你从一个最最基础的小任务开始让 AI 先帮你按照 best practice 写一个 say hello 的示例程序,并解释每个文件的作用及程序运行的逻辑。这样,你可以通过最基础的绝对不会出错的小任务,来学会必备的调试技能。

“我在学习写 chrome 插件。请选择最适合小白上手的技术栈,按照 best practice 为我生成一个简单的示范项目,但要包含尽可能全面的典型文件和功能。请为我讲解每个文件的作用和程序运行的逻辑。”

此处要求 AI 按照 best practice 来写非常重要:文件一开始就有良好的组织,后续功能复杂了才不会乱套。

还有一个偷懒小妙招:如果你用的是 o1-mini,你可以在 prompt 最后添加这句:
“请生成 create.sh 脚本,运行脚本就能直接创建插件所需要的所有文件。请教我如何运行脚本。” (如果 windows 机器则是 create.cmd )  足够勤勉的的 o1-mini 会为你生成一段超级长的代码,并给出提示,你只需要复制粘贴并执行,一次性生成十多个目录和文件,超方便。


   

2 明确项目需求

你可以通过和 AI 的对话,来逐步明确项目需求。(如果你是训练有素的产品经理,可以忽略这一步)

“我想要开发一个 XXX。你能否像一个高级别的还懂技术的产品经理指导初级产品经理那样,向我提问,帮我梳理清产品功能,尤其要注意可能会涉及到技术方案选择的关键点。请一问一答,帮我由全局到细节逐步梳理。不要一口气问我太多问题。”

来来回回的对话后,你可以让 AI 帮助你梳理出产品需求文档。这样的文档会包含影响技术方案选择的细节,比直接给 AI 一段口头的需求描述要准确地多。在后续开发的时候每次新起一个聊天就把文档发给 AI 并告知你现在在做第几点功能,会非常方便。


   

3 规划 POC 和开发路径

然后,开始设计 POC 的小项目。

“我是技术小白。我想要开发的项目功能如下。这里有哪些技术点?能否为我一一列举。请尽可能细化,帮我选择合适的技术方案,并为我设计 POC 项目。每个 POC 都应该是一个独立的项目,我好先通过完成 POC 来学会相关技术。”

POC,proof of concept, 可以理解成是实验性小项目。之所以要略显麻烦地采用这样的步骤,是因为 POC 可以足够小,AI 能直接生成。通过研究小项目、搞明白特定技术点是如何工作的,这样后续把功能添加到真正项目中时才不会稀里糊涂。在大项目里添加功能,AI 很可能会顾此失彼频频犯错,AI 给你的代码你若看不懂放错地方也会很难排查。学会了 POC 项目,你就能对照 POC 的代码来搞定大项目了。

这一步,AI 可能犯的错误有——选取不合适的技术栈;拆分粒度不够细;开发路径设计不合理、没有循序渐进。如果有可能,请把 AI 生成的计划给一个老师傅,请他帮助把关。


   

4 逐步学习和开发

接下来就是真正的实践了。按照项目规划,学习一个 POC,将其应用到大项目中;再学一个 POC,再运用……

当遇到错误的时候,复制错误信息,复制相关的代码,扔给 AI 让它找错误并修复。
如果用可以识图的 claude 或 GPT4o,截图+错误信息+代码 三件套会非常好用。

听上去简单,但其实坑非常非常多。例如开发 chrome 插件,现在应该开发 manifest v3 的版本(v2 很快就不再支持了),但即便和 AI 反复强调要用 v3 里的功能,AI 还是有可能会给你 v2 的代码,并且在出错后给出的修复也还是混杂了 v2 的方案。没办法,谁让它就是根据概率来的呢。

这种时候,更有效的方式是:找文档(你可以让 GPT 给你文档链接,或者问 perplexity),或者去 stackoverflow 上找答案(注意回答和评论的日期)。
然后,把文档或找到的答案提供给 AI,让它基于这些信息再来帮你修复。这时候,它给的指引会是正确的、且比 stackoverflow 的详细很多。

当然在这一步,如果有可能,你还是找一个老师傅随时为你提供支援。


   

从小白学代码,看 AI 时代人类导师和硅基助教的协作之道

我之所以琢磨出上面的路径,是因为我的之前只玩过图形化编程的女儿,在暑假超脑 AI 黑客松期间,靠 Claude 和我的帮助,用 Unity 开发了一个 RPG 小游戏(C#,用到了 coze 的 API)。

起初我并不相信纯小白能通过 AI 搞定 Unity 程序,我甚至建议她找助教要一个更符合需求的脚手架、只要复制粘贴改一小段代码就能用的那种。但女儿不服气——什么都是助教搞定那也太没意思了——她决定做一个最简单的任务:让 Claude 教她做一个 2D 平面上用上下左右键控制走动的小人,碰到墙壁要能停下来。
半小时,完成了这个任务,也明白了 Unity 里的基本概念。这是一个非常好的起点。

后来的开发有些很顺利,但也时常有挫折。几乎每天她都奋战到凌晨再沮丧地睡去,第二天一早向我求助,我一看——啊,你又被 AI 带坑里了。

被 AI 带坑里的原因很多——她问题描述不清楚,且不知道这种描述在程序员的世界里会被理解成另一种问题,于是,得到了错误的指引;AI 给的方案太复杂,需要有很多前置知识才能搞明白;其实 AI 给的代码是对的,但别的配置错误,AI 没想到要检查丫头也不知道,乱改了很久;
……

这些挫折,让我意识到小白需要通过 AI 能直接搞定的小项目,来先学明白背后的原理,在此基础上才能开发复杂项目。
小小的任务,AI 可以胜任、非常耐心地指导。因此最好是要有人类导师,一开始把任务拆解到足够小,针对性地设计学习路径,并密切关注随时从坑里捞人。

学生-导师-AI 助教三者协作的关系图如下:

而这种协作方式,不止用在 AI 辅助编程上,也适用于其它诸多领域,支持学习者完成目标都由 ta 自己定义的真正的个性化学习。

p.s. 这页 PPT 来自于七月我在成都 life 大会上的分享。过去这两个多月我做了不少分享、培训、课程设计,overwhelmed。我现在大概缓过劲来了可以多写写公众号了吧。请给我加油。

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

AI辅助编程 项目需求 POC项目 协作学习
相关文章