架构评审:面向约束求解器的对话式输入

Reddit r/AI_Agents 新闻

摘要

本文评审了一个聊天机器人系统的架构,该系统将对话式输入转换为结构化数据以供约束求解器使用,通过将大型语言模型用于语言理解和确定性代码用于决策来强调可靠性。

在构建前进行架构健全性检查。领域保持模糊,但结构应当熟悉。问题:用聊天机器人替换一个长的多页配置表单(用于后端约束求解器)——用户输入、上传照片、上传电子表格,聊天机器人填写字段。求解器不能接收幻觉或格式错误的数据,因此可靠性比普通聊天机器人更重要。核心决策:拒绝“将整个表单交给大型语言模型并让它对话”——一次调用处理记忆、缺失字段跟踪、矛盾捕获和结构化输出,在长对话中感觉脆弱。相反,严格分离:语言理解(读取输入、措辞回复)→ 仅使用大型语言模型。每个决策(什么缺失、是否有冲突、下一步问什么、是否安全保存)→ 确定性代码,绝不用模型。大致结构:每个配置配置文件的固定架构(“蓝图”)——存在几个真正不同的结构,而不仅仅是不同的默认值。每个会话一个“工作表”,一次一个字段状态:未知 / 提议 / 已确认 / 冲突 / 跳过 / 不适用。在最终审阅屏幕获得明确确认之前,没有任何字段变为已确认。每一轮,从头重建一个新的状态快照并交给模型——它从不依赖记住对话本身。读取输入 = 一次狭窄的大型语言模型调用,受限于严格的输出架构。非文本输入(照片、电子表格)首先被解析(视觉模型 / 纯代码),然后运行该架构匹配步骤。模型提议值;纯代码独立决定接受 / 标记为冲突 / 请求澄清。一个单独的第二次大型语言模型调用仅处理措辞——从不提供原始数据,只提供已做出的决定以便自然地表达。最终载荷生成是100%确定性的——小的独立“部分”各自检查自己的适用性并构建自己的部分;数据确认后不再涉及大型语言模型。我想征求反馈的地方:两个单独的大型语言模型调用(解析,然后提取)用于图像/文档——值得吗,还是一个良好的多模态调用就足够了?每轮重建完整的状态快照——有人遇到真正的扩展问题吗?有人发布过类似的东西吗——它实际上在哪里崩溃了?是否有更轻量级的已知模式,在没有这么多阶段的情况下获得相同的可靠性?任何建议或评论都会有很大帮助,伙计们!
查看原文

相似文章