#吴恩达

宝玉
1个月前
吴恩达老师:想让 AI 更强大,我们该往哪儿走?一个令人兴奋的新方向正浮出水面:并行智能体 (Parallel agents)。 一直以来,提升 AI 能力主要靠三驾马车:更多的训练数据、更强的训练算力,以及更强的推理阶段算力 (test-time compute)。如今,让多个 AI 智能体 (AI Agent) 并肩作战,正成为一种扩展 AI 能力、提升性能的新浪潮。 我们早就发现一个规律——这在我之前在百度带的团队和后来的 OpenAI 的工作中都得到了验证——那就是 AI 模型的性能,会随着数据量和训练算力的投入而稳步提升。如果你再让 AI 在推理(也就是解决问题)的时候多花点“力气”,比如让它像人一样思考、反思、迭代答案,它的表现还会更上一层楼。但问题是,这些方法会让用户等太久。而并行智能体,恰恰为我们提供了另一条路:既能提升结果质量,又不用牺牲用户的时间。 推理模型生成内容时,是一个字一个字往外蹦的,所以运行起来可能很慢。同样,大多数的智能体工作流 (agentic workflows) 一开始也是按顺序一步步执行的。但现在情况变了:一方面,大语言模型 (LLM) 每个 token 的价格持续跳水,让这些“大力出奇迹”的方法在经济上变得可行;另一方面,产品团队也希望更快地给用户呈现结果。于是,越来越多的智能体工作流开始被并行化。 这里有几个例子: 现在很多做研究的智能体,会同时抓取多个网页并并行阅读,从而更快地综合信息,写出富有洞察力的深度研究报告。 一些智能体编程框架,允许用户指挥多个智能体同时在同一个代码库的不同部分上工作。我们在关于 Claude Code 的短期课程中,就展示了如何使用 git worktree 来实现这一点。1 在智能体工作流中,一个迅速流行的设计模式是:让一个“劳工”智能体在后台花几分钟甚至更长时间去处理一项重度计算任务,同时派另一个“监工”智能体在前台不断向用户汇报简短的进度,让他们随时了解情况。从这个模式再往前走一小步,就演变成了多个智能体在后台埋头苦干,而一个“UI 智能体”则负责与用户沟通,甚至还能将用户的异步反馈传递给后台的“同事们”。 对于人类管理者来说,要把一个像“开发一款复杂软件”这样的艰巨任务,拆解成能让工程师们并行处理的小任务,是一件非常困难的事;想让成百上千名工程师高效协作,更是难上加难。同样,如何为并行的 AI 智能体们“拆解任务”,也极具挑战。但好在,大语言模型推理成本的降低,让我们有底气用上“人海战术”。通过并行处理,我们可以消耗海量的 token 来换取更好的结果,同时又不会显著增加用户的等待时间。 看到学术界也在积极探索这个方向,我备受鼓舞。例如,我最近读到一篇由 Ryan Ehrlich 等人撰写的论文《CodeMonkeys:扩展软件工程中的推理阶段算力》,读来津津有味。它展示了并行生成代码如何帮助你探索更广阔的解决方案空间。而王俊林(Junlin Wang)提出的多智能体混合 (mixture-of-agents) 架构,其组织并行智能体的方式简单得出奇:让多个大语言模型针对同一个问题给出不同的答案,再派出一个“总管”大语言模型,将这些答案博采众长,融合成最终的输出。 当然,如何才能最好地利用并行智能体,还有大量的研究和工程问题等待我们去探索。但我坚信,未来能够高效协作的智能体的数量——就像能够高效协作的人类一样——将会是一个非常、非常庞大的数字。
宝玉
6个月前
吴恩达老师建议:AI时代,一样要学编程,才让电脑懂你所想! *** 今天有一些人不建议大家去学编程,他们认为人工智能(AI)会自动写代码,人类写程序的工作迟早会消失。但我认为,这种建议将来一定会被认为是历史上最糟糕的职业建议之一。 曾经,一位获得图灵奖和诺贝尔奖的学者说:“程序员这个职业更可能消失,而不是变得越来越强大。因为计算机将越来越会自己给自己编程。” 我不同意这句话。那些告诉别人“别学编程”的建议是有害的。 回到1960年代,那时程序员还是用打孔卡写程序的,必须一张张地打出孔洞,非常麻烦。后来人们用上了键盘和电脑终端,编程一下子容易了很多。但就在那个时代,西蒙却做出了前面的那个预言。今天仍有人在重复着他当年的观点:“未来计算机自己会编程,不需要人类了。” 可是事实上,历史不断证明:每当编程变得更简单时,就会吸引更多人加入,而不是更少。 过去几十年里,编程的难度一直在下降: - 从最早复杂的汇编语言,发展到更简单的高级语言,比如C语言; - 从本地电脑,发展到云端环境; - 从纯文本编辑器,发展到集成开发环境(IDE); 到现在,又发展到AI辅助编程(甚至很多时候,我们都不再需要自己亲手写代码了,有人把这种轻松的方式戏称为“vibe coding 氛围编程”)。 编程难度一步步降低,也意味着现在正是大家开始学编程的最好时机。 我曾经说过,未来的技术精英会善用AI,成为某个领域的“10倍人才”,也就是一个人的影响力可以达到普通人的10倍。而达到这一点最好的方式,不是只做一个AI工具的用户,而是掌握足够的编程知识,学会如何有效地利用AI辅助编程工具。 很多人问我:“AI 会不会抢走我的工作,我该怎么办?” 我的答案是:主动去学习AI、掌控AI。因为未来最重要的一种能力,就是明确告诉计算机你想做什么,并让计算机帮你做到。学会编程(或者学会怎么让AI帮你写程序)恰恰就是掌握这种能力的最好方法之一。 之前我设计一门叫《人人都能学会生成式AI》的课程时,需要为课程生成一些AI艺术作品作为背景图。我找了一位学过艺术史的朋友来帮忙。他懂得用专业的艺术语言(比如画作风格、色彩搭配、艺术家的灵感来源)去跟AI工具(Midjourney)对话,轻松得到了非常漂亮的图像。而我自己不懂这些艺术语言,我试着去向AI描述,却怎么也达不到那么好的效果。 同样的道理:无论你是科学家、分析师、营销人员、招聘人员,还是其他行业的专业人士,只要你懂一点编程,你就能更准确地告诉AI或AI工具你想要什么,得到更好的结果。 因此,编程难度的不断降低,恰恰意味着现在是开始学习编程最好的时候。掌握软件的语言,清楚告诉电脑你想要的,才能真正让电脑帮你把事情做好。
meng shao
8个月前
看完吴恩达老师新年展望里,对大型系统中 AI 辅助开发遇到的挑战的陈述,恰好今天在公司领了个活儿,就是这个方向。 公司想把团队做了几年的软件重做一遍,时间只给了两个月,从方案设计到产品开发,因为涉及到软硬件结合和复杂的功能实现,挑战不小。 我也在思考,如果想实现这样的“挑战”,我们要怎么做,首先是常规手段: - 挑选开发和架构能力、配合推动能力强的成员组成精简的特殊产品开发测试小组 - 采用敏捷的开发模式,各个方向的开发紧密合作,降低沟通成本 - 所有流程规则从简,减少干扰打断,提升连续开发效率 - 提高自动化和工具化,测试提前介入单元和自动化测试 - 更清晰明确的架构,架构设计时更多架构伙伴充分论证,高内聚低耦合 除此之外呢,就现有团队能力,想有更大幅度的提升,当然还有一个非常重要的外援 - AI ❗️ 过去团队 AI 主要用在编程环节,这次我想做一个复杂大型工程的 AI 实践,从开发方案、架构设计、新技术理解、产品方案评估、体验设计规范、辅助编程(介入到复杂业务逻辑和设计规范程度)、辅助测试用例编写和自动化测试、服务环境设计和部署等工程的全流程各个环节,都用不同的 AI 工具辅助。 下周一敲定团队成员后正式开动,我打算把这个过程记录沉淀下来,分享到系列文章中,感兴趣的朋友可以先关注下图中的公众号 👇