Agent First

OpenAI官网,分享了一个最新的官方AI实践案例,很有意思 他们从一个空的Git仓库开始做实验,整个产品从应用逻辑、测试、CI配置、文档、可观测性到内部工具,全都由Codex生成,而且他们刻意坚持“人不手写代码”这条原则。

这样做的目的,是为了逼自己面对一个新问题:当工程团队的主要工作不再是写代码,而是设计环境、明确意图、构建反馈回路时,软件工程会变成什么样。 

5个月的时间,一百万行代码、1500个PR,交付了一款软件产品的内部beta版。

  1. 早期进展其实进展比较慢,原因是环境规范不够明确,智能体缺工具、缺抽象、缺内部结构,所以无法顺利推进高级目标。 于是工程师的工作重心就发生了变化,开始转向拆解目标、补充能力、建设工具、补齐结构,去帮助智能体完成有用的工作。 

所以,团队的核心工作,就变成了“如何把工程系统改造到足以让智能体稳定工作”

OpenAI在文中举了很多非常具体的动作。 比如,为了让Codex能更直接地理解和验证应用,他们让应用支持按git worktree启动,让智能体为每次改动都能驱动一个独立实例; 比如,他们把Chrome DevTools协议接入智能体运行时,让Codex可以处理DOM快照、截图和导航;他们还把日志、指标、追踪通过本地可观测性栈开放给智能体,允许它用LogQL和PromQL去查询系统状态,这样一来,智能体就不只是“写一段代码”,它还能复现错误、验证修复、观察运行结果,并在反馈中继续迭代。 他们甚至实现了单次Codex运行常常会持续工作六个多小时。

  1. 在这个体系里,真正重要的已经不是“生成能力”本身,而是“可读性”和“可验证性”。 OpenAI后面专门花了很大篇幅讲“代码仓库要成为记录系统”。 他们最早尝试过把所有规则都塞进一个巨大的AGENTS.md里,结果失败了,原因是:上下文是稀缺资源,大文件会挤占任务和代码的空间;所有东西都写成“重要”,最后就没有重点;这种大而全的说明书很快就会腐烂,变成陈旧规则的坟场;而且它也很难做机械化校验。 于是他们换了做法,把AGENTS.md缩短成一个大约100行的目录,把真正的知识沉淀进结构化的docs目录里,让仓库成为知识和决策的记录系统。

比如:给Codex的应该是一张地图,不该是一部一千页的说明书。 这句话特别关键 它其实讲清楚了智能体时代的一个基本规律:你不能期待一个系统靠“堆提示词”长期稳定运行,你得给它地图,给它边界,给它索引,给它能逐层深入的知识结构。

  1. 最后,比工程能力更重要的,是审美与规则制定能力 只有文档还不够,文档本身无法维持一个完全由智能体生成的代码库的连贯性。真正有效的,是把不变量编码进去,把架构边界机械化执行。 他们围绕严格的架构模型构建应用,每个业务域都有固定层次,依赖方向被严格验证,只允许有限的边,通过自定义linter和结构测试自动强制执行。 他们甚至连结构化日志、命名约定、文件大小限制、平台可靠性要求,都做成了规则。 文中有一句很值得记住:在人类工作流里,这些规则会显得有点迂腐;到了智能体环境里,它们会变成倍增器。 

这句话也很有感触 过去很多工程团队对规则是有天然抵触的,觉得束手束脚,影响发挥。 可一旦进入智能体高吞吐的工作方式,规则的价值就完全变了,规则不再只是限制,它同时也是放大器,规则越清晰,边界越明确,智能体跑得越快,漂移越少,返工越低。

  1. OpenAI强调分享,当他们说代码库由Codex生成时,指的是整个代码库,包含产品代码、测试、CI配置、发布工具、内部开发者工具、文档、设计历史、评估框架、审阅评论和回复,甚至连管理代码仓库本身的脚本、生产仪表板定义文件,也都在这个范围里。 人类一直在场,只不过工作抽象层发生了变化,人类负责优先级、把用户反馈转成验收标准、验证结果;智能体负责执行;一旦卡住,人类就去识别缺失的工具、指导、约束和文档,再把这些缺失反馈进代码仓库,让Codex自己把补丁写出来。 
  2. 这篇博客到底分享了啥? 一开始,他们想验证AI能否独立构建产品。 很快他们发现,真正难的部分不在代码生成本身。 随后他们开始重建环境,让应用、日志、文档、架构、评审、测试都对智能体开放。 再接着,他们把规则和品味持续编码进系统,让智能体能在边界内高速工作。 最后,他们甚至让Codex具备了端到端推动新功能的能力,能够验证状态、复现Bug、录制问题视频、实施修复、运行验证、录制解决视频、发起PR、回应反馈、修复构建故障,并在只需要判断的时候才把问题交给人。 
  3. 其实到这一步,AI时代的软件工程的味道已经变了。 会感觉到,OpenAI这篇文章真正想表达的,是一种新的工程现实:来工程体系里,代码只是结果层,更高杠杆的部分,在环境、上下文、架构、约束和反馈回路。
  4. 当然,文章并没有把这件事写得特别乐观主义。 它也很诚实地写了问题。完全自主的智能体会复制代码库里已有的模式,包括那些不够理想的模式,时间一长就会漂移,产生“AI残渣” 他们早期每周五都要花大量时间手动清理这些东西,后来发现这根本不具备扩展性,于是开始把“黄金原则”直接编码进代码仓库,再通过后台Codex任务持续扫描偏差、更新质量等级、发起重构PR 作者把这个过程比作垃圾回收。我觉得这个比喻非常准。 
  5. 一个高产系统,天然会制造熵。 你让智能体大规模生成代码,系统就必须有与之匹配的降熵机制。 否则提效只会变成更快地堆积混乱。
  6. OpenAI说,他们还不知道一个完全由智能体生成的系统,长期来看架构连贯性会如何演变;他们还在学习人类判断力最应该放在哪些地方,以及怎么把这种判断力编码进去;他们也还不知道,随着模型能力继续变强,这套系统未来会怎么变。唯一比较明确的是,软件开发依旧需要纪律,只不过这种纪律越来越体现在支撑结构上,而不是体现在某一行代码里。 

