AI 带来的变化,不只是每个人都更容易开发软件。更根本的变化是:很多需求从一开始就不必再变成软件。
过去,我们需要把一类需求预先固化成按钮、页面和流程,再把软件分发给足够多的人。现在,用户可以直接向 Agent 描述目标,让它临时组合知识、工具和工作流,交付一次具体结果。
软件仍然重要,但它不再是满足数字化需求的唯一形态。

高频或复杂需求适合被预编译为软件;大量低频、长尾需求可以由 Agent 即时编译成结果。
过去为什么什么都要做成软件
以前,一个数字化需求想被稳定满足,通常要经过一条很长的路径:
发现共性需求 → 产品设计 → 软件开发 → 发布分发 → 用户学习操作这条路径成本很高,所以只有足够热门、足够高频,或者商业价值足够大的需求,才值得被产品化。
软件的优势也正来自这种提前投入。开发者把复杂规则写进程序,把交互固化成界面,把性能、安全和一致性做成基础设施。用户只需要点击按钮,就能低成本地重复获得相对确定的结果。
换句话说,软件是一种预编译的需求。
它提前猜测一群人将来会需要什么,再把这组需求做成稳定产品。标准化程度越高、使用次数越多,前期开发成本就越容易被摊薄。
但这也决定了传统软件不擅长长尾。
如果一个需求只出现一次,或者每个人的要求都不一样,为它设计产品、开发界面、处理发布和维护,成本往往高于需求本身。过去这些需求只能被放弃、手工处理,或者勉强塞进一个并不合适的通用软件里。
Agent 改变的是长尾需求的经济性
Agent 让“先开发软件,再获得结果”不再是唯一选择。
比如我想知道天气,想从几份资料里提炼一份报告,想把一批零散信息整理成表格,或者想临时分析一个项目。以前我们首先会寻找对应 App;现在,很多时候直接把目标交给 Agent 就够了。
Agent 可以读取当下的上下文,调用已有能力,临时组织步骤,然后直接返回结果。任务结束以后,这条工作流甚至没有必要长期存在。
这相当于把需求从“预编译”改成了“即时编译”:
软件是高频或复杂需求的预编译,Agent 是长尾需求的即时编译。
这里的 Agent 并不是凭空替代所有软件。它通常仍然在调用搜索、数据库、支付、通信、云服务和各种 API。真正变化的是用户入口与组合方式:用户不再必须进入每个软件,学习它预设的操作路径,而是先表达目标,再由 Agent 选择和编排能力。
因此,被 Agent 吃掉的首先不是所有软件,而是“为了得到一次结果,必须专门操作一个软件”的必要性。
一个需求应该停在哪一层
Agent 出现以后,需求不再只有“手工处理”和“开发产品”两个选项。它更像一条逐步固化的光谱。

