当前位置: 首页 > news >正文

2026年山东大学软件学院创新项目实训博客(五)

2026年山东大学软件学院创新项目实训博客(五)

一、工作进展

本阶段 Agent 架构模块的核心推进是将父级编排从「单次补全加强制工具调用」升级为有界多轮循环,并同步完成系统提示词的多步能力声明、意图分类器的域关键词防误路由、以及 SSE 事件流在多轮迭代中的可观测性保障。

父级编排方面,允许同一子域内在上限轮次内迭代:模型先发起查询类调用拿到明细列表与主键,再基于返回结构发起精确改写调用,避免「参数在同一次补全里无法预知」的卡死。

系统提示词方面,顶部声明多步能力与推理纪律:模型知道自己可以发起多轮调用,但也被约束不能在查询结果非空的前提下重复发起等价查询。

意图分类器方面,补充域关键词映射,降低跨域误路由的概率。

二、详细内容

1. 单次补全模式的隐含假设为什么会破灭

早期路径允许模型在一轮补全里返回多个工具调用,后端顺序执行并把结构化结果追加回消息。这个模式的隐含假设是「所有调用参数都能在同一轮补全里写完」。

这个假设对「用户口述了全部写入字段」成立:用户说「我今天午餐吃了一碗米饭,热量大概 200 大卡」,模型可以在一次补全里生成完整的写入参数。但对「需要先查列表定位主键」的场景不成立:用户说「帮我把午餐的米饭改成面条」,模型不知道「午餐的米饭」对应的记录主键是多少——这个标识符天然依赖上一轮查询的返回结果。

缺少反馈回路时的恶果包括:私有推理通道空转,模型反复尝试猜测标识符;甚至在总结层编造已成功写入,对用户说「已经帮你改好了」,但数据库里没有任何变化。后者伤害最大——用户信任被透支,且短期内难以发现。

2. 有界循环的结构设计

编排把「补全——若有工具则执行——结果写回——再补全」固化成显式迭代。每一轮的结构是:

  1. 将当前消息列表发送给模型
  2. 检查模型返回是否包含工具调用
  3. 若有工具调用,执行并将结果追加到消息列表
  4. 若无工具调用,视为模型已得出最终结论,退出循环
  5. 检查是否已达最大轮次,达到则强制退出

最大轮次上限的设置需要权衡:太小会限制复杂场景的表达能力,太大会导致成本和延迟不可控。当前设置为五轮,覆盖了「先查列表、再定位、再改写」的典型三步场景,同时为异常情况留出两轮缓冲。

上限不是为了卡业务,而是为成本、延迟与异常抖动三方面兜底。模型理论上可能在查询结果非空的前提下重复发起等价查询——比如查到列表后不改写,而是再查一次。没有上限的话,这种情况会无限循环。

3. 工具绑定与子域隔离

每一轮仍然只允许当前意图绑定的那一个工具名称。多轮不等于允许多子域串烧——用户说「帮我改午餐记录,顺便查一下今天的训练消耗」,编排层应该在营养子域内完成改写,训练消耗查询要么交给父级重新分发,要么明确拒绝混合意图。

这个约束是为了审计与调试的可追溯性。如果允许多轮中自由切换工具,日志里会出现「第一轮调营养工具、第二轮调训练工具、第三轮又调营养工具」的混乱序列,排查问题时难以还原用户的真实意图链路。

4. 系统提示词的多步能力声明与推理纪律

模型需要知道自己「可以」发起多轮调用,否则它会在第一轮就尝试把所有参数猜完。系统提示词顶部显式声明:你可以先查询获取信息,再基于查询结果发起写入操作。

同时需要声明推理纪律,防止多轮退化为无意义空转:不允许在查询结果已包含目标信息的前提下重复发起等价查询;每一轮调用必须推进任务进展,要么获取新信息,要么完成写入操作。

这两条声明看似矛盾——既要鼓励多步,又要约束不多余——但实际上它们针对不同场景:鼓励多步是为「先查后改」开路,约束不多余是防止模型在已经拿到主键后还去查第二遍。

5. 意图分类器的域关键词防误路由

意图分类器负责将用户输入路由到正确的子域。此前仅靠若干枚举字符串作为标签,小型路由模型对稀疏标签极度敏感——「修正热量」「拌饭」这类表达可能被误判到训练域而非营养域。

