Agent 时代的软件重构:从代码载体到意图驱动
导语
当大模型接管了编码工作,软件工程就解决了吗?现实是,Coding is (almost) solved, but Software is not。我们正在经历一场载体级别的根本性变革:代码第一次从“思考载体”降级为纯粹的“执行载体”。这意味着过去我们围绕代码构建的软件生产方式和产品形态正在全面失效。本文将探讨在 Agent 驱动下,软件的构建方式、形态演变以及未来的工程原则,帮助工程团队在自主系统时代找到新的发力点。
核心问题与挑战
在向 Agent 时代演进的过程中,传统的软件工程面临着一系列结构性矛盾:
- 静态形态与动态意图的冲突:传统软件形态是静态的,UI 和交互由程序员预设,用户只能按图索骥。这无法适应 Agent 动态组合、以意图为核心的执行需求。
- Skill 结构化不足与调试黑盒:当前的 Agent Skill 缺乏可观测性和调试性,难以支撑复杂任务的开发,出错时无从排查。
- 多 Agent 上下文孤岛:多 Agent 协作时,各自 Context 相互隔离,但项目级上下文又必须同步,缺乏高效的状态共享机制。
- 中间层市场挤压:软件市场正从纺锤形向两极聚集,既不靠近机器端效率、也不靠近人类端价值的中间层 SaaS 面临淘汰危机。
方案与实践
软件的构建:新思考媒介与人机协同
代码不再是思考媒介,纯黑盒开发已成为现实(百万行代码无人工介入的实践已证明这一点)。我们需要新的思考媒介:Goal + Context + Constraints。
- 目标工程:清晰定义 What 和 Why,这是人类的核心职责。
- 上下文工程:通过 RAG、Memory 等手段,为 Agent 提供充分且精准的信息输入。
- 约束工程:通过沙箱、环境工程、自动化测试等,划定 Agent 的执行边界。
基于此,人机协同模型演变为:人类负责高熵低频决策,Agent 负责低熵高频执行。人类定义目标和不变量,Agent 负责实现路径。
软件的形态:意图驱动与 UNIX 复兴
软件的使用逻辑变了。UI 和交互不再是核心接口,意图成为新接口。这解释了为什么古老的 UNIX 哲学(CLI)在 Agent 时代复兴——UNIX 从来不是静态的 OS,而是一套通过组合动态生成软件的体系(如 cat log | grep ‘error’ | wc -l),这与 Agent 动态生成软件逻辑的诉求高度一致。
市场随之两极化:
- 机器端(效率驱动):基础软件逻辑从“给人用”重构为“给 Agent 用”,如 TiDB Cloud Zero,强调最大化信息密度。
- 人类端(价值驱动):兼顾过程舒适(情绪价值/传播)与结果扎实(留存),如从 Claude Code 到各类智能助手的演进。
软件的未来:Agent-Native 与 Skill 升级
未来的软件将是 Agent-Native 形态,例如将 Claude Code 作为操作系统使用的 GStack。针对当前 Skill 的缺陷,必须进行抽象升级:
- 采用自然语言描述,人机协同生成。
- 实现结构化与可调试。
- 伴随环境分发,而非孤立存在。
随着开发门槛降低和灵活性提升,大量长尾需求将被满足,软件将迎来“寒武纪大爆发”。编程作为影响世界最通用的手段,依然是 Agent 的核心能力形态。
原则/方法论沉淀
在范式转移中,有些旧时代的废墟需要抛弃,有些朴素的工程原则必须保留:
- 目标工程优先:想清楚做什么,比怎么做更重要。
- 上下文决定上限:Agent 的能力边界取决于你喂给它的上下文质量。
- 约束工程兜底:没有沙箱和 CI/CD 约束的 Agent 是灾难。
- Harness Engineering 依然是好工程:复杂性管理、需求分析不可废弃,只是它们的表现形式从前置的代码设计,变成了环境与约束的设计。
- Agent Experience (AX) 设计原则:相信模型能力,减少人为设计;最小化 Tool Use 摩擦,最大化信息密度。
总结与行动建议
大模型正在重新定义软件。代码作为思考载体的时代已经结束,软件生产实现了民主化。面对即将到来的软件寒武纪大爆发,工程团队需要立即行动:
- 停止在代码细节上内卷:将精力转移到目标定义、上下文构建和约束设计上。
- 重构产品接口:审视你的软件,剥离静态 UI 依赖,将核心能力封装为意图驱动的 API 或 CLI。
- 落地 Harness Engineering:为 Agent 建立完善的沙箱环境和自动化测试流水线,这是黑盒开发的安全网。
- 评估市场占位:明确你的产品在效率-价值轴上的位置,要么做到机器端的极致效率,要么提供人类端的不可替代价值,避开被挤压的中间地带。
开放问题与延伸方向
- “纯黑盒开发已成现实”的论断基于何种可量化的质量基准与可维护性指标?(白帽-定义基准:需结合正文中 Harness Engineering 的测试覆盖率与约束拦截率来量化)
- 在 Goal+Context+Constraints 模型中,如何客观定义与度量“上下文充分性”的边界,以避免信息过载或缺失?(白帽-定义基准:上下文工程的实操难点,需探索 Token 效用评估机制)
- 当 Skill 缺乏可观测性与调试性时,在金融或医疗等容错率极低的场景下,黑盒出错的爆炸半径该如何控制?(黑帽-风险挖掘:约束工程必须介入,通过强沙箱与形式化验证阻断风险)
- 多 Agent 协作中“各自 Context 隔离但需共享项目上下文”,这种状态同步机制如何避免分布式系统中的经典一致性风险?(黑帽-技术挑战:多 Agent 架构落地的核心阻碍,需引入类分布式事务的协调机制)
- 软件市场向两极聚集的假设下,中间层 SaaS 真的会消亡,还是会被 Agent 重构为隐形的标准化基础设施?(黑帽-反驳推演:中间层可能不是消亡,而是从前台 UI 退化为 Agent 可调用的后端能力)
- 人类完全脱离代码细节而仅负责高熵决策,是否会在工程界引发深层的“黑盒失控恐慌”与开发者身份认同危机?(红帽-隐性担忧:人机协同模型落地时的心理阻力,需通过可观测性工具缓解)
- Harness Engineering 将复杂性管理前置到环境和约束中,这是否意味着软件全生命周期的维护成本将发生结构性的下降?(黄帽-收益评估:从改代码的维护转变为改约束和上下文的维护,长期成本结构待验证)
- 若将“约束工程”视为声明式编程的极致演进,能否引入形式化验证方法来确保 Agent 行为的绝对合规与安全?(绿帽-创意迁移:约束工程与形式化验证结合,可能是高安全场景的突破口)
- Agent 间的动态组合除了借鉴 UNIX 管道,能否引入服务网格的 Sidecar 模式来解决上下文路由与可观测性注入问题?(绿帽-替代路径:用云原生思路解 Agent 协作问题)
- 在推进 Agent-Native 软件重构时,企业应优先从机器端效率驱动切入,还是从人类端价值驱动切入以实现平滑过渡?(蓝帽-优先级判定:取决于企业基因,基础设施团队宜选前者,应用团队宜选后者)
- 面向未来,如何建立一套超越传统 UI/UX 的 AX(Agent Experience)量化评估指标体系,以指导下一代软件设计?(蓝帽-下一步指引:AX 原则落地的关键,需围绕 Tool Use 成功率与信息密度构建指标)