当智能体开始成为工程主力后,真正稀缺的能力会转移到环境设计、规则编码和反馈系统建设上

博客案例原文:<openai.com>

从AI Coding到AI Native

关于技术人员使用AI,最近有一个观察 很多技术人员已经开始大量使用AI写代码,这个能力也确实在很多场景里发挥了作用。但我发现,一个很普遍的问题在于,他们往往只是使用了AI的编码能力,却没有真正把AI带入工程设计、产品设计、体验设计和系统架构这些更深层的环节

也就是说,AI帮助他们提升了写代码的效率,却没有真正改变他们构建软件的方式 最终做出来的,依然还是传统IT时代的软件形态和使用流程。比如,用AI Coding快速生成大量按钮、页面和功能模块,但用户依然需要在复杂的界面里点来点去,经过很多繁琐操作,才能完成一个目标

更重要的,其实是面向AI时代重新定义体验、工程和架构的能力 最近很火的AI Native,我理解核心也在这里

很多人对AI的使用,仍然还停留在“让AI执行代码生成”这一层面 也就是,仅仅在用AI加速旧世界的软件建造方式,还没有用AI重构新世界的软件设计逻辑。

但AI更重要的价值,还应该体现在产品形态、工程结构、交互体验、系统架构这些层面都发生变化,它要求产品从底层开始就是“AI原生”的,而不只是“AI参与开发”的

这一层的难度,其实要大得多。 我自己最近在写系统时,也越来越强烈地感受到这一点。 让AI写一段代码、做一个小功能、补一份文档,这些事情已经越来越容易,效率也很高,但是,当真正要做一个非常精巧、非常协调、真正适合AI时代的系统架构时,难度会提升很多

我甚至觉得,未来会出现三类人。

第一类,AI代码使用者 他们能把开发效率提得很高,但做出来的大多还是旧范式产品

第二类,AI工作流设计者 他们开始理解怎么把模型、工具、知识库、状态流、反馈机制串起来,产品已经比传统软件更进一步

第三类,AI Native架构师 他们思考的重点已经变成:人在这个系统里到底该做什么,AI该接管什么,界面该保留多少,流程该压缩到什么程度,系统怎样围绕“意图”而不是“功能菜单”来组织 第三类人,才最稀缺

算命的本质

算命真正满足的,很可能是一种更深层的心理需求:存在感 人类对存在感的需求,比我们想象得更强烈

比如,一个孩子第一次看到地图,几乎所有孩子都会做同一件事:先找自己在哪里 有人会指着地图上的一点说,看,我们就在这儿 那一刻,孩子会有一种很奇妙的踏实感

这种感觉可以叫作“被安放”,在物理空间里,我们有地图,地图解决的是位置问题 在心理空间里,人也同样需要一种地图,比如:

  • 我是谁?

  • 我为什么会这样?

  • 我经历的这些事情意味着什么?

  • 我现在在人生的什么阶段?

当这些问题没有答案的时候,人会产生一种难以描述的不安,生活的很多经历会显得杂乱、偶然、没有结构,算命系统恰好提供了一种结构。 无论是八字、星盘,还是MBTI,本质上都在做同一件事情:把一个人的经历放进一个框架里,这个框架会告诉你,你属于哪一类人,你的性格结构是什么,你这一生可能经历什么样的阶段 这些解释未必准确,但它们会产生一个非常重要的效果:把混乱变成叙事

人类其实是一种叙事动物 同样一段经历,如果没有故事结构,它只是零散的事件。但一旦进入叙事结构,它就变成了人生的一部分 比如,一个人经历了失败 如果没有叙事结构,这只是一次挫败,但如果有人告诉你,这是“命里的坎”,是“必经之路”,那种体验会发生变化 受苦本身很难忍受,但如果这是渡劫,就可以忍受

