AI 不止能10倍速开发,还能10倍速学习
在消费级扫地机刚兴起的时候,曾在B站上看过一个扫机器测评,过程中有一个无关测评主题的结论让我印象深刻,带有路径规划的高端扫地机实际清洁效果反而不如不带路径规划的低端机。因为低端机的路径策略是遇到障碍物就无脑反射,所以最终的完整路径存在大量的重叠,相当于一片地拖了 N 遍,清洁效果自然更好。
说这个是因为这个现象跟我们学习掌握一门新技术的某些过程很相似。当我们需要掌握一门新技术时,通常会经过基础调研、横向竞品对比、纵向生态位对比、设计一个最大化覆盖技术应用场景的需求、边学习边开发这个需求、最终复盘。整个过程最花时间的就是开发,毛估会占到整体的七成以上,而这七成里的绝大部分时间又都花在查文档、理解API、踩坑、调试、重构、再踩坑,周而复始,经过这个不断碰壁的学习过程,最终我们不光学会了该技术是什么,同时也深刻理解了该技术不是什么,而这就特别像一个低端扫地机扫地的过程,大量微观上重复的犯错,获得宏观上深刻的正确。
然而这种方式太慢了,有办法提速吗?之前没有,现在有了。
最近想学习 Agent 开发,利用周末两天时间,借助 ChatGPT + Codex 完成了正常八周的企业级 Agent 开发学习。基本思路是将学习过程中所有与物理世界的摩擦成本转嫁给 AI ,我只负责拿结果。快是真的快,但我不想像公众号一样鼓吹 AI 有多么神奇,随着对这次学习过程的复盘,其实可以清晰的看到快是快在哪里,代价又是什么。
首先我在 ChatGPT 里提问:
1 | 我想学习企业级Agent的开发,希望通过个人项目开发了解 Agent 开发的基本思路和常用问题以及处理方案 |
然后ChatGPT给了我一个方案,大致意思是:
1 | 我帮你设计课程路线、项目架构、每一步目标和验收标准 |
继续请 ChatGPT 设计具体课程:
1 | 好,我已经创建了git 仓库用于完成这个项目,你来设计一套 8 周项目制课程大纲,每一课都配好,然后告诉我接下来该怎么做 |
于是得到了项目成果目标:
1 | 一个通过 Telegram Bot / 飞书 Bot 使用的个人 Agent 服务: |
建议技术栈:
1 | TypeScript |
以及8 周项目制课程大纲:
1 | 第 1 周:项目骨架 + Bot + Agent 最小闭环 |
并且贴心的将后续每一步需要我参与的操作都交代的清清楚楚,把上手难度降到了胎教级,比如:
- 需要交给Codex的提示词
- 本地如何运行开发服务
- 每一步结束后需要把哪些结果发回来检查
在每一个阶段的学习中我需要做的就是:
- 阅读并理解阶段任务目标
- 阅读 Codex 提示词并理解开发思路
- 等待 Codex 执行
- Review 代码,理解技术细节,判断大方向的合理性
- 运行结果并再次对照代码理解技术细节。
为了巩固学习效果,还增加了每一阶段必须让我通过阶段考核的强制要求,确保掌握当前阶段内容才进入下一阶段:
1 | 进入第二周之前先确保我能正确回答前一周的问题,以后也都按这个顺序来。 |
整个学习过程,就是将上述过程重复八次,平均每次两小时,共计耗时两天。
纵观整个过程,会发现几乎每一个环节都被极大的提速了。技术调研成本可以趋近于零;设计学习路径在 AI 到来之前也是很一件考验工程素养的事,现在也可以几乎零成本设计出符合自身情况的学习路径;对照文档敲代码这种事更是不需要再做了。而且 ChatGPT 还充当了导师角色,为每一个学习阶段提供明确的推进结构,可以让我每一步都知道为什么这么做、需要做到什么程度、做完要理解什么。
1 | 目标 |
回到扫地机的例子,低端机的”笨”,恰恰是它深度清洁的来源,这次两天的 AI 辅助学习,更像是高端扫地机的路径规划,每一个知识点都精准覆盖,没有冗余,没有重复,整整齐齐走完课程大纲。
但是,恰恰因为我没撞过墙,所以不知道哪些设计决策在实践中会反弹;我没有亲自做调研,所以对于竞品间的差异缺少真实体感;我没有在调试中反复绕路,所以对技术设计思路缺乏理解;我没有踩过坑,所以下次遇到同样的坑,我甚至不知道那是个坑。这就是极速学习的代价:只得到了知识的骨架,却没有得到血肉。
知识的血肉是那种仅凭直觉就能做出正确判断的能力,是大脑中的肌肉记忆,是靠时间堆出来的,是犯错、反思、重构、再犯错的循环产物,是在实际运用中要发挥出技术厚重性所必须的东西。
所以这种学习方式有一个容易被忽略的前提:学习者本身需要有相应的工程经验和系统化知识储备,需要知道什么是好的架构、能识别 AI 产出的代码质量、知道在哪一步该追问、哪一步差不多就够了。也就是说,他的知识体系要能容纳这个凭空增加的技术骨架。
过去我们衡量一个工程师,很大程度上看的是实现能力——你能多快写出能用的代码、能记住多少 API、能覆盖多少技术栈。当这些能力被 AI 拉平之后,真正稀缺的能力会转移到更上游:
第一,判断力。 能看出 AI 写出来的代码是真好还是看起来好——这不仅需要技术深度,还需要见过足够多的烂代码和好代码,知道好与坏的边界在哪里。AI 可以写代码,但它不会为你的生产事故负责。
第二,系统思维。 能设计系统、拆解问题、定义模块边界。AI 擅长在一个清晰的边界内做填空题,但谁来画这个边界?谁来确保八个模块拼在一起是一个自洽的整体?需要人,一个能从全局视角做权衡的人。
最后回顾这次经历,我得到了我需要的关于 Agent 开发的认知地图,效果就像一个科班出身的优秀毕业生给我讲了一遍专业课。之所以说是毕业生,是因为模型只能给你阳光下的知识,而我认为任何一个行当都应该至少还有一半阴影下的知识,那是学校不教的,模型大概率也没戏。
除此之外如果说还有什么美中不足,那就是竞品分析这个环节我认为最好还是得亲力亲为,竞品分析的过程,就是对一项技术做横向和纵向对比的过程,期间会自然而然的了解到更多的关联技术和完整的上下游生态,最终会完善并扩大我们自己的知识图谱。而一个足够宽广的知识图谱,是一切工程师优秀素养的前提,理想清况下当我们遇到任何新技术时,都应该可以快速为其在知识图谱中找到大致的纵横定位,只有这样,后面的判断力和系统思维才能够成为可能。