Agent出现LLM因为历史工具调用消息而误解工具调用方式的问题
背景近期在Mac mini上部署了Acbox等开发者开发的Memoh——一款基于docker容器的多智能体Agent。在使用过程中出现了问题Agent调用工具失败并且在聊天记录中出现了类似下面格式的文本。tool_call ...{...}/tool_call排查在项目仓库已有人提交了issue #437其认为问题在于LLM-SDK缺少兜底方案需要Agent进程在LLM返回的content中扫描tool_call字符串并转换为正常工具调用。但是直觉认为这只是一种治标不治本的方法。问题关键并不在于此。经过排查发现tool_call ...{...}/tool_call这种类似XML的格式的由来是Agent将历史的工具调用记录转换为这种格式的字符串再放入上下文发送给LLM。这种格式会让LLM误以为在content中写这种格式就是触发工具调用的方法进而引发错误。于是在Codex的建议下秉持着最小修改的原则将tool_call ...{...}/tool_call格式改为了更类似自然语言的格式[Previous assistant tool use]Tool: execInput: {...}然而在接下来的测试中LLM居然开始误将这种新的格式作为工具调用的方法继续在输出的content中写入这种内容。但是这也印证了问题的根本原因就在于LLM误学习了历史工具调用格式。问题处理考虑到处理该问题会涉及到后端的turn_response管线的大改因而我没有参与更改。只在项目仓库提了一个issue。在第二天下午项目的开发者便根据此issue使用Codex予以修改了具体修改可见PR。其修改的大致思路为不再将工具调用记录和其他文本一样转为string放入content里而是以完整的调用结构化数据存放与content分离。进一步思考为什么会发生这样的错误在internal/pipeline/turn_response.go中可以看到该Agent在把工具调用拼装入上下文的时候会将其与其他对话上下文一起转换为下面的结构体type ContextMessage struct {Role string json:roleContent string json:content}在这个结构体中工具调用也和其他聊天文本一样被压扁成string。但是为了表示不同还会进一步写为这种xml格式。可能因为项目在最初没有考虑到要将工具调用引入上下文因而上下文消息只使用string来表示。但是后期引入工具调用上下文时可能出于方便没有同步修改消息结构。关于issue #437这个issue提出了一种解决方案让Agent在收到LLM发来的消息的时候扫描tool_call ...并将其作为触发工具调用的符号。并且指出知名的Agent项目hermes-agent也是这么做的。但是这种做法的缺陷在于tool_call ...本身就不应该是LLM触发工具调用的方式强行兜底处理与项目设计意图相悖。Agent可能会在不以触发工具调用为目的的时候发出tool_call ...如引用历史工具调用记录。

相关新闻

【全文系列目录】风控PM记

【全文系列目录】风控PM记

风控PM记 一:风险认知与识别(入门篇) ① 入门第一课:认识风险,了解风控 ② 入门第二课:业务催生风险,常见的业务风险有哪些? ③ 《电商风控入门:我们到底在“防”什…

2026/7/6 3:49:20阅读更多 →
OPENSSL生成非对称加密公私钥

OPENSSL生成非对称加密公私钥

本文内生成的文件均为密钥,不涉及证书的内容,密钥与证书的关系,以及各位客官所需要的究竟是密钥还是证书请自行查阅不同格式的密钥,使用时也会有所不同,因此需要明确自己要用的是什么编码和格式的密钥生成RSA公私钥生成…

2026/7/6 3:44:20阅读更多 →
风控模型岗,怎么靠副业日入过千?

风控模型岗,怎么靠副业日入过千?

做风控模型的,白天调参数、挖特征、找需求用户做营销、防逾期,晚上还要盯着线上指标。工资涨得慢,KPI 压得紧,很多人都在想: 能不能靠自己的技术,搞点外水? 今天这篇文章,不吹牛,不讲玄学,只说真实可落地的路子。 文章目录 一、为什么风控模型岗适合搞副业? 二、日入…

2026/7/6 3:44:20阅读更多 →
2026制造业数字化转型:基于工程图纸自动识别的质量检验计划实战指南

2026制造业数字化转型:基于工程图纸自动识别的质量检验计划实战指南