算命真正厉害的地方,在于提供一种解释系统,它把一个人的经历碎片缝合起来,让这些碎片看起来像一幅完整的拼图 很多人去算命,其实并不是为了知道未来会发生什么,他们更想确认一件事:我现在经历的这些事情,是有意义的

还有一个经常被忽略的心理机制,算命语言几乎总是强调独特性 现实世界的评价体系往往是单一维度的,学校看成绩,公司看绩效,社会看财富,一个人的复杂性很容易被压缩成一个简单的标签

而算命体系刚好相反,它会不断告诉你,你是特别的,比如:你的命格独特、你的人生轨迹不同、你这一生有属于自己的故事 哪怕这种独特带着某种苦难,例如情路坎坷、操心命、大器晚成,人们仍然更容易接受 因为对很多人来说,真正难以忍受的不是倒霉,而是无意义的普通

当然,这种系统也有风险,算命会悄悄改变一个人对存在感的理解

存在感原本有两种来源 一种是行动型的:我在世界上创造了什么 另一种是位置型的:世界给我安排了什么位置

算命体系往往更强调第二种 当一个人越来越依赖这种解释体系的时候,他就可能慢慢从行动转向解释,事情发生之后,人更习惯寻找解释,而不是寻找行动路径 解释是安慰性的,行动是有风险的

于是,一个微妙的循环就可能出现

  • 越缺乏存在感的人,越需要解释

  • 越沉迷解释的人,越减少行动

  • 越缺乏行动,存在感就越薄弱

算命在这个循环中,就变成了一种持续提供意义的装置 从这个角度看,算命其实像一种心理缝合术,它不会改变现实,但可以把一个人破碎的体验暂时缝合起来 它提供的是三样东西:承认、独特性、结构感 当这些东西出现的时候,一个人就会产生一种感觉:我的经历被理解了,我的人生是有结构的 这种感觉本身就具有很强的安慰作用,所以算命真正的作用,更像是在帮助你完成一件事情:把现在的自己,缝合成一个可以被讲述、被理解、被容纳的整体

问题只在于,这种缝合是暂时的,还是永久的?如果它只是让一个人恢复力量,然后继续行动,那它可能只是某种形式的心理安慰;但如果它变成了一个人理解世界的唯一方式,那就很容易削弱一个人真正的能力

狼,不只是狠

对于狼,我们常有一个误解 这个误解就是,我们想起它,常常停留在“狠”、“野”、“群体作战”这些特征上

但是,对狼这个物种,真正稀缺的能力,其实是:忍耐。

因为在野外,狼面对的很多猎物并不弱,鹿、麋鹿、野牛这类目标,体型、速度、力量都很强。 狼如果只靠凶狠,往往会受伤,甚至丧命。 对野生动物来说,受伤本身就是重大风险,所以狼不可能把“莽”当成核心策略。

狼更厉害的地方,其实在于这几层能力:

第一层,克制 它不会因为饿了就立刻扑上去,也不会因为发现目标就贸然出手。它会观察、试探、跟随、消耗,先判断这个猎物到底有没有漏洞。

第二层,耐心 很多时候,真正的捕猎并不是那一下扑杀,而是前面很长时间的等待、追踪和筛选。狼会找老弱病残、掉队者、失误者,寻找概率更高的机会。

第三层,纪律 即便是群狼协作,关键也不只是“团结”,而是行动上的节制。什么时候逼近,什么时候拉开,什么时候围堵,什么时候停止,背后都需要一种高度一致的判断。

第四层,果断 狼平时很能忍,但一旦时机出现,它的动作又极快。这说明它不是软弱地等待,而是在为高胜率的一击蓄力

睡眠优先

这两年,一直保持早期的习惯。 每天早上6点,手表准时震动,提醒我起床。慢慢地,6点晨起成了一种默认习惯,去年和前年,每天大多数都是如此。

去年年底,我回看了一下自己的全年睡眠数据,平均每天大约7.5小时。

今年春节回老家,放弃了晨起的节奏,差不多每天睡眠时间8到9小时。 连续几天之后,明显感觉状态更好。

回到北京后,即使6点手表依旧震动,也没有立刻起来,而是顺势再睡一会儿,大概6:50左右起床。 持续一段时间后,我决定正式调整这个节奏,把睡眠的优先级往上提。

于是,把手表的起床提醒从6点调到6:40,这样,每天理论上多出40分钟睡眠时间。 按全年计算,平均睡眠时长大概率能提升到8小时左右。

前两年,我把运动放在更高优先级,现在来看,睡眠其实是更底层的变量,恢复能力、训练质量、情绪稳定、决策效率,都高度依赖它 我给自己的健康公式做了一次更新:睡眠 + 饮食 + 运动 + 情绪 + 用药,睡眠的优先级更高