@megadevhq: “如果你决定不再关注代码,你就真的必须关注原语” 完整集…
摘要
本文强调了从编码转向定义原语的转变,以构建如Cody这样的确定性系统,该平台通过消除意外来确保AI代理的安全可靠部署。
查看缓存全文
缓存时间: 2026/09/10 20:30
从代码到原语:确定性系统如何驯服AI代理
核心观点: 在自主AI代理的时代,将注意力从编写原始代码转向定义健壮的“原语“,对于构建可靠、安全且经济高效的软件系统至关重要。这一理念在一个名为Cody的个人“软件工厂“平台中得到了体现。
自主AI代理的挑战
对话始于对使用AI代理的乐趣与潜在风险的反思。虽然让自主代理在后台运行令人兴奋,但也引发了关于控制、责任和可预测性的重要问题。
“当工厂出现时,人们仍然手工制作椅子。这没问题。但当我们谈论搞定业务、解决实际问题时,我觉得你会爱上解决人们问题这个过程本身。”
核心问题在于,与代理进行原始、无结构的交互可能导致意外、出乎意料甚至有时危险的结果。一个关键例子是“OpenClaw“事件,一个运行中的代理在操作员无意的情况下订购了一艘游艇这样的实体物品。
“你听说过有人在后台运行OpenClaw,然后一艘游艇出现在他家门口的情况。那什么情况,你知道吧,我不想出现那种意外,我妻子肯定也不想。”
在这种情况下,操作员的责任受到了质疑。虽然单个代理的行动可能不危及生命,但自主系统造成伤害的累积效应需要一种更结构化的方法。
介绍Cody:一个确定性的个人软件工厂
为应对这些挑战,开发了一个名为Cody的平台。它本身并非AI代理,而是一个旨在运行和约束代理的环境。
Cody作为安全的MCP服务器
Cody被构建为一个模型上下文协议(MCP)服务器。其主要设计目标是消除意外。
“Cody是一个MCP服务器,我那样构建它是有很多原因的,其中一个就是我不希望出现意外。”
它运行在一个安全的、基于云的隔离环境中,与用户的个人机器和密钥隔离。它无法访问私钥或敏感凭证,从而降低了意外泄露的风险。
“智能体没有办法获取那些秘密令牌之类的东西。但它能够在后台自主运行,通过网络钩子、定时任务或其他方式触发。”
其能力的一个实际示例是Cody成功与Spotify集成。在一次直播中,该系统自主构建了一个控制Spotify的小型应用程序,用户只需在浏览器中点击播放即可验证其工作——一个展示其潜力的“惊叹时刻“。
不是代理,不是框架:一个由原语构成的平台
一个关键的区别是:Cody不是代理,也不是框架或工具箱。它是一个由原语组成的平台。
“它不是框架,不是智能体,甚至也不是工具箱。它不是一堆实用工具。它是一组原语(primitives)的集合。所以我说它更接近一个平台。它是你的个人软件工厂。”
给出的类比是将其比作代理的智能手机。就像一个人使用智能手机和应用程序与数字世界交互一样,代理使用Cody来与服务交互、部署结果并可靠运行。这使得代理的工作持久且可重复。
核心概念:软件开发中的原语
讨论的焦点转向了“原语“的定义和重要性。演讲者根据担任团队负责人的经验,将原语定义为实现高效且一致的功能开发的基本构建块。
定义原语
原语是团队组装以创建功能的可重用组件、数据模型和基础设施。它们的范围从底层元素到高层抽象。
“这些部分就是原语。所以原语涵盖范围很广。它们甚至是数据模型、数据基础设施,比如用于OAuth或你的授权认证堆栈的基础设施,一直到你的组件以及你如何设置样式。”
目标是建立一个如此清晰的组件库,以便当需要新功能时,工程师们能立即知道要组合或扩展哪些原语。
原语的层级特性
原语是分层存在的。每一层都建立在其下一层原语的基础上,形成一个抽象“千层糕“。
“我认为,嗯,你可以把每一层都看作是上一层事物的原语,对吧?所以我们总是在构建下一层抽象。”
一个来自PayPal的实际例子:一个用于货币值的复杂数字输入字段在三层中构建:
- 一个基础的、无样式的骨架组件。
- 在此之上构建的几个组件,每个都具有不同的行为细微差别。
- 基于这些组件的多种样式化实现。
这种分层方法允许在不重复核心逻辑的情况下实现一致性和自定义。
原语与AI代理:一致性胜过意外
在与AI代理合作时,原语的重要性被放大了。代理由于其非确定性,可能产生不同的输出。原语强制执行一致性和可预测性。
“如果你没有一个好的原语,输出质量就不会好,因为这个智能体会这样做,那个智能体会那样做,然后另一个智能体又用另一种方式做。”
例如,如果要求代理生成一份报告,而没有定义的原语(如特定的HTML模板),它每次可能产生不同的格式、样式或结构。虽然创造性的变化可能很有趣,但这对于需要可靠性的业务流程是有害的。
“如果你没有一个明确说明我想要的报告类型的模板,我每次得到的报告都不同。格式不同,样式不同,功能不同,语言不同,结构也不同… 我希望每次得到一样的东西。”
将原语应用于代理基础设施
讨论回到了Cody如何将这些概念付诸实践,将短暂的代理交互转化为健壮的系统。
从Markdown指令到持久软件
许多人使用冗长的Markdown文档来定义代理的工作流程。演讲者认为这既低效又存在问题:
- 非确定性: 导致结果各异。
- 效率低下: 在令牌使用方面既慢又昂贵。
- 不安全: 通常需要在
.env文件中暴露密钥,而代理可以访问这些密钥并可能泄露。
Cody通过将这些基于Markdown的流程描述转化为持久、可重复且可预测的软件原语来解决这个问题。这使得代理交互:
- 更快更便宜: 避免了每次重新解析冗长的指令。
- 更安全: 从不向代理本身暴露密钥。
“它实际上将那些Markdown文档变成了持久、可重复、可预测的东西,而且安全得多,便宜得多。”
“软件工厂“的平台
最终,Cody作为一个个人“软件工厂“,是这些原语的载体。它提供了一个安全、确定的基础,用于有效部署代理,确保它们产生的工作是一致的、可扩展的,并且适合生产使用。
对话最后触及了这种方法的实用性,指出许多工作甚至可以通过手机管理和触发,强调了需要基于原语的高效系统,而非手动的、代码密集的流程。
“作为一段软件,不存在生死攸关的情况。但当我们的智能体造成危害时,作为操作者,我们是否负有责任?”
从编写每一行代码转向定义和管理高质量原语,这不仅被视为一种技术优化,而且是在自主代理时代构建可信软件的必要演进。
来源: 完整节目 - @megadevhq: “if you’re going to stop paying attention to the code, you really have to pay attention to the primitives” (https://www.youtube.com/watch?v=0-FbGBb3qeg)
相似文章
@megadevhq: “我原以为我热爱编程,但其实我热爱的是解决问题” 🎙️ @kentcdodds @joelhooks
Kent C. Dodds 解释了他的 Cody 平台,用于运行确定性AI代理,强调了软件原语在构建可靠和安全系统中的作用。
@rohit4verse:AI 并没有让代码变得廉价,而是让劣质代码变得致命。Matt Pocock:“软件基础比以往任何时候都更重要”AI 在……
探讨了 AI 如何放大代码质量的影响,强调软件基础比以往任何时候都更重要,并推荐了构建可靠 AI agent 的五种设计模式。
@djfarrelly: https://x.com/djfarrelly/status/2052779234234380479
本文主张,AI Agent 的开发应基于稳定的执行原语,而非会随新兴编排模式频繁更迭的僵化框架。文章强调,采用持久化步骤、持久状态、并行协调、事件驱动流程以及可观测性设计,可有效避免因最佳实践不断演进而付出的高昂重写代价。
@leerob:你可能认为因为AI,你应该少花时间思考代码。我强烈反对!我们正看到这……
文章认为,尽管AI取得了进步,工程师仍然必须理解代码和系统,因为AI生成的代码可能成为负担,并强调了计算机科学基础和系统设计的重要性。
@kentcdodds: This is a great article and is exactly the kind of thing I'm talking about in my most recent YouTube video https://yout…
Kent C. Dodds shares an article and YouTube video arguing that the quality of AI agent outputs depends on the design of system primitives—providing agents with well-crafted, composable building blocks narrows their action space and yields reliable results.