只要底层代码是AI写的,那么软件工程的范式必定要发生变化 Warning: 这是一个扯淡贴,我自己都没把细节想清楚,纯探讨,纯扯淡。 我们正在进入下一个软件工程的范式:生态化(没错,就是那个 eco-system,生化环材里的“生”,生物这个学科里会涉及的生态)。 关键在于AI写出来的代码你怎么定位 过去几年,程序员群体围绕着“AI 会不会替代程序员”这个话题吵了无数次,互相拉黑、互相开喷。但在我看来,这些争论都白费了,因为根本问题一开始就问错了。真正的关键不是“AI 替代与否”,而是:你究竟如何定位 AI 写出来的代码? 有人可能觉得奇怪:AI 写的代码,不就是代码吗?还能是什么?可你回想一下大学里的“软件工程”这门课,那真的是“写代码课”吗?当然不是。软件工程讲的是一个多层次的工程体系,而不只是单纯的代码实现。Layers! 所以在我看来,AI 写的代码不能被当成稳定的“产品”,而应该被理解为一种熵源。大模型的本质决定了它的输出虽然极端高效,但并不是低熵的终态,而是高熵的输入。它的特点非常鲜明:数量多,可以瞬间产出海量实现;质量杂,正确与错误并存,差异巨大;重复性高,常常生成类似功能的多版本。这些特征意味着,AI 输出的代码更像是生物进化中的“基因突变”——提供丰富的多样性,但需要经过筛选、压缩和演化,才能沉淀为稳定的结构。(虽然低端码农现在已经确定要被淘汰,但是你不能硬扯说低端码农写出来的代码也不一定全高质量,这个我们后面再说,不是纠结这个问题的事)。 AI生成代码将我们把软件工程的范式进程又往前了一步 如果我换个视角,把 AI 生成的代码看成一种“熵源”,那么它的意义就不再是最终产品,而是燃料。这些高熵输出,必须经过协议约束、反馈筛选和治理机制的控熵处理,才能逐渐被压缩为低熵的“结构”,最终沉淀为文明级的生态资产。于是,整个项目的逻辑,就不再是单点开发,而是一次生态演化。所以读这篇帖子时,请不要把自己仅仅当成程序员,而要先把自己当成一个生态设计者。在上世纪 80 年代,美国有一个著名的实验叫“生态箱”(Biosphere),它是一个完全封闭的独立生态系统,模拟核大战后的求生仓或星际航行场景。很有意思的是,它的第二任总经理还是史蒂夫·班农。 这篇帖子我们要探讨的,正是AI 时代的软件工程范式变化,其核心概念就是结构池(Structure Pool)与生态演化的运行逻辑。回顾软件工程的发展轨迹,最早的旧范式(封闭/流水线)把开发过程当成工厂化的流水线:需求 → 设计 → 开发 → 测试 → 部署。它强调稳定和可控,本质上是通过压制熵来维持秩序。后来出现了过渡范式(敏捷/Agile),承认需求随时可能变化,引入局部演化和迭代,但仍然局限于项目内的小闭环。这是从“压制熵”走向“利用熵”的第一步。如今,我们正走向新范式(AI + 开放结构池):软件开发变成了一个生态,AI 生成、用户反馈和开发者约束共同作用于公共结构池,推动系统不断演化。在这种模式下,交付不再是一次性产品,而是贡献结构单元,沉淀到池子里复用和演化。工程逻辑因此发生根本转变:从“压制熵”走向“利用熵”,最终进入生态学的思维模式。 再抽象一层:封闭 → 开放、静态设计 → 动态演化本来就是工程学整体的历史逻辑。 在早期的工程时代,逻辑是封闭系统 + 静态设计。工程师像“造物主”,试图在设计阶段就把复杂性全部压缩掉,以此换取高稳定性,但代价是适应性极差。进入工业工程阶段,才逐渐出现了局部开放。福特式的流水线把复杂制造拆解成可控环节,虽然整体依然是封闭系统,却开始允许局部的模块替换。同时,电气化与标准化(螺丝、接口、电网标准)的出现,让不同厂商、不同系统之间能够首次组合。这相当于工程进入了结构化阶段,但仍偏向封闭。 所以,千万不要把眼光只盯在自己的一亩三分田,从毕业到现在只看到眼前的屏幕和 IDE。工程的格局要抬高来看,否则根本看不清楚历史的逻辑。 在软件工程中,传统范式如瀑布模型、V 模型,本质还是“封闭设计—一次性交付”。随后出现的Agile(所谓的敏捷/DevOps)打破了大周期,强调迭代与反馈,迈向了“动态演化”。再后来,开源运动通过开放源代码,让外部贡献进入系统,软件第一次出现了“生态演化”的模式。 由此,工程思维逐渐转变:开始接受不确定性,用反馈驱动优化。整条历史逻辑清晰可见:从封闭到开放,从静态设计到动态演化。早期工程靠“压制熵”维持秩序,而今天我们靠“利用熵”来激发演化。AI 的到来,只是把这一长期趋势推到极致,让工程彻底进入生态学逻辑。 在我谈发展方向的时候,建议先看看我前几天写的两篇关于“容器与协议”的帖子——那两篇把我现在想表达的技术骨架讲得比较清楚。要说明的是,这个观点并非我凭空想出来:我的思考来自与不同背景开发者的反复交流,很多想法是在碰撞中逐步成形的。然而现在真正的难点在于,我们正在探索一个尚未被命名的未知领域;很多概念的术语还没被发明出来,导致常常出现“说半天、却互不相通”的状况——看起来像是在鸡同鸭讲,但实际上大家可能在谈同一个抽象思路。甚至我们自己都不确定彼此讨论的本质是否一致,这也是为什么在讨论同一个抽象概念时,还会产生争执。语言本身就是人类理解世界的边界;在面对全新的概念时,去拓展语言、去达成共识,比登天还难——我亲身体验过这种挫败感。打个比方:我从没住过宫殿,却在想象在做梦的时候自己当公主;然而在梦里中我仍在自家找厕所,这种错位正是我们在用现有语言描述未来范式时经常遇到的尴尬。 计算机世界的趋势:从容器到协议 我的意思不是要彻底颠覆“容器”,而是现在有大量的协议真空 我的想法:生态设计,将项目变成一个“结构池子”。 在 AI 驱动的新范式下,软件工程正在从封闭的流水线逻辑转向生态化逻辑。过去的软件开发像工厂一样,遵循需求—设计—开发—测试—部署的线性流程,强调稳定与可控,本质上是通过“压制熵”来维持秩序。而在新的范式中,开发被看作一个开放的生态系统:AI、开发者与用户共同参与,代码与结构不断生成、验证、淘汰和进化。这意味着软件工程的重心从一次性交付转向持续演化,从单一产品转向结构单元,从工厂思维转向生态思维。 在这一生态化框架中,结构池子(Structure Pool)是核心机制。它是一个公共池,存放 AI、人类和用户贡献的各种“结构单元”(容器、规则、服务、协议)。新生成的结构单元在通过协议验证后沉淀到池子里,成为可调用、可组合的资产,并在持续反馈与选择压力中不断升级或被淘汰。结构池不是一个静态仓库,而是一个动态生态,它分为多个层次:执行层保证容器能运行,协议层保证容器能互联,治理层维持池子健康,演化层推动协议升级,而文明层则让其成为人机共用的知识与规则基建。 整个生态的运行依赖一个容器—协议—反馈—治理的闭环:AI 或开发者生成新容器,经协议规则验证后进入结构池,附带元数据与版本,随后在调度中被调用。使用过程产生的反馈成为适应度信号,决定哪些单元升级、哪些淘汰,而协议也会随生态扩大不断进化。其本质,就是把 AI 的高熵输出通过控熵机制压缩为低熵结构资产。 在这个过程中,几条心法至关重要:AI 代码应被视为熵源,是生态燃料而非终态产品;协议是边界,确保不同容器能对接并过滤垃圾;反馈是驱动力,决定存活与淘汰;选择压力提供方向,避免演化失序;演化则是常态,软件不再是一次性交付,而是一个持续进化的生命系统。 从文明意义上看,软件工程已经沿着一条清晰的历史轨迹演化:从封闭到开放,从静态设计到动态演化。结构池子正在成为人机共建的“文明记忆体”,其中沉淀的不仅是代码,还有规则、知识和协议。AI 的商用化则把这一趋势推到极致,让工程彻底进入生态学逻辑:不再压制熵,而是利用熵来激发演化。 AI 范式下的软件工程 = 生态化设计开发 → 以结构池为核心 → 通过持续演化实现文明级的控熵与积累。 关键词: 生态化开发 —— 软件工程不再是流水线,而是开放生态。 结构池(Structure Pool) —— 存放、调度、演化的公共池子。 熵源 —— AI 代码是高熵输入,是生态燃料而不是终态产品。 控熵机制 —— 协议、反馈、治理,把高熵转化为低熵结构。 持续演化 —— 软件不再一次性交付,而是动态进化的生命系统。 协议边界 —— 确保互操作、过滤垃圾、维持秩序。 文明记忆体 —— 结构池沉淀的不只是代码,而是人机共建的知识与规则。 示例:语言翻译的结构池子(Translation Structure Pool) 1. 执行层(容器单元) 在这个结构池里,有许多不同的翻译容器: 容器 A:中 → 英,偏直译 容器 B:中 → 英,偏意译 容器 C:英 → 日,适合新闻 容器 D:英 → 法,法律文档优化 容器 E:多语言小句实时翻译(对话场景) 👉 每个容器就是一个“可运行的翻译模块”。 2. 协议层(边界与接口) 所有翻译容器都必须符合一个协议,例如: { "input_text": "string", "source_lang": "string", "target_lang": "string", "metadata": { "domain": "general|legal|news" }, "output_text": "string" } 👉 协议保证了:无论内部算法怎么实现,外部都能用统一方式调用。 3. 治理层(验证与筛选) 验证:新容器加入时,先跑测试集(BLEU 分数、延迟、错误率)。 淘汰:错误率过高或不符合协议的容器会被下架。 分层:通过反馈和测试,容器会被标记为 bronze / silver / gold 级别。 👉 这样避免了“垃圾翻译”污染结构池。 4. 演化层(反馈与升级) 反馈采集:用户可以打分、标注错误,系统也监控延迟与准确率。 自我优化:容器 B 在用户反馈中逐渐学会更好地处理成语。 协议升级:当生态发展后,协议增加字段 "formality_level": "casual|formal",支持更精细的语境。 👉 池子随使用情况不断升级,而不是一次性定型。 5. 文明层(共享与沉淀) 不同开发者、公司、甚至用户都可以贡献翻译容器。 有人专门贡献“小语种”容器,有人贡献“学术论文优化容器”。 最终形成一个动态开放的 翻译生态,而不是单一的翻译软件。 👉 池子沉淀的不是某个翻译产品,而是 多样的翻译结构,可被任何系统调用。 一个 语言翻译的结构池子 就像一个多物种的“翻译生态”: 容器是各种翻译模型(不同风格、语言对、场景)。 协议是统一的接口规则。 治理保证质量和秩序。 反馈驱动容器优化和协议升级。 最终沉淀为一个共享的文明记忆体,供全球人机协作使用。 开发的关键,就是你如何去设计这个池子。
宝玉
2周前
转译:有人发现了一个让 AI 智能体(AI Agent)工作更出色的绝妙方法,简单到令人惊讶:只要给它们设定一个人格。 我最近读了一篇关于“心理学增强型 AI 智能体”(Psychologically Enhanced AI Agents)的论文,它揭示了一个引人入注的观点:我们无需进行任何复杂或昂贵的重新训练,就能引导 AI 的行为。 事情的背景是这样的:通常,如果你想让一个 AI 精通某项特定任务(比如,让它擅长创意写作,而不是战略分析),你必须进行成本高昂且耗时的“微调”(fine-tuning)。 问题在于,一个通用的、“一刀切”的 AI 往往不是最佳选择。一个为检索事实而优化的模型,可能很难写出一个富有同理心、感人至深的故事。 这篇论文的关键发现,是一个名为 MBTI-in-Thoughts 的框架。研究人员发现,只要在提示词(prompt)里,简单地要求大语言模型(LLM)扮演一个特定的迈尔斯-布里格斯类型指标(MBTI)人格,它的行为就会发生可预测、且非常有用的改变。 举个例子,在一个策略博弈游戏中: * 被设定为“思考”(T)型人格的智能体,选择背叛的概率接近 90%。 * 而被设定为“情感”(F)型人格的智能体则更倾向于合作,背叛的概率仅为 50% 左右。 这一切仅仅通过一句提示词就实现了,根本不需要任何微调。 这事儿最让人着迷的地方,就在于它出人意料的简单。这种能力其实一直都潜藏在模型内部,而提示词就像一把钥匙,把它解锁了。 为了确保这不是巧合,研究人员还让被“注入”了人格的 AI 去做了官方的 16 型人格测试(16 Personalities test)。结果,AI 的答案与它被指定的人格完全一致。在执行任务时,它真的“变成”了那种人格。 这彻底改变了我对提示词工程(prompt engineering)的看法。它不再仅仅是关于你*问 AI 什么*,更是关于你*让 AI 成为谁*。 实际应用前景可以说是立竿见影: * 需要一个能共情的 AI 客服?把它设定成 ISFJ(“守卫者”)。 * 需要一个能做冷酷市场分析的 AI?试试 ENTJ(“指挥官”)。 你可以根据手头的任务,来匹配智能体的“天赋”。 从更宏观的视角来看,这意味着未来我们可能不再依赖于单一的、庞大的 AI 模型。取而代之的,我们或许可以构建由多个 AI 智能体组成的多元化团队,每个智能体都拥有为其特定角色量身打造的“人格”。 想象一下,一个充满创意的“ENFP”型智能体和一个注重逻辑的“ISTJ”型智能体一起头脑风暴,共同规划一个复杂项目。这就引出了一个全新的问题:要解决某个特定问题,最佳的人格组合是什么? 归根结底,这项研究为我们指明了一个通往更通用、更强大、也更可控的 AI 的未来。我们正在学习的,不仅是塑造 AI 的输出结果,更是它在处理任务时整个的认知与情感风格。一句简单的提示词,就能解锁一个行为的全新维度。
专家观点: 硬件更新:iPhone 17整体出货量较iPhone 16上浮4%,其他硬件方面常规更新。 AI功能更新:主要集中在提升处理速度、降低功耗或增强图形处理能力。 与OpenAI和谷歌的合作:可能涉及AI功能的开发和规划,具体合作模式尚未确定。 三星星计划:可能在2026年三四月推出能够执行谷歌应用生态的AI Agent。 苹果的深度合作劣势:苹果在应用生态方面可能处于劣势,需要加强与AI Agent的整合。 iPhone 17在中国市场的AI功能:可能基于端侧模型实现,包括邮件与信息处理、图像编辑等。 Apple Intelligence在美国市场推出:用户使用率预计40%,整体使用量提升。 AI功能在美国市场未取得成功的原因:大模型能力优于苹果,苹果需提升AI手机的核心竞争力。 SirI Ultra的成功要素:需要在2026年3月前交付训练成果,与第三方开发者合作。 与国内厂商的合作模式:可能采用包年模式,按年支付费用。 在构建AI Agent生态方面的竞争定位:苹果将聚焦于AI Agent至关键应用,与阿里巴巴等合作。 AI手机的竞争格局:苹果面临Google Pixel和三星的竞争,需提升AI功能。 考虑Siri和Android在全球范围内的长期竞争力:苹果需提升AI能力,预计2029年达到75%以上。 Apple Glass的研发进展:预计2026年推出,与Apple Watch配合使用。 2025年到2023年用户从手机转向AR眼镜的挑战:成本、技术法规和隐私保护是主要挑战。
宝玉
2周前
AI本该助力新人,为何反而让高手更强? 作者:Can Elma “AI会不会彻底取代程序员?”类似的问题已经被问烂了,人们不断地尝试给出答案。虽然这个话题已经不新鲜,但我还是想分享一些自己的观察和思考。 起初,许多人都相信,未来公司会减少对高级工程师的依赖。毕竟,有了AI,初级程序员也能创造出高质量的代码——至少坊间流传的故事是这样的。然而现实却截然不同。AI并未如宣传中那样神奇,最终真正有效的组合,不是“新人 + AI”,而是“高手 + AI”。 为什么会这样? 我们来仔细看看,在代码编写上,AI到底哪里强、哪里弱。 AI擅长的事: • 快速生成大量样板代码(boilerplate)和脚手架(scaffolding)。 • 自动化重复、枯燥的任务。 • 尝试多种不同的实现方式。 • 借助快速迭代,迅速验证想法。 • 在需求清晰的前提下,快速交付功能。 这些特性帮助了谁?显然更利于高级工程师。对新人来说,想把AI的这些能力真正变成实际价值,要难得多。 AI出问题的地方: • 代码审查(Code review): AI无法真正“理解”代码。审查时可能有些帮助,但一旦涉及边缘情况(edge cases)——而AI生成的代码通常有更多边缘情况——最终还是需要资深工程师出马。 • 不好的指令(Bad prompts): 能写出高质量提示词的人,必须是那些真正懂得自己要做什么的人。如果使用者缺乏深入理解,即使AI看起来产出还行,实际也只是给项目埋下了无数隐患。 • 架构设计(Architecture): 没有扎实的架构,软件很快就会失去价值。当前AI并不擅长设计优秀架构,虽然表面上看起来似乎可以,但实际上,这种复杂推理仍然依赖人类。许多以弱架构起步的项目,最终深陷技术债(technical debt)泥潭。 • 代码质量(Code quality): 选择恰当的抽象层次、正确运用设计模式、保持代码的干净清晰,这些都是AI目前的短板。 • 安全性(Security): 新手搭配AI的组合更容易出现漏洞,就像盖一座房子忘了装门锁。虽说漏洞无处不在,但高级工程师至少能提高警觉和谨慎。 • 错误学习(Wrong learning): 新人如果不能正确判断AI产出的代码好坏,就会潜移默化地吸收错误知识。在公司里,这意味着制造的是损害而非价值。 以上这些问题,概括起来就是:AI暂时对高级工程师并没有威胁,甚至反而让他们更加强大。这里不是在批评新人,而是强调不应对他们抱有不切实际的期望,把他们扔到充满风险的环境中。 我们真正该如何用AI? • 快速原型开发(Fast prototyping): 想快速尝试新想法时,AI再适合不过。 • 加速重复任务(Speeding up routines): AI最重要的用途,就是自动化那些你已经非常熟悉并经常重复的工作。 • 跨领域协作(Multi-disciplinary work): AI可以弥补你知识上的短板,建议有用的函数库或方法,帮你快速连接不同领域的知识点。 • 功能测试(Function tests): 简单重复、风险较低的测试代码,AI可以帮你快速生成,并且容易进行人工复核。 从我的角度来看,这就是AI目前的现状。AI写的每一行代码,我们依然需要逐行审阅。它远远称不上完美:没有自我意识,只会模仿人类的推理,生成结果不可控(non-deterministic),所以我们才依靠确定性的东西,比如单元测试。可是,你真的放心让AI自己编写测试,来验证它自己的代码吗? 我想起我曾发过的一条推特,有个提示词可以让AI在“不懂时回答‘我不知道’”,我评论道:“即使AI回答‘我不知道’,你也不能确定它到底知不知道自己不知道。” 确实,“新人 + AI”的模式很诱人,看起来成本低廉,还迎合了人们“AI将抢走我们工作”的恐惧。但当你把软件开发和其他行业作比较,就会发现软件行业仍然不够成熟。在建筑行业,建筑师专注于设计;但在软件领域,即使是“架构师”,也仍在不断地亲手“砌砖”,编写底层代码。我们还远没有实现真正的分工和专长化,成本优先的思维主导市场,这只会贬低工作价值,让人疲惫不堪。 因此,AI目前非但没有让编程变得更加民主化,反而更集中地将能力交给了那些资深工程师。现实与预期产生了错位。未来会如何发展,谁也说不准。我对AI的长期发展依然乐观,但短期内,我们最好重新校准自己的期待,别再让不切实际的想法越走越偏了。