本轮补丁是把每个意图标签映射成「用户可能要操纵的数据对象与典型动词名词组合」的自然语言描述,并强调判断顺序:先看数据实体再看修辞。热量、食物、餐次等关键词指向营养域;重量、组数、动作等关键词指向训练域;体重、体脂、心率等关键词指向身体域。

这个改进的直接效果是跨域误路由率下降。代价是意图分类器的提示词变长,路由阶段的推理成本略有增加,但与误路由导致的工具调用失败和用户困惑相比,这个代价可以接受。

6. SSE 事件流在多轮迭代中的可观测性

单次补全模式下,SSE 事件流是线性的:接收、意图解析、分发、工具调用、结果、总结。多轮循环后,事件流变成嵌套的:每一轮迭代内部都有工具调用和结果事件,轮次之间有迭代标记。

前端需要知道「当前是第几轮」才能正确展示进度,后端需要完整的轮次日志才能排查问题。SSE 事件中增加了迭代轮次标记,每一轮的开始和结束都有显式事件。前端据此展示「正在查询…」「正在修改…」等分步进度,而不是一个模糊的加载动画。

三、总结

本阶段 Agent 架构工作的核心判断是:单次补全模式的隐含假设在真实业务场景中会破灭,多轮循环是有界成本换来的确定性。

三个要点:

有界循环的结构必须显式声明最大轮次、工具绑定规则和迭代退出条件。没有约束的多轮会退化为无意义空转。

系统提示词需要同时声明多步能力和推理纪律,鼓励「先查后改」的同时防止重复等价查询。

意图分类器的域关键词映射是多轮循环能正确工作的前提——如果第一轮就路由错了域,后续所有迭代都在错误的上下文中进行。

http://www.jsqmd.com/news/826508/

相关文章:

  • 62-260515 AI 科技日报 (Qwen3.6 模型推理速度再提升,MTP加速至1.8倍)
  • 开源智能体框架xbrain:模块化设计与工程实践指南
  • 基于DB-GPT-Hub的文本到SQL微调实战:从原理到企业级部署
  • AI Agent Harness Engineering 的安全攻防:你的智能体如何被欺骗、劫持与利用
  • 指纹浏览器开发教程五:浏览器内存信息相关能力该怎么改
  • 基于MCP协议构建AI技能服务器:从原理到实战开发指南
  • SLO-Warden:基于错误预算的云原生服务稳定性自动化管理实践
  • 智能苔藓花园:用CircuitPython与NeoPixel打造会呼吸的天气可视化装置
  • Kaggle竞赛实战技能库:从数据预处理到模型集成的完整工程化实践
  • FAST开发方法在系统分析中四个阶段
  • Windows Cleaner:3步解决C盘爆红,快速释放系统空间的实用指南
  • 2026年公考软件大盘点:技术架构与用户体验深度评测
  • 04 AI 时代的岗位分工与协作机制
  • SpleeterGui终极指南:3步实现AI音乐人声分离的免费神器
  • 我们团队的技术债已经堆成山,我用这四步说服老板给时间重构
  • Swift集成飞书API:原生SDK实现iOS/macOS应用无缝协同
  • 使用git filter-repo删除已提交到git中的敏感信息,api key,配置文件等
  • 二分查找与二分答案模板
  • 【BUUCTF】【WEB】Nmap
  • AI时代PPT实战:产品思维与AI辅助的高效演示方法论
  • Maven依赖裁剪插件paperclip-plugin-acp实战:Spring Boot瘦身利器
  • 书成紫微动,律定凤凰驯:从无心创作到天命显化的海棠山铁哥之路
  • Go语言构建高并发实时流媒体服务器:dundas/liveport架构与实战
  • Ketcher分子编辑器实战指南:从基础绘图到高级生物分子设计
  • BilibiliDown:零基础小白也能轻松下载B站视频的完整指南
  • 西安电子科技大学网络对抗原理选修课实验2-基于Snort的入侵检测实验
  • 2026年评价高的洛阳流行舞蹈培训/洛阳舞蹈培训/洛阳零基础舞蹈培训/洛阳爵士舞培训哪家专业 - 行业平台推荐
  • 如何通过Perseus实现碧蓝航线皮肤解锁与游戏深度定制
  • AI技能库实战指南:结构化Prompt与自动化流程提升内容创作效率
  • Proxima向量检索库:硬件优化与量化技术实战解析