架构评审:面向约束求解器的对话式输入
摘要
本文评审了一个聊天机器人系统的架构,该系统将对话式输入转换为结构化数据以供约束求解器使用,通过将大型语言模型用于语言理解和确定性代码用于决策来强调可靠性。
在构建前进行架构健全性检查。领域保持模糊,但结构应当熟悉。问题:用聊天机器人替换一个长的多页配置表单(用于后端约束求解器)——用户输入、上传照片、上传电子表格,聊天机器人填写字段。求解器不能接收幻觉或格式错误的数据,因此可靠性比普通聊天机器人更重要。核心决策:拒绝“将整个表单交给大型语言模型并让它对话”——一次调用处理记忆、缺失字段跟踪、矛盾捕获和结构化输出,在长对话中感觉脆弱。相反,严格分离:语言理解(读取输入、措辞回复)→ 仅使用大型语言模型。每个决策(什么缺失、是否有冲突、下一步问什么、是否安全保存)→ 确定性代码,绝不用模型。大致结构:每个配置配置文件的固定架构(“蓝图”)——存在几个真正不同的结构,而不仅仅是不同的默认值。每个会话一个“工作表”,一次一个字段状态:未知 / 提议 / 已确认 / 冲突 / 跳过 / 不适用。在最终审阅屏幕获得明确确认之前,没有任何字段变为已确认。每一轮,从头重建一个新的状态快照并交给模型——它从不依赖记住对话本身。读取输入 = 一次狭窄的大型语言模型调用,受限于严格的输出架构。非文本输入(照片、电子表格)首先被解析(视觉模型 / 纯代码),然后运行该架构匹配步骤。模型提议值;纯代码独立决定接受 / 标记为冲突 / 请求澄清。一个单独的第二次大型语言模型调用仅处理措辞——从不提供原始数据,只提供已做出的决定以便自然地表达。最终载荷生成是100%确定性的——小的独立“部分”各自检查自己的适用性并构建自己的部分;数据确认后不再涉及大型语言模型。我想征求反馈的地方:两个单独的大型语言模型调用(解析,然后提取)用于图像/文档——值得吗,还是一个良好的多模态调用就足够了?每轮重建完整的状态快照——有人遇到真正的扩展问题吗?有人发布过类似的东西吗——它实际上在哪里崩溃了?是否有更轻量级的已知模式,在没有这么多阶段的情况下获得相同的可靠性?任何建议或评论都会有很大帮助,伙计们!
相似文章
关于聊天机器人在问题解决型对话中工作原理的若干假设:大型语言模型作为创新幻觉的印证
本文提出了关于聊天机器人在问题解决型对话中如何运作的假设,认为大型语言模型编码了人工的隐喻式问题传播,且无法匹敌人类的认知灵活性,这与杨立昆的观点一致。
@QCXINT_: 大多数人在构建完聊天机器人后就止步了。生产级AI系统完全是另一回事。这本开源指…
一本与LLM Engineer's Handbook配套的开源指南,提供了构建生产级LLM系统的完整蓝图,涵盖合成数据生成、训练(含DPO)、RAG、AWS部署、评估和监控。
聊天优先的AI工具在需要代理自主工作时就会崩溃
作者认为聊天优先的AI工具不足以构建自主代理工作流,并描述了替代原语,如定时触发器和子代理委派,主张从“带着工具聊天”转向“使用LLMs的自主流程”。
我构建了一个AI支持代理的控制平面,而不是又造一个聊天机器人——寻求架构反馈
作者描述了RelayOps,一个AI支持代理的控制平面原型,强调关注点分离:模型提议行动,经纪人决策,高风险行动需要人工批准,并寻求架构反馈。
大多数AI智能体失败的原因在于人们像构建聊天机器人那样构建它们
许多AI智能体实现失败是因为它们把智能体当作聊天机器人来对待,依赖聊天历史记录来管理状态,而非使用确定性的数据结构。文章提倡将推理(LLM)、动作(工具)、工作流进度(状态机)和外部触发(网络钩子)分开,以构建可靠的业务智能体。