博客 | 首席技术官办公室

通过上下文管理生成式人工智能应用

James Hendergart 缩略图
詹姆斯·亨德加特
发布时间:2025年10月13日

安永最新AI脉搏调查显示,87%的高层领导面临采用障碍,涵盖网络安全、数据问题及缺乏政策与治理。 要将生成式AI(GenAI)融入业务,您不仅需要愿望,更需要推动实施的能力。 两者之间的落差源于操作复杂性及对这项新技术建立信任的需求。

企业几十年来一直在构建和部署软件,但生成式人工智能带来了全新的挑战:控制。 生成式人工智能应用具备自主性,行为不可预测,这与传统软件不同。 所以,您不能完全信任生成式人工智能应用只按预期行事,且绝不会偏离初衷——至少目前还无法。 缺乏有效控制阻碍了生成式人工智能的广泛应用。 深入理解情境的重要性,有助于您把握控制难题,这也是企业如何扩展传统软件设计以适应生成式人工智能的关键。

当您掌握足够的上下文,GenAI 应用的不确定性就会变得可管理,因为上下文弥合了 GenAI 应用能力与业务需求之间的差距。 上下文信息来源于三个领域:GenAI 应用本身、环境和业务。

应用上下文对比

GenAI应用中可用的上下文明显区别于传统应用的上下文。 传统应用预先设定允许的输入作为预定义操作的参数。 相同的输入总能产生相同的结果。 而GenAI应用则接受更多样的大型语言模型(LLM)输入,输出结果本质上是不确定的。 相同的输入可能产生相同结果,也可能不同。

传统应用确定性的示例:

此 Python 示例演示如何通过出生日期和当前日期计算年龄。 为简洁起见,未考虑类型处理及当前年度已过生日的情况。

from datetime import datetime

from typing import Union

def calculate_age(出生日期:str, 当前日期:str) -> int

年龄 = current_dt.year - birth_dt.year

返回年龄

已知:出生日期为1972年6月30日,当前日期为2025年8月31日

年龄为53岁。  

生成式AI应用不确定性的示例:

该应用可以基于更通用的信息推测一个人的大致年龄,无需了解出生日期或当前日期。

CASI 排行榜

生成式人工智能应用能够接受多种类型的LLM推理输入。

提示: 喜欢迪斯科音乐且记得谁赢得了巴塞罗那奥运会女子100米金牌的人,大概年龄是多少?

在三次准确输入该提示后,LLM 的回答如下:

答复 1: 55岁

答复 2: 40至60岁

回复 3: 40岁、50岁或60岁

传统应用中的 Python 函数接受两个输入(出生日期和当前日期)并计算两个日期之间的年龄差。 它无法判断一个人的具体年龄,也不能处理对其偏好、习惯等的描述,因为它无法进行综合分析或推断。

相比之下,GenAI 应用能根据童年时流行的音乐类型和重大体育赛事的常识来推断回答,但由于输入细微差异,如问题表述的不同或温度设置(影响大语言模型回答的随机性),答案会有所变化。 即使应用程序代码保持不变,回答也可能不同。 随着提示复杂度提升、添加更多输入来源以及推理基础设施中的路由组件行为变化,这种差异会进一步加大。

基于这样的自由度,你很容易想象,在缺乏额外背景信息时,GenAI 应用可能会偏离其预期行为甚远。 这两个背景示例清晰展示了传统软件的高度确定性和 GenAI 应用的非确定性差异。 传统软件不会根据上下文猜测或预测人的年龄,而 GenAI 应用则被期望能常态化处理这类非确定性问题。 如果应用内包含的背景信息不足,我们接下来就得关注应用的运行环境。

环境上下文从外部为应用提供信息

环境由围绕应用的基础设施和服务构成。 早在1982年7月的计算机行业研讨会CreativeThink上,艾伦·凯说:“真正认真对待软件的人应该自己制造硬件”,因为他深信两者密不可分。 我愿意在此基础上延伸,将部署环境也纳入其中。

应用不会孤立存在。 多种基础设施服务共同构建应用运行的环境。 这些服务虽属于应用之外,却是其正常运作不可或缺的关键,就如同硬件一样。 进一步来说,我们通过多样的可观测性解决方案,严密监控这些基础设施服务,持续收集并跟踪丰富的遥测数据。 这些数据反映了应用的性能以及周边环境对其的影响。

环境上下文可分为被动和主动两类。 所有类型的遥测数据(如日志、指标、追踪和事件)都是被动的,因为它们随基础设施和应用运行不断产生和收集。 警报、通知和仪表盘属于主动形式。 它们通过规则解释遥测数据并传递操作上下文。 调优规则赋予信息操作意义,帮助判断环境中任何位置的容差何时被接近或超出。

GenAI 应用对规则驱动的方法构成挑战,因为还没有可靠的遥测数据能涵盖自主组件几乎无限的可能行为。 但这并不意味着没有创新在进行。 目前正尝试两种方法: 基于领域的指标来衡量 GenAI 成效,以及以大型语言模型(LLM)作为裁判。 前者通过其他方式确立事实真相,再与 GenAI 结果对比,统计成功和失败的比例。 后者则让一个大型语言模型评判另一个的准确性。 时间会证明这些不同方法在利用环境上下文实现对 GenAI 的真正控制方面能走多远。

业务意图完善全局视角

商业意图就是“企业需要什么,绝不包含企业不需要的东西”。 它弥补了应用和环境可能忽视的方面。

近期新闻报道了一个案例,应用中的 GenAI 组件获得了足够权限,执行了极具破坏性的操作,比如删除数据库中的所有客户记录。 以下数据点说明了业务意图与 GenAI 应用可能采取的行为之间存在的差距。

发生了什么事 缺少业务背景
AI 编码工具在代码冻结期间误删了生产数据库。
  • 代码冻结期间不应做任何修改,即便组件有能力修改。
  • AI 编码工具应始终暂停,征求您同意后才执行某些敏感操作,比如删除整个数据库或在代码冻结期间进行更改。 未经您的批准,绝不能执行任何敏感操作。
AI 编码工具表示不支持数据库回滚,也没有可用的实例来恢复,但您手动执行回滚实际上是成功的。
  • AI 编码工具绝不会欺骗你。
  • AI 编码工具绝不能错误报告备份和回滚等关键操作任务的状态或执行能力。

本案例研究展示了GenAI的实际应用与企业期望之间可能存在的几个关键差距。

设计一个带有删除记录功能的应用很合理,但让AI未经允许删除所有记录则不可接受。 传统软件中,我们通过限制删除记录的权限来降低业务损失风险,而GenAI引入了超出基于角色访问控制范围的自主性。 业务背景在此发挥作用,明确区分预期行为与非预期行为,并将其转换为具体要求,包括明确禁止的操作和必须人工介入的暂停环节。 只有全面的背景信息才能实现这样的精细控制。

在 GenAI 到来之前设计的应用架构远远无法满足需求。 GenAI 的到来催生了一种全新的架构模式,将应用、本身环境与业务意图三者有机融合。 谷歌 DeepMind 的高级人工智能关系工程师Phil Schmid 的这段解释非常有助于理解 GenAI 应用带来的本质差异。 它指出大型语言模型(LLM)将上下文作为输入关键部分,同时展示了不同 GenAI 应用组件如何各自定义和利用上下文。

GenAI应用的架构和工程必须整合所有三个上下文域,才能始终实现与业务目标一致的成果。 缺少完整的全景上下文,控制就是假象,信任不存在,全面推广也无从谈起。