详细内容或原文请订阅后点击阅览
当正确的系统产生错误的结果时
我们倾向于假设,如果系统的每个部分都运行正确,那么系统本身也会运行正确。这一假设深深植根于我们设计、测试和操作软件的方式中。如果服务返回有效响应、依赖关系可达并且满足约束,则系统被认为是健康的。即使在 [...]
来源:O'Reilly Media _AI & ML我们倾向于假设,如果系统的每个部分都运行正确,那么系统本身也会运行正确。这一假设深深植根于我们设计、测试和操作软件的方式中。如果服务返回有效响应、依赖关系可达并且满足约束,则系统被认为是健康的。即使在故障模式更加复杂的分布式系统中,正确性仍然与各个组件的行为相关。在现代人工智能系统中,特别是那些结合了检索、推理和工具调用的系统中,这种假设在连续运行下越来越受到强调。
该模型之所以有效,是因为大多数系统都是围绕离散操作构建的。请求到达,系统处理它,并返回结果。每个交互都是有界的,并且可以在本地评估正确性。但在连续运行的系统中,这种假设开始失效。在这些系统中,此行为不是单个请求的结果。它是随着时间的推移而展开的一系列决策的结果。每个决定单独来看可能都是合理的。该系统可以满足我们知道如何测量的每个当地条件。然而,从整体来看,结果可能是错误的。
思考这个问题的一种方法是,将其视为一种行为漂移系统,该系统保持运行,但逐渐偏离其预期轨迹。没有任何崩溃。没有警报火灾。系统继续运行。尽管如此,有些事情还是偏离了轨道。
可组合性问题
问题的根源不是组件出现故障。就是正确性不再干净。在传统系统中,我们依赖于一个简单的直觉:如果每个部分都是正确的,那么由这些部分组成的系统也将是正确的。当交互受到限制且定义明确时,这种直觉就成立。
