从指令到意图:大模型 + Agent 软件架构新范式

4 阅读8分钟

写在前面:不是模型不够强,是系统没建好

最近和很多做大模型应用的团队聊,发现一个共同现象:

Demo做得很惊艳,一到生产环境就翻车。

要么输出不稳定,要么工具调用乱套,要么上下文一长就开始"失忆",要么成本高得离谱却说不清花在哪里。

问题出在哪?

不是模型不够强。GPT-4、Claude、国内主流大模型,能力已经相当成熟。

真正的问题是,大多数团队把"接入模型"当成了"完成开发"。

但实际上,接入模型只是开始。

真正决定系统能不能用、好不好用、能不能持续优化的,是模型背后那套工程体系。

这篇文章,我们就来聊聊这套体系到底长什么样,以及D-coding在上海大模型应用开发实践中总结出来的工程方法论。

先搞清楚一件事:大模型软件和传统软件,底层逻辑完全不同

传统软件是确定性系统。

开发者把所有逻辑写进代码,系统按规则执行,输入确定则输出确定。稳定、可预测、好测试。

大模型软件是意图驱动系统。

用户给的是目标,不是指令。系统需要理解意图、动态规划路径、调用工具执行、根据结果反思调整。

这两种系统的工程方法论,几乎是两套完全不同的体系。

用传统软件工程思路做大模型应用,就像用螺丝刀拧螺栓,方向对但工具不对,费劲还效果差。

理解这个底层差异,是做好上海大模型应用开发的第一步。

记住这个公式:大模型软件 = 模型 + 上下文 + 工具 + 编排

很多团队的认知停在"模型"这一个词上。

但一个真正可用的大模型应用,需要四个要素协同工作。

模型是认知核心,负责理解和推理,但它本身不携带任何业务知识。

上下文是业务事实的容器,用户状态、历史记录、当前任务、约束条件,都通过上下文注入给模型。上下文质量直接决定模型推理质量。

工具是系统的执行手,把API调用、数据库查询、外部系统交互封装成模型可以理解和调用的标准化能力。工具设计好不好,决定Agent能不能真正干活。

编排是整个系统的控制大脑,负责流程调度、状态管理、错误处理、安全约束,以及什么时候需要人工介入。

这四个要素,缺任何一个,系统都会出问题。

架构演进三阶段:你现在在哪一级?

大模型应用的架构,通常经历三个阶段。

第一阶段是直接调用模型。把用户输入发给模型,拿到输出展示出来。适合问答、摘要、分类这类单轮任务。工程简单,但能力有限。

第二阶段是链式执行。把复杂任务拆成多步串联,上一步的输出是下一步的输入。能处理更复杂的任务,但链路越长越脆,中间一步出错整个链路就断了。

第三阶段是自主Agent。系统接收目标,自己分解任务、选择工具、执行、反思、调整,直到完成或触发人工干预。能力最强,工程挑战也最大。

很多团队犯的错误是直接冲第三阶段,结果系统复杂度失控,既不稳定也难维护。

D-coding的建议是按阶段演进。先把第一阶段的工具质量和上下文管理做扎实,再推进到链式执行,验证稳定后再考虑Agent化。每一步都要有可量化的评估指标,不要凭感觉往前冲。

Agent的五个模块,哪个最容易被忽视?

一个完整的Agent系统,包含五个核心模块。

感知与解析负责理解用户输入,把模糊的自然语言转化为可执行的结构化任务。这里最常见的坑是把原始输入直接扔给规划层,导致下游推理质量不稳定。

规划与思考是Agent的大脑,负责任务分解和路径选择。工程上需要把规划过程日志化,出了问题才知道系统当时在想什么。

记忆与状态管理是最容易被低估的模块。短期记忆管当前会话,长期记忆管用户偏好和历史,工作记忆管当前任务执行状态。三者混淆是上下文管理混乱的根源。

行动与工具模块是Agent和外部世界的接口。这里有一个反直觉的结论:工具设计比模型选型更影响系统表现。工具语义模糊、参数不清晰、缺少错误返回规范,是导致模型误调用的最常见原因。

反馈与学习模块是最容易被跳过的。很多团队上线后就不管了,没有建立失败案例收集和系统优化机制。结果系统永远停留在上线时的水平,无法持续改进。

在上海大模型应用开发实践中,D-coding特别强调工具层和反馈层的建设质量,认为这两个模块是决定系统能否长期稳定运行的关键。

上线前必须建好的三类基础设施

很多团队把基础设施当成上线后再补的事,这是一个代价很高的误区。

第一类是模型网关。企业应用通常需要同时管理多个模型,不同场景用不同规格,控制成本的同时保证质量。模型网关统一处理路由、限流、重试、版本和成本统计,对上层应用屏蔽底层差异。没有模型网关,多模型管理会变成一场噩梦。

第二类是全链路可观测体系。从用户输入到模型推理、工具调用、执行结果,每个节点的输入输出、耗时、错误信息都要记录。出了问题,要能在五分钟内定位到具体节点,而不是靠猜。D-coding在上海软件定制开发项目中把可观测体系列为上线前的必要条件,不是可选项。

第三类是任务型评估体系。任务完成率、工具调用准确率、平均执行步数、人工接管率、单位任务成本,这五个指标构成系统健康度的基础视图。有了这套指标,优化才有方向,汇报才有数据,决策才有依据。

多Agent协作:什么时候该引入,什么时候不该引入

多Agent协作是当前上海大模型应用开发的热门方向,但很多团队引入得太早。

多Agent的价值在于分工,指挥Agent负责规划和调度,执行Agent专注子任务,汇总Agent整合结果。对于高复杂度、跨系统的任务,这种架构能显著提升执行效率。

但多Agent也带来了新的工程复杂度:Agent之间如何通信、并行执行时如何保证数据一致性、单个Agent失败时如何隔离影响。

D-coding的实践建议是,先把单Agent闭环跑稳,再按需引入多Agent协作。如果单Agent能解决问题,就不要引入多Agent的复杂度。架构决策的核心原则是够用就好,不是越复杂越先进。

一个容易被忽视的趋势:界面也要跟着变

传统界面是静态的,开发者提前设计好每个页面,数据动态填充。

Agent系统的输出是动态的,同一个问题在不同上下文下可能需要完全不同的展示形式。查数据要图表,查天气要卡片,处理工单要流程节点。

这意味着前端工程也要跟着进化,界面需要根据任务类型和输出结构动态渲染,而不是把所有输出都塞进一个固定的文本框。

这对上海软件定制开发提出了新要求,前端和编排层需要深度协同设计,而不是各自为政。

最后说一句实在话

大模型应用开发,不是一个"接入API就完事"的事情。

它需要工具设计、上下文治理、编排稳定性、可观测体系、评估机制、多端协同,每一个环节都有工程深度。

D-coding在上海大模型应用开发和上海软件定制开发实践中的核心判断是:真正决定项目成败的,不是你用了哪个模型,而是你在模型周围建了什么样的工程体系。

未来的软件,会越来越像一位能自主思考、行动和协作的数字同事。

但让这位同事真正可靠、可用、可信,靠的不是模型有多聪明,而是工程有多扎实。