在 2026 年的数字化制造环境下,质量(Quality)管理早已不再局限于事后检测,而是贯穿于从设计图纸到成品交付的全生命周期。今天在处理一批复杂的航空级精密零件图纸时,再次感受到了数字化手段对提升检验计划&#xff08…

2026/7/6 4:49:24阅读更多 →
MAVProxy:重新定义无人机地面站的模块化架构哲学

MAVProxy:重新定义无人机地面站的模块化架构哲学

MAVProxy:重新定义无人机地面站的模块化架构哲学 【免费下载链接】MAVProxy MAVLink proxy and command line ground station 项目地址: https://gitcode.com/gh_mirrors/ma/MAVProxy MAVProxy作为一款基于Python的开源MAVLink代理和命令行地面站&#xff0c…

2026/7/6 4:49:24阅读更多 →
从零到一:如何在Unity URP中打造专业级卡通渲染

从零到一:如何在Unity URP中打造专业级卡通渲染

从零到一:如何在Unity URP中打造专业级卡通渲染 【免费下载链接】UnityURPToonLitShaderExample A very simple toon lit shader example, for you to learn writing custom lit shader in Unity URP 项目地址: https://gitcode.com/gh_mirrors/un/UnityURPToonLi…

2026/7/6 4:49:24阅读更多 →
MAVProxy:基于Python的开源无人机地面站终极指南

MAVProxy:基于Python的开源无人机地面站终极指南

MAVProxy:基于Python的开源无人机地面站终极指南 【免费下载链接】MAVProxy MAVLink proxy and command line ground station 项目地址: https://gitcode.com/gh_mirrors/ma/MAVProxy MAVProxy是一款基于Python开发的无人机地面站软件,作为强大的…

2026/7/6 4:49:24阅读更多 →
QLVideo:让Mac视频管理更高效的预览增强工具

QLVideo:让Mac视频管理更高效的预览增强工具

QLVideo:让Mac视频管理更高效的预览增强工具 【免费下载链接】QuickLookVideo This package allows macOS Finder to display thumbnails, static QuickLook previews, cover art and metadata for most types of video files. 项目地址: https://gitcode.com/gh_…

2026/7/6 4:49:24阅读更多 →
SQL OR运算符原理与实战:从逻辑陷阱到性能优化

SQL OR运算符原理与实战:从逻辑陷阱到性能优化

1. SQL OR 运算符:不只是“或者”,而是数据筛选的弹性开关你刚接触 SQL 时,大概率会先学WHERE department HR这种单条件查询。但现实中的业务需求从来不是非黑即白——老板要的不是“只看 HR 部门的人”,而是“HR 部门的员工&…

2026/7/6 4:44:23阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/6 4:26:20阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/6 2:48:33阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/6 0:10:35阅读更多 →
Seraphine:基于LCU API的英雄联盟智能游戏助手技术解析与应用指南

Seraphine:基于LCU API的英雄联盟智能游戏助手技术解析与应用指南

Seraphine:基于LCU API的英雄联盟智能游戏助手技术解析与应用指南 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 技术架构先行:官方接口的合规应用 你是否曾在BP阶段手忙脚乱&#x…

2026/7/6 0:03:39阅读更多 →
多协议远程连接管理工具mRemoteNG:告别混乱,统一你的远程桌面管理

多协议远程连接管理工具mRemoteNG:告别混乱,统一你的远程桌面管理

多协议远程连接管理工具mRemoteNG:告别混乱,统一你的远程桌面管理 【免费下载链接】mRemoteNG mRemoteNG is the next generation of mRemote, open source, tabbed, multi-protocol, remote connections manager. 项目地址: https://gitcode.com/gh_m…

2026/7/6 0:03:39阅读更多 →
COUNT(DISTINCT) 与 GROUP BY 去重统计:5 亿数据量下的性能实测与选型指南

COUNT(DISTINCT) 与 GROUP BY 去重统计:5 亿数据量下的性能实测与选型指南

COUNT(DISTINCT) 与 GROUP BY 去重统计:5 亿数据量下的性能实测与选型指南在数据分析和处理领域,去重统计是最基础也是最频繁使用的操作之一。当数据量达到亿级规模时,不同的去重统计方法在性能上可能产生天壤之别。本文将基于 5 亿行数据的实…

2026/7/6 0:03:39阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/6 4:45:01阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/6 4:45:01阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/6 4:45:03阅读更多 →