尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

跟着吴恩达学Vibe Coding:AI辅助编程实战入门

跟着吴恩达学Vibe Coding:AI辅助编程实战入门 很多读者第一次接触 Vibe Coding 时最大的困惑往往不是“AI 能不能写代码”而是“我应该从哪里开始”“用什么工具”“AI 生成的代码我看不懂怎么办”。我自己带新人时的感受也是一样AI 编程类内容如果只看视频不动手学习效果几乎为零但如果你能照着课程把一个很小的项目跑起来那种“原来我也可以写程序”的正反馈会非常明显。这篇文章就以吴恩达在 deeplearning.ai 与 Coursera 平台上开设的 Vibe Coding 课程为主线拆解 AI 辅助编程的核心工作流并附上一套完整可运行的 Python 示例代码方便你一边看一边练。这篇文章适合三类读者完全没有编程基础的人、只会一点 Python 语法但不知道怎么做小项目的同学以及已经会用 AI 工具但总觉得生成结果不可控的开发者。学完之后你会理解 Vibe Coding 到底是一种什么开发方式掌握“描述需求 - AI 生成代码 - 运行反馈 - 继续迭代”的最小闭环并能独立完成一个命令行小项目。更重要的是你会知道怎样向 AI 提需求才能让它真正写出能运行的代码。1. Vibe Coding 到底是什么先从一个比较轻松的角度理解。Vibe Coding 是 AI 编程工具普及之后流行起来的说法用来描述一种新的写代码方式你不再需要一行一行地手敲语法而是用自然语言向 AI 描述你想要的功能AI 生成代码你负责运行、验证和调整。整个过程更像“带着想法和 AI 聊天”聊天的方向决定了最终代码能不能用。更专业一点说Vibe Coding 是“自然语言驱动的迭代式开发”。它把开发者的意图、业务需求、对输出的判断力放在核心位置而把大量机械编码工作交给模型完成。常见的工作流可以这样表达描述需求 ↓ AI 生成代码 ↓ 本地运行验证 ↓ 遇到报错或需求变化 ↓ 反馈给 AI 继续修改 ↓ 得到可用的程序这个流程看起来简单但真正执行起来每一步都有技巧。比如“描述需求”就不是简单一句“帮我写个程序”这么敷衍而是要把功能点、技术栈、输出格式都交代清楚“反馈给 AI”也不是只发一句“报错了”而是要把完整的堆栈信息复制过去。有同学会问Vibe Coding 是不是意味着完全不用学编程基础了其实恰恰相反。如果你完全看不懂代码你就很难判断 AI 给出的方案是不是合理也很难在报错信息里找到关键线索。吴恩达这门课非常重视“让新手在理解代码的前提下使用 AI”而不是把大家培养成只会复制粘贴的操作员。这也是我推荐这门课的原因之一它把概念讲得足够亲民但并没有把“编程思维”丢掉。为了更直观地理解可以看下面的对比表格对比维度传统编程Vibe Coding主要输入键盘逐行手写代码自然语言描述需求 少量人工修改核心工作语法、逻辑、调试需求拆分、代码审查、运行验证上手门槛需要先掌握大量语法更依赖沟通能力和工程意识出错处理手动阅读堆栈和日志把报错信息反馈给 AI并人工确认修改适用场景底层系统、高并发、复杂业务原型工具、自动化脚本、小型应用从这个表格能看出来Vibe Coding 并没有取消编程而是把编程的核心竞争力转移到了“怎么描述需求”和“怎么验收代码”上。这也就解释了为什么有些人用 AI 写代码非常高效有些人却始终得不到满意结果——问题往往不是 AI 不够强而是需求描述不够具体。2. 为什么推荐跟着吴恩达的这门课学习DeepLearning.AI 是吴恩达团队推出的 AI 教育平台早期的很多深度学习课程都出自这个平台在 AI 学习圈子里认可度很高。Vibe Coding 这门课可以在 Coursera 等在线教育平台上找到课程定位非常清晰面向编程新手用 AI 辅助的方式完成小型编程项目。标题中提到的“中英字幕完结”指的是很多学习渠道会提供中英文字幕版本方便中文学习者边看边理解课程内容。不过在开始学之前我想强调一个观点视频课能带给你的东西是完整的演示流程、设计思路、常见坑点讲解和配套代码但如果你只是“看懂了”这些知识很快就会忘掉。正确打开方式是边看边动手把课上的项目拆成自己能理解的最小版本再自己重新实现一遍。比如课程里演示了一个项目你就不要只看它运行成功就结束而是尝试自己新开一个文件复现类似的功能再把代码发给 AI 让它帮你检查。为什么说这门课“最适合新手”我认为可以归结为三点。第一课程默认你没有深厚的编程背景概念讲解会比较耐心不会一上来就抛大量的底层术语第二课程以项目演示为主不是干巴巴地讲抽象概念你能看到 AI 工具在真实项目里是怎么被使用的第三课程强调“在 AI 的帮助下学会思考”而不是让 AI 完全代替你思考。这三点正好对应新手学习 AI 编程最容易踩的三个坑术语恐惧、动手不足、过度依赖工具。如果你已经有一定编程经验这门课对你来说会偏基础但依然值得快速看一遍。重点可以放在“吴恩达是怎么向 AI 提问的”以及“他是怎么把一个大目标拆成一个小项目”的方法论上这些内容与编程语言无关但对长期使用 AI 辅助开发很有帮助。另外要提醒一点找学习资源时尽量从正规、公开、尊重版权的渠道获取不要购买来路不明的所谓“打包资料”。字幕素材可以用来看课但代码一定要自己动手敲一遍才能真正变成自己的东西。3. 环境准备用最小的成本搭好 AI 编程环境在开始实战之前先把环境准备好。我们的目标很简单能运行 Python 脚本能复制 AI 生成的代码能快速看到运行结果。不需要一开始就配置复杂的后端框架或云服务。技术栈和版本建议如下项目建议操作系统Windows 10/11、macOS 或 Linux 均可Python建议 3.9 及以上版本开发工具VS Code免费且插件生态丰富AI 工具任选一种能写代码的 AI 产品如 ChatGPT、Claude、文心一言、豆包、CSDN 小助手等Git可选建议新手尽早接触方便保存版本这里我不建议把某一款 AI 工具当成唯一答案。这类工具迭代速度很快今天写死的版本过几个月可能就变了。更稳定的做法是先掌握“把需求说清楚”的能力再根据项目需要选择合适的工具这样才能在工具更新时依然保持生产力。安装好 Python 之后建议新建一个项目目录。后续所有练习都放在这里避免和系统文件混在一起vibe-coding-demo/ └── todo_cli.py然后在终端中进入目录验证 Python 是否正常cd vibe-coding-demo python --version如果你能看到Python 3.x.x这样的输出说明环境基本就绪。如果提示“python 不是内部或外部命令”通常是安装 Python 时没有勾选“Add Python to PATH”重新安装并勾选即可。这个问题在 Windows 上非常常见不用紧张。如果使用 VS Code建议安装两个扩展Python 扩展用于语法高亮、代码补全和运行调试Pylance 用于更好的类型提示。这样在运行 AI 生成的代码时IDE 会帮你提前发现一部分语法错误比把代码完全丢给 AI 去“猜”更高效。4. 完整实战让 AI 帮你写一个待办事项程序接下来进入今天最重要的实战环节。我会带你实现一个非常典型的 Vibe Coding 小项目命令行待办事项管理程序。这个项目很适合新手因为它的功能直观涉及数据读写能覆盖大部分 AI 编程基础场景。4.1 先写好你的提示词很多新手以为让 AI 写代码就是“帮我写个程序”但真正试过一次就会发现这个提示词太模糊了。AI 可能会给你一个爬虫、一个图形界面应用或一个命令行工具结果完全不可控。正确的思路是把需求当成“给同事布置任务”一样写清楚。你的同事需要知道做什么、有什么功能、用什么工具、输出成什么样AI 也需要。这里给出一个可以直接复制使用的提示词模板你是一名 Python 编程助教。请帮我用 Python 编写一个命令行待办事项管理程序。 功能需求 1. 支持添加待办事项。 2. 支持查看所有待办事项。 3. 支持按编号标记完成。 4. 支持按编号删除待办事项。 5. 数据保存到 todos.csv程序重新启动后可以读取。 6. 程序启动后进入交互式命令行输入 help 显示帮助。 输出要求 1. 返回完整的 Python 代码并注明保存文件名。 2. 代码结构使用函数拆分注释要清晰。 3. 默认编码使用 utf-8避免中文乱码。这个提示词看似简单但信息量很足。第一部分“你是一名 Python 编程助教”设定了角色让 AI 从教学和工程的角度回答第二段列出功能需求让 AI 知道要实现什么第三段提出输出要求避免 AI 只给一个“实现思路”而没有完整代码。很多初学者容易漏掉“输出要求”部分结果被 AI 的讲解淹没最终也没拿到可运行文件。4.2 生成并保存代码把上面的提示词发给任意主流 AI 工具后AI 生成的代码可能会和下面这段有所出入这是完全正常的。不同模型、不同时间点给出的代码风格都会不一样只要我们关注的核心逻辑一致即可。下面是一份典型输出我稍微整理过注释文件名保存为todo_cli.py。 待办事项管理程序 功能添加/查看/标记完成/删除待办数据保存到 todos.csv 运行python todo_cli.py import csv from pathlib import Path DATA_FILE Path(__file__).resolve().parent / todos.csv FIELDS [id, title, done] def load_todos(): 读取 todos.csv返回待办列表。 if not DATA_FILE.exists(): return [] with open(DATA_FILE, r, encodingutf-8, newline) as f: reader csv.DictReader(f) return [row for row in reader if row.get(title)] def save_todos(todos): 把待办列表写回 todos.csv。 with open(DATA_FILE, w, encodingutf-8, newline) as f: writer csv.DictWriter(f, fieldnamesFIELDS) writer.writeheader() writer.writerows(todos) def next_id(todos): 生成下一个待办编号。 return max([int(t[id]) for t in todos], default0) 1 def add_todo(title): todos load_todos() todos.append({id: str(next_id(todos)), title: title, done: 0}) save_todos(todos) print(f已添加: {title}) def list_todos(): todos load_todos() if not todos: print(暂无待办事项。) return for t in todos: mark [x] if t[done] 1 else [ ] print(f{t[id]}. {mark} {t[title]}) def complete_todo(todo_id): todos load_todos() for t in todos: if t[id] str(todo_id): t[done] 1 save_todos(todos) print(f已完成: {t[title]}) return print(未找到对应编号。) def delete_todo(todo_id): todos load_todos() new_todos [t for t in todos if t[id] ! str(todo_id)] if len(new_todos) len(todos): print(未找到对应编号。) return save_todos(new_todos) print(已删除该待办事项。) def show_help(): print( 待办事项管理程序 add 内容 添加待办 list 查看所有待办 done 编号 标记完成 del 编号 删除待办 exit 退出程序 ) def main(): print(欢迎使用待办事项管理器输入 help 查看帮助。) while True: try: cmd input( ).strip() if not cmd: continue parts cmd.split(maxsplit1) action parts[0].lower() if action help: show_help() elif action add: if len(parts) 2: print(用法add 内容) else: add_todo(parts[1]) elif action list: list_todos() elif action done: if len(parts) 2: print(用法done 编号) else: complete_todo(parts[1]) elif action del: if len(parts) 2: print(用法del 编号) else: delete_todo(parts[1]) elif action exit: break else: print(未知命令输入 help 查看帮助。) except KeyboardInterrupt: print(\n再见) break if __name__ __main__: main()如果你发现 AI 生成的代码和这段不太一样不要慌。核心功能无非就是“读取 CSV、写入 CSV、生成编号、增删改查、交互循环”这几块。下面我们逐个函数看一下这段代码在做什么。load_todos()负责读取todos.csv。如果文件不存在就返回空列表而不是报错。这个处理很关键因为第一次运行时程序还没有数据文件如果没有这个判断程序会直接崩溃。save_todos()负责把当前待办列表写回文件newline参数可以防止在 Windows 平台写 CSV 时每行后面多出一个空行这一点经常被新手忽略。next_id()通过计算当前最大编号加 1 生成下一个编号这样删除数据后编号不会重复。add_todo()、complete_todo()、delete_todo()对应三个核心操作。它们的共同模式是先加载数据修改内存里的列表再保存回文件。这种模式简单可靠适合新手理解。“增删改查”看起来简单但它是很多复杂系统的底层范式你以后接触更大型项目时会发现同样的套路。main()是整个程序的入口它进入一个无限循环等待用户输入命令再根据命令分发到不同函数直到用户输入exit退出。4.3 运行与验证把代码保存为todo_cli.py后在项目目录下运行python todo_cli.py预期交互过程如下欢迎使用待办事项管理器输入 help 查看帮助。 add 学习 Vibe Coding 已添加: 学习 Vibe Coding add 完成课程笔记 已添加: 完成课程笔记 list 1. [ ] 学习 Vibe Coding 2. [ ] 完成课程笔记 done 1 已完成: 学习 Vibe Coding list 1. [x] 学习 Vibe Coding 2. [ ] 完成课程笔记 exit此时再查看项目目录会发现多了一个todos.csv文件内容大致如下id,title,done 1,学习 Vibe Coding,1 2,完成课程笔记,0这说明程序已经实现了持久化保存关闭程序后重新打开数据依然还在。到这里你的第一个 AI 辅助编程项目就已经跑通了。虽然它很小但这个“从想法到可运行程序”的完整过程正是 Vibe Coding 的核心体验。4.4 让 AI 解释和修改代码Vibe Coding 的关键能力不是“让 AI 生成一次就结束
返回列表