宝玉
3个月前
很多公司或者开发者在开发智能体时,为了节约成本,会在一开始就选择便宜的能力较弱的模型,于是要花费很多时间在工程上,但实际上,在原型设计和基线测试阶段,应首先使用当前可用的最强大的模型(例如 Claude 4、o3、Gemini 2.5 Pro 等)来构建智能体 。这样做的目的,是为了建立一个性能基准(Performance Baseline)。通过使用能力最强的模型,可以最大限度地确保智能体能够成功完成任务,从而验证工作流设计、工具定义和指令清晰度的有效性 。   这种策略看似有悖于常规的成本控制直觉,但在AI开发初期却至关重要。在智能体开发中,最大的不确定性并非来自执行效率,而是来自推理能力——即“这个复杂的任务是否有可能被自动化?”。如果从一开始就使用一个能力较弱的模型,当智能体执行失败时,开发者将面临一个难以诊断的困境:失败的原因是指令不够清晰,是工具存在缺陷,还是模型本身就不够“聪明”?这个混杂的变量使得问题排查变得异常困难。 反之,通过从最强模型入手,开发者实际上是在测试中消除或最小化了“模型能力不足”这一变量。如果在这种最优配置下智能体仍然失败,那么问题几乎可以肯定地归结为指令或工具的设计缺陷——这是一个更具体、更易于解决的工程问题。这种方法论首先验证了项目的“可行性”,然后再去优化“经济性”,从而有效地为项目早期阶段去风险,避免团队因过早使用能力不足的模型进行测试而错误地放弃一个本有潜力的应用场景。 一旦通过最强模型成功建立了性能基准,并利用评估框架(Evals)量化了其表现,下一步就是进行迭代优化。开发者可以尝试将系统中部分或全部任务替换为更小、更快或成本更低的模型,然后再次运行评估,观察其性能是否仍在可接受的范围内 。并非所有任务都需要顶级模型的推理能力。一个复杂的智能体系统可能会采用异构模型部署策略:例如,由一个强大的“主管”智能体负责顶层规划和决策,而将一些相对简单的子任务,如意图分类或数据格式化,交由更小、更快的模型来处理 。这种数据驱动的优化过程,使得团队能够在性能、延迟和成本三者之间找到最佳的平衡点 。
宝玉
3个月前
转译:为什么生成式 AI 编程工具和智能体对我没用 作者:Miguel Grinberg 人们总是问我,我是否使用生成式 AI 工具来编程,以及我对它们有何看法。因此,我决定将我的想法写下来,这样以后再有人问起,我就可以直接把这篇文章甩给他们,而不必每次都重复自己的观点。 从标题你大概已经猜到,这不会是一篇吹捧 AI 的博文。但它也不是一篇反对 AI 的文章,至少我不这么认为。市面上已经有太多 AI 吹和 AI 黑写的文章了,我觉得没必要再多我这一篇。虽然在这个话题上我绝非中立,但在这篇文章里,我只想从纯粹技术的角度,分享我个人使用这些工具的真实体验。 AI 并不更快 说真的,生成式 AI 工具对我没用的最主要、也是最重要的原因是:它们并没有让我写代码变得更快。就这么简单。 使用生成式 AI 编程工具来为我写代码,听起来很容易。如果是一个 AI 智能体,那就更方便了,它在我做别的事情时就能直接编辑我的文件。原则上,这一切听起来都很美好。 但问题在于,我需要为这些代码负责。我不能盲目地把它们添加到我的项目中,然后祈祷一切顺利。只有在我彻底审查并确保完全理解了 AI 生成的代码之后,我才可能将其整合进我的项目。我必须有信心在未来能够修改或扩展这段代码,否则我就不能用它。 不幸的是,审查代码实际上比大多数人想象的要困难得多。审查一段不是我写的代码,至少要花掉我与亲手写这段代码相同的时间,甚至更多。我们行业里有句名言,大意是“读代码比写代码更难”。我记得最早将此概念理论化的人是 Joel Spolsky(Stack Overflow 和 Trello 的创始人),在他的文章《有些事你永远不该做,第一部分》中提到了。 你可能会说,可以把 AI 写的代码当成一个“黑箱”。我想,你可以说服自己,只要代码能按预期工作,就可以安全使用,无需审查,这样就能提升一些生产力。但在我看来,这是极不负责任的,因为如果这段代码将来出了问题,AI 是不会承担任何责任的。无论有没有 AI,我永远是我产出的代码的第一负责人。在我看来,承担如此巨大的风险是疯狂的。 这一点在我从事的某些工作中尤为重要,因为这些工作涉及签署合同、法律义务和金钱交易。如果我是以专业人士的身份被雇佣,那我别无选择,只能做到专业。AI 工具无法帮我赚更多钱,也无法让我在更短时间内完成工作。我唯一能通过它实现这些目标的方式,就是牺牲工作质量并引入风险,而这是我绝不愿意做的。 AI 不是生产力倍增器 我听过有人说,生成式 AI 编程工具对他们来说是生产力的“倍增器”或“赋能器”。基本上,持这种观点的人声称,使用生成式 AI 后,他们能工作得更快,也能处理更复杂的问题。可惜的是,这些说法仅仅基于使用者自身的感觉,并没有确凿的数据来支持。我猜,或许有些人审查代码的效率比我高,但我对此表示怀疑。我认为真实情况是,这些人之所以能节省时间,是因为他们只对 AI 生成的代码进行抽查,或者干脆跳过了整个审查阶段——正如我上面所说,这对我来说是绝对无法接受的。 另一个我常听到的论点是,当你需要用一种不熟悉的语言或技术编写代码时,生成式 AI 会很有帮助。对我来说,这同样没什么道理。作为一名软件工程师,我最享受的部分就是学习新事物,所以“不懂”从来都不是我的障碍。你越是练习学习,学习的速度就会越快、越容易!近年来,我为了不同的项目,不得不学习了 Rust、Go、TypeScript、WASM、Java 和 C#,我绝不会把这个学习的过程委托给 AI,哪怕它能帮我节省时间。当然,它也省不了,原因还是上面那些——我要为我产出的代码负责。抱歉,我在这点上有点啰嗦。 AI 代码不同于人类代码 前几天我和一个朋友聊起这些观点,他问我,既然如此,为什么我乐于接受人们为我的开源项目所做的贡献呢?那些不也是别人写的代码吗?为什么人类写的可以,AI 生成的就不行? 真相可能会让一些人感到震惊:用户提交的开源贡献其实也并不能节省我的时间,因为我同样觉得必须对它们进行严格的审查。但是我享受与那些对我的项目感兴趣并花时间报告 bug、请求新功能或提交代码修改的用户合作。这些互动首先是新思想的源泉,它们直接帮助我把工作做得更好。这正是我热爱开源工作的地方! 我的朋友仍然不服气,他建议我可以并行启动一堆 AI 智能体,为我所有未解决的 bug 创建拉取请求(PR)。“这会改变游戏规则的!”他说。不幸的是,这只会花掉我的钱,并且可能让我变得更慢,原因已如前述。即便我们假设 AI 编程工具已经足够成熟(实际上还差得远),能够在很少或没有监督的情况下修复我项目中的问题,我仍然是那个瓶颈,因为所有这些代码在合并之前都必须经过我的审查。 AI 编程工具唾手可得,其不幸的一面是,现在一些用户也用它们来生成低质量、敷衍了事的拉取请求。我已经收到过一些这样的 PR,有趣的是,当我开始阅读那些未经真人编辑和润色的 AI 代码时,一种“恐怖谷”效应在我心中油然而生。当我遇到这类 PR 时,我会开始向提交者追问他们代码中那些奇怪的部分,因为我认为他们需要为自己想要合并的代码负责。但他们,通常很少回应。 AI 不等于实习生 许多 AI 倡导者说,你应该把你的 AI 编程工具当作一个渴望取悦你的实习生。我认为说这话的人,大概从没带过实习生! 在初期,将工作委派给实习生会导致你的生产力下降,原因和我上面列举的差不多。实习生需要大量手把手的指导,他们产出的所有代码在被接受前都需要仔细审查。 但是,实习生会学习并随着时间的推移而进步。你花在审查代码或向实习生提供反馈上的时间并没有被浪费,这是对未来的投资。实习生会吸收你分享的知识,并将其用于你之后分配给他们的新任务中,随着实习期的推进,对他们进行密切监督的需求会逐渐减少。最终,实习生常常因为成长为成功的独立贡献者而被公司聘为全职员工。 而一个 AI 工具,最多只能算是一个患有“顺行性遗忘症”的实习生,这可不是什么好实习生。对于每一项新任务,这个“AI 实习生”都会重置回原点,什么也没学会! 结论 我希望通过这篇文章,我已经清楚地阐述了我在工作中应用生成式 AI 编程工具时遇到的技术性问题。 根据我的经验,AI 编程这回事,天下没有免费的午餐。我相信那些声称 AI 让他们更快或更高效的人,是为了实现这些收益而有意识地选择放宽了他们的质量标准。要么是这样,要么他们这么说,只是因为他们自己能从向你推销 AI 中获利。
Susan STEM
3个月前
和我的想法差不多,我的剧毒公式是:凡这个业务和职位的工作核心是将非格式化信息转化为格式化信息的白领工作,都会被替代。就算这个工作涉及协调人际关系,但是这种人际关系本来就是建立在这份任务需要多人完成的基础上的。Turning unstructured data into structured data. -会计学、财务管理: 将被智能财务系统大规模替代。 基本只剩下输入端,中专毕业就能做了。而且报表高度定制化,输出极专业。这个行业我还比较了解。 -金融学(普通院校): 你学到的所有量化模型和分析技巧,AI做得比你好一万倍。人机共决策量化模型一定会出来。 -新闻学、广告学、传播学:* AIGC(AI生成内容)将淹没这些行业。 这个行业我不了解。 -法学(非诉方向): 合同审查、法律研究等工作将被AI法律助手高效完成。 是,而且法律智能体,针对各行业的法律智能体,甚至个人向的法律顾问智能体会变得触手可及。 -工商管理、市场营销、人力资源管理: 充满了大量可被AI优化的流程化工作。 不需要用专业来学。 -翻译: 不用解释。 非常了解这个行业,完全同意。可以提高个人素质,但是无法变现。 -计算机科学(普通院校): 这是最大的陷阱。你会成为“代码校验员”,与全球海量的、有AI辅助的低薪工程师竞争,你的“认知”毫无稀缺性可言。嗯,计算机成为通识。但是同样有一部分人会变成超级个体程序员。两极分化。