在近期的公开访谈中,某知名芯片厂商的领导人提出了一个犀利且极具前瞻性的判断:程序员的职责正在发生根本性迁移,从“编写重复的业务代码”转向“构建能自主完成工作的智能体(Agent)”。他甚至进一步指出,未来企业的核心竞争力,将建立在“智能体编排系统(Harness)”之上,而非单纯依赖某个更强大的模型。
这一观点引发了技术社区的广泛讨论。对于许多正在观望或已经投入AI应用研发的团队来说,这不仅是技术栈的替换,更是一场关于“软件如何生产”的思维革命。本文不讨论具体某家公司的模型参数,而是试图剥离品牌外衣,中立地对比两种截然不同的开发范式:传统“人写代码、系统执行”的确定性开发模式与新型“人编流程、智能体执行”的目标导向开发模式。我们将从架构逻辑、开发职责、适用边界等维度展开深度分析,帮助开发者与技术决策者看清这场变革的全貌。
一、对比背景:为什么“写代码”不再是唯一出路?
过去十年,软件工程的核心追求是“确定性”。我们通过严格的类型系统、单元测试、持续集成来确保一段代码在输入X时必然输出Y。然而,当AI模型开始具备理解自然语言、调用外部工具、进行多步推理的能力时,软件的边界被打破了。系统不再需要每一步都被穷举定义,只需要给定目标、权限和约束,智能体便能自主规划执行路径。
黄仁勋提到的“Harness”(在此中立化为“智能体编排系统”或“执行框架”),正是为了解决AI在生产环境中的失控问题而提出的架构层解决方案。它包含了提示词管理、工具描述、短期记忆/长期记忆、上下文窗口管理、任务拆解策略、失败重试机制、结果评测标准以及严格的身份权限控制。
核心矛盾: 传统开发的复杂度隐藏在代码逻辑中,而智能体开发的复杂度则转移到了对“模型行为边界”的定义与约束上。
二、对象定义:两种模式的清晰画像
模式A:传统确定性开发模式
- 核心逻辑: 程序员将业务规则翻译为编程语言指令,通过接口(API)调用数据库、中间件和外部服务。系统行为完全由代码分支决定,不具备自主规划能力。
- 交付物: 函数、微服务、前端页面、数据库脚本。
- 质量控制: 依赖代码评审、自动化测试覆盖率、性能监控。
模式B:智能体编排开发模式
- 核心逻辑: 开发者不再编写“如何做”的步骤,而是定义“做什么”的目标、提供必要的工具集、划定数据的读取权限、设定验收标准。智能体(模型+规划器)自主决定调用哪个工具、以什么顺序执行。
- 交付物: 智能体角色定义(System Prompt)、工具说明文档(Tool Schema)、执行策略(路由规则)、评测集(Eval Set)、安全护栏(权限边界)。
- 质量控制: 依赖评测集在离线环境的通过率、在线运行的轨迹日志分析、人工抽检结果质量。
三、相同点:并非颠覆,而是重构
尽管两者表面上差异巨大,但底层目标高度一致:
- 解决业务问题: 无论GMV计算还是客服应答,最终目的都是降本增效。
- 需要工程化治理: 传统代码需要版本控制,智能体的Prompt和工具定义同样需要版本回滚;传统代码需要单元测试,智能体需要评测集来防止“能力退化”。
- 都需要权限管理: 代码后端的API需要鉴权,智能体在调用数据库或发送邮件时,同样需要基于身份的授权体系。
四、核心差异分析:从“实现”到“编排”的跨越
这是本文的重中之重。开发者到底在“造”什么?两种模式在以下几个维度展现出决定性差异:
1. 技术架构与系统边界
- 确定性架构: 系统是一个封闭的、可预测的有限状态机。任何未定义的输入都会导致异常抛出。系统边界在数据库连接池和网络端口处。
- 智能体架构: 系统是一个开放的、概率性的推理循环。核心是一个大模型(推理引擎),外部挂载着众多工具(函数调用)。系统边界在于“工具权限”与“上下文窗口”。架构图从“层层调用”变成了“核心+插件”。
2. 开发者角色的重新定义
- 传统开发者是“翻译官”: 将业务语言翻译成机器语言。
- 智能体开发者是“管理者”: 需要具备极强的逻辑拆解能力,将一件大事分解为智能体能理解的小任务;需要具备“沟通能力”,编写出清晰无歧义的Prompt(提示词);还需要具备“法务意识”,定义好智能体什么能碰、什么不能碰。
3. 控制粒度与容错机制
- 传统模式: 使用Try-Catch捕获异常,用事务保证原子性。错误是绝对的,必须修复。
- 智能体模式: 错误是成本的一部分。开发者不再试图消灭所有错误(这不可能),而是设计“重试策略”和“降级方案”。当智能体调用工具失败时,它是否会自动换一种方式?当智能体陷入死循环时,编排系统是否有熔断机制?这是传统开发者转型时最不适应的点——从追求绝对正确,到追求期望收益最大化。
4. 成本结构的迁移:算力消耗与Token消耗
- 传统模式: 成本主要固定在中介软件(CPU/内存)和存储上,边际成本极低。
- 智能体模式: 成本直接与推理次数挂钩。每一次任务拆解、每一步工具调用结果回传,都在消耗Token。正如原内容中提到的例子,通过优化模型外围的编排系统,单次任务评测成本可以从几十美元降至几美元,提升近百倍。这说明工程优化从“让代码跑得更快”变成了“让模型想得更少(更高效)”。
| 对比维度 |
传统确定性开发 |
智能体编排开发 |
| 设计思路 |
穷举所有路径 |
定义目标与约束 |
| 交付产物 |
可执行二进制包、代码仓库 |
提示词配置、工具注册表、权限策略 |
| 错误处理 |
异常捕获与日志堆栈 |
重试机制与结果评测过滤 |
| 性能瓶颈 |
数据库查询、网络I/O |
模型推理延迟、上下文长度限制 |
| 可解释性 |
通过断点调试逐行追踪 |
通过轨迹(Trajectory)回放逻辑推理过程 |
| 安全重点 |
防SQL注入、防XSS攻击 |
防提示词注入、防敏感数据泄露给模型 |
五、典型应用场景选择:谁更适合哪种模式?
优先选择传统确定性开发:
- 场景特征: 高并发、低延迟、强一致性的交易系统(如银行转账、订单扣减)。
- 原因分析: 这类系统对延迟要求是毫秒级,且逻辑链路非常稳定。如果引入智能体,推理速度波动和幻觉风险带来的损失远大于效率提升。
优先选择智能体编排开发:
- 场景特征: 非结构化数据处理、长尾问题处理、跨系统多步骤协调(如自动化竞品分析报告、跨部门工单分派)。
- 原因分析: 智能体擅长从非结构化文本中提取意图,并在不确定的环境下通过尝试找到解决方案。
六、选型建议:架构师的务实抉择
作为技术负责人,不应陷入“非要二选一”的陷阱。更睿智的思路是“混合架构”:
- 核心链路用代码,外围探索用智能体: 将确定性的数据清洗流程用传统代码实现,将如何筛选重点客户、撰写个性化营销文案的工作交由智能体完成。
- 建立“智能体工厂”而非编写“脚本”: 正如黄仁勋所建议,应组织专门的工程师小组,负责搭建内部的智能体编排平台。该平台将负责统一管理各业务线智能体的工具接入、密钥托管和成本核算。与其要求每个业务线都去调模型API,不如在中间层建立一套标准化的工具定义语言和访问控制层。
七、迁移与使用注意事项:避坑指南
如果企业决定从传统模式向智能体模式迁移,必须关注以下三个风险:
- 评测体系的缺失: 很多团队把智能体推上线后,只关注“好不好用”,缺乏量化指标。必须提前建设基于“黄金数据集”的自动评测流水线。任何Prompt调整或模型升级,都必须经过离线评测集打分,分数不降才能上线。
- 权限的过度授予: 这是安全重灾区。给智能体赋予了API调用权限,但未在编排层做细粒度的数据行级隔离,导致模型通过推理拼接出敏感信息。务必采用“最小权限原则”+“敏感操作人工复核”的双保险机制。
- 上下文管理失控: 多轮对话后Token膨胀导致响应变慢、费用变高。需要引入如“向量数据库”外部记忆或智能裁剪策略,确保智能体只专注于当前关键任务片段。
八、总结:未来属于“造工具的人”还是“用工具的人”?
回到开头的主题。黄仁勋的告诫并非是说传统程序员即将失业,而是说工程师的交付物正在发生变化。过去,交付“函数”是终结;现在,交付“函数”只是起点,更重要的是交付“能让智能体正确调用这些函数的说明书、护栏和校验器”。
对于开发者个人而言,这要求我们提升两层能力:
- 向下深挖: 理解模型推理的局限性,懂一点概率思维。
- 向上抽象: 具备将模糊业务需求抽象为清晰的“目标-约束-工具-验收”四元组的能力。
未来的公司架构,可能真的会像这位CEO所预言的那样,更像是“一群专业的智能体规划师(即程序员)在搭建生产流水线,而让无数智能体在流水线上充当执行者”。与其纠结于是否把Agent当同事,不如现在就开始尝试“造一个能帮你写周报的Agent”。这正是从“码农”走向“AI系统架构师”的关键一步。