从Ollama切换到Anthropic SDK破坏了一个原本运行良好的系统。LLM没有改变代码,而是改变了时序

Reddit r/AI_Agents 新闻

摘要

作者分享了为AI代理团队构建共享决策日志时遇到的陷阱,包括更快的模型暴露出的竞态条件、余弦相似度在矛盾检测中的不可靠性,以及测试多代理承诺的挑战。

我一直在构建的个人项目:一个供AI代理团队使用的共享决策日志。这个想法源于一个客户项目,我们在其中使用NotebookLM作为项目的共享大脑。它运行良好,但代理没有直接访问权限。我想构建一个代理原生(agent-native)的相同模式,并具备手动版本无法实现的一项能力:在代理行动之前进行拦截。在编写代码之前,代理会调用brain_analyze_impact,并返回其计划行动与哪些现有决策存在冲突。有几件事以我未曾预料的方式出了问题:**速度暴露了慢速模型隐藏的竞态条件。** 使用Ollama时,20秒的回合延迟下运行顺畅。切换到Anthropic SDK后,延迟降至2秒,图中开始出现幽灵节点:没有边的决策节点,部分写入,未链接到任何东西。异步图写入假设回合之间有足够的时间稳定。在20秒延迟下这个假设成立,但在2秒下则不成立。LLM的改变改变了时间预算,而不是代码,并暴露了一个从未明确说明的顺序假设。这个bug是我的:我假设写入总是在下一次读取到达之前完成稳定。**余弦相似度在检测矛盾时不可靠;它主要检测的是同义转述。** 一条决策及其反转是语义相反的。它们的得分低于相似度阈值,永远不会被标记。我编写的用于捕捉矛盾的系统无法看到它们。修复它需要一个单独的方向性检测步骤,而不是调整阈值。而且正确的阈值是模型特定的:一个较小的模型将“从Qdrant切换到Weaviate”分类为不矛盾,因为两者都是向量数据库。一个较大的模型捕捉到了方向性变化。阈值不是通用常数,而是模型特定的。**单元测试本身无法验证这种多代理承诺。** “代理B在反驳代理A之前被中断”需要四个代理、独立的会话、一个植入的矛盾,以及跨工具的fresh-context读取来在模拟场景中进行验证。所有这些都不适合单一的代理集成测试。这一切都来自一个个人项目——分享这些陷阱,以防其他人正在构建类似的系统。我在别处写了更多关于设计和评估的细节;如果有人想要完整版本,我很乐意在评论中分享。
查看原文

相似文章

@omarsar0: // LLM 智能体中的记忆诅咒 //(建议收藏)过长的历史记录显然会导致智能体性能下降,因为它们变得越来越…

X AI KOLs Following

本研究论文揭示了 LLM 智能体中的“记忆诅咒”现象,证明扩大的上下文窗口会通过削弱前瞻性意图,系统性地破坏多智能体社会困境中的合作行为。作者表明,通过定向微调、合成记忆净化以及减少显式思维链(Chain-of-Thought)推理,可有效缓解此类行为衰退。