关键要点

  • 对许多从业者来说,从软件架构师转向人工智能架构师的转变正变得越来越现实。软件架构正处于一个“水火不容”的阶段:确定性系统必须与非确定性的人工智能行为共存,而传统上认为执行过程是可以预测的这一假设已经不再可靠。
  • 为程序化软件设计的约束机制并不适用于人工智能系统,尤其是当智能体动态组合那些从未被明确设计过的工具和动作时。
  • 随着人工智能重塑各种系统,架构师们绝不能忘记这些基本原则。系统思维、技术沟通、持续学习以及好奇心变得愈发重要,架构师必须更深入地理解这些能力。信任依然是不可或缺的要素,而且每一个智能系统的最终目的都是为了服务于人类。
  • 架构师们应该从以工具为中心的思维模式转变为以目标为导向的思维模式。“架构师的V-Impact Canvas”为这种转变提供了一种有效的框架,而本文则通过“代币与情境经济学”以及《亲爱的软件与人工智能架构师》一书中所探讨的各种框架,进一步说明了这一转变的方向。
  • 下一代架构师必须在坚持严格的架构原则的同时,充分考虑智能体的自主性、隐私保护以及合规性要求——因为这些智能体已经具备了根据具体情境来决定下一步该采取何种行动的能力。

软件与人工智能架构

你有没有试过把油和水混合在一起?

你可以用力摇晃罐子,让它们看起来好像融为一体了。但很快,它们又会分开来。

这种情景正好反映了当前软件架构所面临的处境。

几十年来,我们的系统本质上是确定性的。在相同的输入条件下,系统总会产生相同的输出结果。即使在向云原生架构转型的过程中,这一假设也依然成立。微服务、容器、分布式系统以及弹性基础设施虽然增加了系统的复杂性,但并未改变其执行的程序性特征。旧的技术与新的技术能够共存,因为它们都遵循确定性的规则。

然而,人工智能改变了这一基础。

我们现在正在将概率性、非确定性的系统集成到确定性环境中。这些系统能够生成不同的响应结果,推断出用户的意图,动态选择相应的工具,并根据上下文信息进行调整。即使输入条件相同,它们的输出也可能有所不同;而且,这些系统的执行路径可能并不会在代码中被明确地定义出来。

这种矛盾并不在于模型的性能,而在于架构设计所基于的假设。

本文的核心观点如下:

人工智能架构的关键不在于使用的工具,而在于在非确定性环境下如何实现预期的功能。

在我最近出版的书籍《亲爱的软件与人工智能架构师》中,我深入探讨了这一变革。这篇文章则介绍了该书中提出的一个核心理念:将确定性系统与概率性智能结合在一起所带来的架构层面的影响,并帮助读者理解“人工智能架构师的新视野”这一概念。

传统防护机制的局限性

在确定性系统中,防护机制通常是明确且固定的。

例如:输入验证会确保数据结构的一致性;访问控制会限制用户权限;速率限制会规范资源的使用频率;API契约会界定各功能模块之间的边界;工作流引擎则会将业务规则转化为具体的执行步骤。这些防护措施都是基于可预测的执行路径和预先定义的分支结构来设计的。

而基于人工智能的系统,尤其是那些使用智能代理和工具协调机制的系统,其运作方式截然不同。一个用户请求可能会触发对多个信息源的查询;模型可以从结构化或非结构化的数据中提取相关信息;智能代理会从多种工具中选择最适合的一种来进行处理;工具的输出结果也可能被用来生成进一步的行动方案。这类系统的演化过程是通过组合各种元素来实现的,而不是按照线性的步骤逐步发展的。

即使每个组件都受到了相应的约束,这些组件的组合方式也可能超出人们的预期。某个智能体可能会以某种工程师并未明确设计的顺序来使用各种工具;为某项任务获取的上下文信息,可能会以意想不到的方式影响后续的决定;在组件层面施加的政策性约束,可能无法识别出在系统层面才会出现的风险。

这种情况并不属于传统意义上的“失败”——该系统仍在概率范围内的正常运行,但它的行为方式可能超出了最初的架构设计预期。

这就是所谓的“油水难混”的道理。

哪些方面正在发生结构性变化

目前关于人工智能的讨论往往给人一种“一切都在发生变化”的印象,但这种说法并不准确。事实上,某些结构要素仍在持续发展,而另一些则依然处于基础性地位。

其中一个重要的变化就是决策范围的扩大。在确定性系统中,决策规则是直接编码在逻辑结构中的;工程师可以通过代码路径来追踪各种决策路径,并分析系统的执行状态。而在人工智能系统中,决策边界分散在模型参数、提示结构、信息检索范围以及政策约束等多种因素之中,系统的行为受到统计推理的影响,而非明确的条件判断,因此很难提前预测所有可能的执行结果。

因此,架构师必须针对这些新的风险类型进行设计。例如,“提示注入攻击”试图篡改模型的指令;必须保护上下文数据的完整性,以防止在不同检索会话中出现数据污染;必须限制工具的错误使用方式,以避免产生不必要的副作用;当系统的概率输出超出可接受的波动范围时,必须制定相应的故障应对策略;还需要通过评估循环来确认生成的结果是否符合最初的架构设计意图。

