产品AWS Machine Learning·原文 2026年10月2日本站收录 2026年10月3日

亚马逊Quick结合Adjudicated Query模式批量核查公寓租约合规

AWS博客介绍一种设计模式:亚马逊Quick聊天界面负责自然语言交互,合规判定仍由确定性规则引擎完成,每次扫描生成可核验的完整性收据,官方判定不经过大模型。

AI解读:博客举例显示,一次针对得克萨斯州租约的扫描输出 10,111 条违规、689 条模糊和 20 条不可读记录,但这些数字来自合成数据,不能据此推断真实租约市场。

博客描述模型在交付路径上出现过三类问题:剥除ILLUSTRATIVE引用标签、把虚构引用呈现为法条、从 20 行样本外推全量范围,因此作者用括号式不可剥离后缀和多层模式标签降低改写风险。

AWS机器学习博客发布文章,介绍一种名为Adjudicated Query的设计模式,用于大规模检查公寓租约是否符合不断变化的州房东-租客法规,并提供可端到端运行的参考实现。文章作者为Anand Komandooru。

该模式将业务人员使用的亚马逊Quick聊天界面与确定性(非AI)规则引擎配对:大模型只把自然语言问题翻译成对固定类型操作的调用,并转述返回结果;不写查询、不确定总体范围、不做判定。

文章给出的场景中,一家运营商持有 50,000 份租约,分布在多个州。每个州按立法时间表发布房东-租客法规,更新节奏不受运营商控制。博客称在此规模下,靠律师逐份阅读不再可行,而把工作交给软件后会出现“屏幕上有一个没人能独立核验的数字”的问题。

Adjudicated Query的组成与边界

文章把该模式描述为有边界的会话层加确定性规则引擎。规则是带版本的数据而非代码,引擎只包含通用比较运算符(gte、lte、equals、exists),不含以司法辖区或主题命名的分支;法律变动是编辑规则手册中的一行,不是代码部署。

博客说明,任何自然语言都不到达查询层,运算符只能选择由人工编写、审核和测试过的固定SQL模板,规则值作为参数绑定。

每次合规扫描都会产生“完整性收据”:compliant + in-breach + ambiguous + unreadable必须等于scanned这一不变量由计数计算得出,并在结果持久化之前断言。无法说明总体构成的运行不会完成,记录不会被静默跳过。

  • 会话界面承载计数、完整性收据和带标签的样本;完整结果集放在读取同一数据存储的仪表板,可逐条下钻,模型不会在总结中省略保证。
  • 文章将RAG的相似度检索列为“结构上无法达到完整性”,将text-to-SQL列为存在静默缩小总体的类别级风险,规则引擎加BI的方案则被列为完整性与可辩护性均可满足。

参考架构与有界操作面

参考架构中,合规人员使用亚马逊Quick的两个界面:用于提问的聊天代理和用于浏览完整结果集的亚马逊Quick Sight仪表板。

聊天代理先从Amazon Cognito获取OAuth令牌,再通过Amazon API Gateway HTTP API发送MCP请求,由该API在转发到AWS Lambda前验证令牌。Lambda承载MCP服务器和规则引擎,通过RDS Data API读写Amazon Aurora Serverless v2,只有在探索性子句搜索路径中才调用Amazon Bedrock。Quick Sight仪表板通过VPC连接直接读取同一个Aurora存储。

MCP服务器只暴露六个工具:sweep_compliance(对待定生效日期的规则做穷尽式总体扫描,写入判定)、simulate_rule_change(把一个规则测试为建议值,仅返回方向性计数、不记录)、explore_clauses(在过滤后的总体内按语义相似度取前K)、get_finding(单条判定的完整证据链)、list_rules(某日期生效的规则手册及版本、引用、审批人)、check_connection(存活检查,不接触数据)。

  • 模型只能从固定操作集合中选择,因此无法自行组合出错误的总体范围。
  • 文章称,确定性引擎负责合规逻辑;Aurora Serverless v2(Postgres加pgvector)在单一关系存储中保存规则手册、租约记录、提取状态、判定和运行记录,使完整性收据成为一个SQL计数。
  • Amazon Bedrock只服务探索路径:使用Amazon Titan Text Embeddings V2(amazon.titan-embed-text-v2:0)做语义相似度排序,通过跨区域推理配置调用Anthropic Claude Sonnet 5做定性条款评估,不参与官方合规判定。
  • 文章提示Amazon Bedrock模型可用性因AWS区域而异,部署前需确认所在区域已开放这两个模型。