需求只有在频率、复杂度、稳定性或协作规模上升时,才需要逐渐从一次结果固化为长期软件。
最轻的一端是直接结果。用户描述一次目标,Agent 当场完成,不保存工作流。查资料、改格式、做一次分析,很多都可以停在这里。
如果相似需求开始重复,但变化仍然很大,可以形成临时工作流。Agent 保留部分步骤、模板或工具组合,下次继续按上下文调整。
当需求属于某个人或小团队,经常使用,并且需要稳定界面、数据和状态时,它可以变成私人软件。AI 降低了开发门槛,让过去不值得商业团队开发的小工具也能够存在。
只有当需求需要服务大量用户,承受高并发、长期维护、复杂权限和一致性要求时,才需要进一步成为规模化产品。
决定固化程度的,不只是使用频率。至少还要看:
- 任务是否包含大量稳定而复杂的规则;
- 结果是否必须高度一致、可审计、可追责;
- 是否需要多人共享状态和长期协作;
- 错误成本是否高到不能接受每次临时生成;
- 是否需要性能、离线、实时性或大规模分发。
我最常用的简化判断仍然是:如果需求既不高频,也不复杂,通常没有必要急着把它做成软件。
私人定制开始从稀缺服务变成默认选项
私人定制过去很昂贵,因为每一次定制都需要人类专家投入时间。
AI 把这部分边际成本大幅压低以后,很多原本只能接受标准产品的人,开始拥有自己的定制层。
我自己已经能明显感受到这种变化。
有些小软件可以直接通过 Vibe Coding 做出来,不需要等待一个产品团队判断市场是否足够大;阅读一个主题时,也可以让 AI 检索、筛选和重组资料,最后沉淀成适合自己认知基础的一本小书。知识消费不再只有作者写好、所有读者阅读同一版本这一种形式。
短视频和信息流早已在做内容分发的个性化,AI Chat 则把个性化推进到内容生成和任务执行。下一步,软件界面、工作流乃至设备能力也可能按个人需求动态组合。
这并不意味着每个人都会维护一套庞大的私人系统。更可能发生的是:底层能力仍由专业产品提供,Agent 负责把它们组合成适合当前用户、当前场景的体验。
私人定制不是让所有人重复造轮子,而是让同一组轮子能够被更自由地组装。
开放,不等于可以被 AI 定制
如果软件未来更多地成为 Agent 的能力层,那么“开放能力”会越来越重要。
但开放一个 API 或发布一个 SDK,并不自动意味着 Agent 能把它用好。
一个接口如果概念混乱、文档过时、错误信息模糊、认证复杂、状态不可观察,即使名义上开放,Agent 仍然很难可靠编排。它可能需要大量试错,最后还要由人补救。
真正对 AI 友好的能力,至少要做到:
- 能力边界清楚,输入、输出和副作用可理解;
- 接口和语义稳定,失败时能给出可行动的反馈;
- 文档、示例和 Source of Truth 可触达;
- 权限可以按任务最小化,而不是一次交出整个账号;
- 执行结果可查询、可验证,必要时可以撤销或补偿。
这也是为什么“开放”与“可定制”不是同一个词。开放解决的是能不能接入,可定制解决的是 AI 能不能安全、低摩擦地把能力拼成用户真正想要的东西。
未来无论是手机、AI 眼镜还是其他设备,竞争力可能都不只来自预装了多少功能,还来自它能否把底层能力交给 Agent 重新组合。
AI 放大认知,但不会替人补齐认知
当执行门槛大幅下降以后,一个人的认知会更直接地变成产物。
客户往往最清楚自己真正需要什么。他 Vibe 出来的工具,可能比通用产品更贴合自己的场景;但如果他的认知边界没有覆盖并发、权限、兼容、可观测性和长期维护,这个结果就更接近一个高度贴身的原型,而不是可以大规模使用的产品。
程序员的情况正好相反。他可能很懂怎样把应用做得好维护、符合产品规则并保持性能,却不一定拥有足够的创意、商业嗅觉或现场洞察。缺少这些认知,即使工程质量很好,也未必能做出真正有需求的产品。
所以我所说的“认知变现”,并不是 AI 会自动补齐每个人不会的东西,而是它缩短了已有认知到实际产物之间的距离:
- 懂业务的人,更容易把业务判断变成原型和私人软件;
- 懂工程的人,更容易把工程原则变成架构、测试和运行系统;
- 懂内容的人,更容易把自己的知识结构变成课程、图书和个性化阅读;
- 同时具备多种认知的人,会获得更大的组合杠杆。
当然,确实存在认知非常全面的“六边形超级个体”。但对大多数人来说,AI 放大的是已有关注点,也会放大已有盲区。关注点和认知不同,最终产出就会不同。
这也是为什么领域用户和专业工程师仍然需要协作。AI 减少了中间翻译,却没有取消认知互补。
人人都能编程以后,程序员会发生什么
网上常有人说,AI 以后不再需要程序员了。这个判断如果只理解为“不再需要懂某种编程语言的人”,我现在已经不敢轻易反对。
狭义的代码是编程语言;广义的代码则是对可执行系统的描述。需求、约束、Skills、工作流、验收标准和反馈循环,都在告诉 AI 应该怎样把目标变成结果。
从这个角度说,人人都可能成为广义的程序员。
客户懂自己的业务和真实需求,产品经理懂用户与取舍,运营人员懂现场流程。他们过去必须把认知层层翻译给开发者,现在可以更直接地把这些认知变成原型、工作流甚至私人软件。
但这不意味着专业编程能力失去价值。
AI 时代的原型会比过去的草图或 Figma 强得多,甚至可以直接运行。可运行原型与量产系统之间仍然存在距离:性能、安全、兼容、数据一致性、可观测性和长期维护不会因为界面已经能点就自动完成。
因此,古典程序员的数量和分布可能继续收缩,专业能力也可能进一步集中到提供基础设施、平台或编程 SaaS 的公司里。但这仍然是一个行业正在探索的方向,不是已经发生完毕的结论。
更确定的变化是:代码不再是唯一稀缺品,领域认知、问题定义和验收能力正在成为更直接的生产资料。
软件不会消失,它会退到更值得存在的地方
Agent 能够处理长尾需求,不代表所有事情都应该临时生成。
高频任务需要稳定效率,复杂系统需要一致规则,多人协作需要共享状态,高风险场景需要审计和责任,大规模服务需要性能与可靠性。这些地方仍然需要被认真设计、长期维护的软件。
甚至可以说,Agent 越强,底层专业软件越重要。因为 Agent 要调用支付、数据、搜索、云服务和业务系统,这些能力必须足够稳定、开放、可观察,才能支撑上层的私人定制。
真正变化的是软件的边界。
过去遇到数字化需求,我们会先问:“应该做一个什么 App?”
现在更好的顺序可能是:
- 用户真正想得到什么结果?
- 这个需求会出现几次,每次变化有多大?
- 它能否由 Agent 直接完成?
- 哪些步骤值得保存成工作流?
- 到什么程度才需要固化为私人软件或规模化产品?
先选择正确的固化层级,再决定是否写软件,可以避免把一次性的长尾需求过早变成长期维护负担。
软件不会消失。它只是从所有数字化需求的默认答案,退回到那些真正需要高频复用、复杂规则和规模化保障的地方。