观察机制的性质也在发生变化。传统的观察方法主要关注延迟、错误率、吞吐量以及资源利用率等指标,这些指标虽然仍然重要,但已经不足以全面反映人工智能系统的运行状况。对于原生的人工智能系统来说,还需要能够对其行为进行监测和分析——工程师和架构师必须能够追踪提示信息的来源、分析输出结果的变化范围、检测系统行为的异常趋势,并调整对系统可靠性的评估标准。这类系统不仅需要在可用性方面具备可观察性,其在决策质量方面的表现也同样需要被关注。

治理机制也从主要在设计阶段进行的活动,转变为一种贯穿整个运行过程的持续性工作。

政策安排必须能够随着模型行为的演变而做出相应的调整;输出内容在对外公开之前,必须经过分类处理;一旦风险阈值被突破,就必须立即启动相应的应对措施;模型版本的管理方式必须确保可以在不破坏依赖系统的稳定性的前提下进行回滚操作;对于新出现的边缘情况,可能还需要及时更新相关提示信息。因此,治理机制应当具有适应性,而不是静态不变的。

哪些要素依然具有基础性意义

<尽管结构复杂性在不断增加,但一些基本原则依然始终如一地存在着。>

系统思维的重要性正在与日俱增,而非减弱。数据管道、模型推理层、智能体协调框架以及旧有集成点之间的相互依赖关系会形成反馈循环,从而放大那些细微的设计缺陷。那些仅从孤立组件角度进行思考的架构师将会面临诸多困难;而那些能够理解系统层面各种交互关系的架构师,则依然能够有效开展工作。

技术沟通也具备了战略意义。概率性系统往往会带来不确定性,因此相关利益方必须了解这些不确定性、可接受的风险范围以及行为变化的规律。架构师需要将模型背后的行为逻辑转化为实际的业务影响及合规性考量因素。在我的书中,我将这种能力称为“架构转码”——这是一种将有技术层面的模糊性转化为组织层面清晰度的系统性方法。

学习与自律依然至关重要。各种工具正在快速发展,模型的功能也在不断得到提升,框架也在不断被重新设计或扩展。然而,诸如模式识别、情境推理、伦理评估以及权衡分析等基础能力,其长期价值是毋庸置疑的。那些坚持以原则为导向进行工作的架构师,会比那些只专注于使用特定工具的架构师适应得更好。

架构师的V影响框架

在非确定性环境下运作时,架构设计的目的必须明确且结构清晰。AI架构师的V影响框架为将智能系统与其实际用途及责任要求相统一提供了有力支持。该框架由三个相互依存的层次构成:架构设计目的、设计治理机制以及影响与价值评估。

“架构设计目的”这一层次明确了不可妥协的原则、可接受的行为范围以及伦理约束。它解释了该系统存在的根本原因,以及哪些界限绝对不能被跨越。在AI系统中,这些设计目的必须通过提示机制、智能体目标设定、政策定义及评估标准等具体形式得以体现。智能体会朝着这些明确的目标进行优化;如果设计目的不够清晰,优化过程很可能会产生不良后果。因此,设计目的是整个系统运行的核心导向。

“设计治理机制”这一层次关注的是自主性与其他因素之间的权衡。赋予智能体越多的自主权,就必须越精确地规定架构设计的目的。智能体系统通常需要更广泛的上下文信息访问能力、跨系统的可见性以及持久性的存储功能。这些特性虽然能够提升系统性能,但也会增加数据泄露的风险及合规管理的复杂性。因此,架构师需要设计合理的上下文范围界定机制、内存管理策略、数据最小化措施、运行时输出过滤规则以及问题升级处理流程。治理机制本质上是一种架构能力,而不仅仅是一份程序性的检查清单。

“影响与价值”这一层面确保了人工智能能够产生可量化的成果。虽然人工智能实验可以产生令人印象深刻的演示结果,但可持续发展的架构体系需要遵循经济规律。设计者必须评估决策质量的提升程度、系统运行的稳定性、每次推理所消耗的成本与所带来的商业收益之间的关系,以及这些因素对长期信任度的影响。人工智能领域的经济学规律是动态变化的:推理成本、数据检索基础设施、模型生命周期管理以及合规性监管等因素都会影响系统的财务状况。因此,我们必须对人工智能带来的影响进行量化分析,而不能仅凭主观判断。

让我们通过一个具体的系统设计变更来进一步探讨这一点。

“代币与上下文经济学”

在传统的系统中,当高级编程语言出现后,决定系统架构的关键因素是硬件资源——服务器的选择、基础设施的采购以及供应链的管理都是影响架构决策的重要因素。后来,云计算将这一负担转移到了运营成本上,因为云服务提供商负责提供基础设施和应对系统的扩展需求。然而,在人工智能时代,出现了另一种直接影响系统影响与价值的因素:代币与上下文工程。这些概念乍看之下可能很简单,但实际上它们却是当前大型语言模型、结构化语言模型以及其他前沿人工智能模型的运作核心。