文章列出的设计规则

文章列出若干被其称为不可协商的设计规则,用于说明该模式与生成式查询方案的差异。

  • 规则是数据;法律变化是规则手册中的一行,引擎不含司法辖区专属分支。
  • 自然语言不到达SQL;运算符选择固定模板,规则值作为参数绑定。
  • 先确定性后AI;数值比较给出扫描结果,判定不咨询模型。
  • 完整性使用精确过滤,向量只用于排序;相似度永不决定成员资格。
  • 收据由计算得出,不是手写;不变量在扫描提交前断言。
  • 不可读文档被具名列出而非丢弃;每份租约恰好落入一个分类。
  • 判定记录只追加;代码库中不存在对判定记录的UPDATE或DELETE。

模型改写风险与部署步骤

文章专门用一节讨论交付路径上的风险:把模型排除在决策路径之外,却又放回交付路径,会在链路末端引入风险。作者称在实践中观察到,模型曾剥除一个警示前缀、在转述中移除ILLUSTRATIVE引用标签并把虚构引用呈现为法条,还曾从 20 行预览样本推断出数据中不存在的总体范围。

文章给出三种应对:把警示写成不可剥离的括号式后缀并在多个载荷层级重复,而不是写成看起来可移除的开头标签;向模型提供真实数据,让它不必从样本猜测;在字段、字符串、摘要等多个结构层级重复模式标签,使至少一个能在改写后存留。

参考实现托管在GitHub,附带合成数据(不含真实客户租约数据)、确定性语料生成和针对已部署栈的验收测试。文章列出的前提包括:一个启用了Amazon Titan Text Embeddings V2和Anthropic Claude Sonnet 5模型访问权限的AWS账户(美国东部弗吉尼亚北部区域us-east-1)、配置好凭证的AWS CLI v2、Python 3.12、用于AWS CDK CLI的Node.js 24。

部署步骤为:克隆仓库并创建Python虚拟环境;引导并部署CDK栈(CDK版本固定为 2.261.0,Aurora预置通常约 11 分钟);依次运行迁移、语料生成、摄取、Quick Sight配置和验收脚本。文章称语料是确定性的,重建栈会复现相同结果。

  • 栈将部署Amazon Cognito(2LO客户端)、带JWT授权器的Amazon API Gateway、AWS Lambda(MCP服务器加规则引擎)、Amazon Aurora Serverless v2和Amazon Quick Sight网络配置。
  • 在亚马逊Quick中注册MCP集成时,亚马逊Quick会在注册时对工具列表做快照,若不删除并重建集成,就不会识别新增或改名的工具;部署Lambda本身不够。
  • 验收脚本包含 28 项针对已部署栈的检查,另有show_payload.py check_connection用于确认传输存活。
  • 文章给出的示例提问为“Which Texas leases violate the late fee cap? Use rules effective 01/01/2026”,回应包含非合规发现样本、以计数呈现的完整性收据、合成数据警示和打开完整仪表板的链接;文中该例计数为 10,111 条违规、689 条模糊、20 条不可读,且刻意不渲染全部 10,111 行。
  • 另有路由测试提问:“Find Texas clauses that read like liability waivers.”应调用explore_clauses;“What if the Texas late fee cap dropped to 3%?”应调用simulate_rule_change。
  • 清理时用npx [email protected] destroy;示例有意设置非零最小容量,因为暂停的集群会给会话首个问题增加恢复延迟,可改为serverless_v2_min_capacity=0 启用缩容到零与自动暂停。

信息来源