举个例子来说,像GPT-4这样的模型是在一个有限的上下文窗口内进行运行的,这意味着它们一次最多只能处理一定量的文本信息。现代版本的GPT-4(Turbo)能够处理大约128,000个代币规模的上下文信息。一般来说,1个代币相当于4个字符,或者大约是单词长度的3/4,因此128,000个代币大致相当于90,000到100,000个单词的输入或输出内容。这种处理能力贯穿于整个交互过程:系统的提示信息、用户提出的问题、检索到的文档、工具的输出结果,以及模型的响应内容,都必须符合这一上限要求。

我们来看一个简单的例子。假设某个问答系统向模型发送了以下信息:

  • 系统指令:约1,000个代币
  • 聊天记录:约2,000个代币
  • 检索到的文档:6段内容,每段1,500个代币,总计9,000个代币
  • 用户提出的问题:约200个代币

在模型开始生成答案之前,这些信息就已经消耗了大约12,200个代币的上下文资源。如果模型的响应内容还需要再使用1,000个代币,那么单次查询所消耗的上下文总量就达到了13,200个代币。现在想象一下,如果每小时有成千上万的请求需要处理,这种情况会如何发展。代币的使用量直接关系到系统的成本、响应速度以及模型的表现。如果设计者使用了无关紧要的检索内容、结构混乱的提示信息,或者设置了不合理的上下文配置,那么重要的信息可能会被稀释,从而导致模型给出的回答出现错误——尽管从技术上来说,模型确实拥有“正确的数据”。

由此可见,人工智能架构引入了一种新的优化机制。正如云服务设计者需要学习如何优化计算资源的利用效率和存储性能一样,人工智能的设计者也必须学会如何精心设计系统的上下文结构:通过减少检索到的文档数量但确保其相关性、总结之前的交互记录、以及合理组织提示信息,在有限的代币预算下最大限度地提升模型的处理效果。现在再想象一下,如果这些设计要求同时适用于各种智能代理,那么情况就会变得更加复杂了。

价值总结

架构设计的基本原则并未发生变化,但新的抽象概念为人们提供了新的方法、影响途径及价值创造手段。因此,代币设计与上下文管理并非单纯的实现细节,它们正成为设计师们影响人工智能系统可靠性、成本效益及业务成果的核心机制。

“架构师的影响力框架”将目标定位、治理机制与可量化的价值紧密结合起来,形成了一个有条理的体系。这一完整框架以及相关应用案例在我的书中有更深入的探讨,本文则主要介绍其概念基础。

工具依赖带来的风险

整个行业发展速度非常快,新的模型、编排框架和评估工具不断涌现。企业可能会感到压力,必须尽快采用最新的技术才能保持竞争力。

然而,如果在架构尚未成熟的情况下就盲目使用这些工具,反而会增加系统的脆弱性。频繁更换模型可能会导致系统行为出现不一致;快速集成各种框架则可能造成治理上的漏洞;而功能扩展如果缺乏明确的规划,也会加剧技术债务。

工具确实能提升系统的能力,但它们并不能带来稳定性。真正的稳定性源于明确的目标设定和规范的治理机制。

旧有系统的整合问题

大多数企业目前仍在使用传统的旧有系统。这些系统原本并不是为适应人工智能技术而设计的,它们具有确定性的工作流程、静态的合规模型以及程序化的审批流程。

当在这些系统中加入人工智能功能时,如果不对原有的假设进行重新评估,就会产生各种矛盾。人工智能生成的推荐结果可能超出了旧有系统的处理能力;系统可能无法获取完整的历史数据;合规控制措施也可能与人工智能的自主行为发生冲突。

架构师和技术领导者必须决定:是应该调整现有系统的设计理念以适应人工智能的发展,还是限制人工智能的功能范围,使其符合旧有系统的框架。这个决策具有战略意义,而非技术层面的问题。它会让我们再次面临这样一个核心问题——我们是否真的在试图将两种完全不同的技术强行结合在一起?如果答案是肯定的,那么就应该重新考虑这个方案。

从洞察到实际应用

将确定性系统与概率性智能相结合并非可选项,这一进程早已开始。

如果没有相应的稳定机制来进行分离和管理,这些矛盾和冲突是不可避免的。

明确的目标设定、清晰的规划原则、灵活的治理机制以及可量化的效果评估,这些都可以帮助我们将非确定性系统纳入有序的框架之中。

人工智能并不会免除架构师的责任,反而会使其责任更加重大。

架构师们正处在一个新的设计环境中,在这个环境中,确定性软件系统必须与非概率性智能技术共存。如何在目标定位、治理机制和基础架构设计上实现这种转变,将会决定新一代人工智能架构师的能力与方向。

正如我之前所写的——

“架构师必须以清晰明了的方式引领发展方向,根据具体背景来构建相应的架构,并在由人工智能驱动的工程环境中取得成功。”

这些工具会不断发展,相关模型也会不断得到改进。

正是这些意图或目标才将整个系统凝聚在一起。你们怎么看?

Comments are closed.