[BUG]: @agent trigger / Agent workspace mode fails with 400 invalid_type JSON error – regression since v1.16.1

该报错通常出现在 AnythingLLM 桌面端调用 @agent 或进入 Agent/workspace 模式时,后端在构造工具(function/tool)JSON 时发出缺少 function.parameters.properties 的请求,被服务端以 400 invalid_type 拒

快速结论:该报错通常出现在 AnythingLLM 桌面端调用 @agent 或进入 Agent/workspace 模式时,后端在构造工具(function/tool)JSON 时发出缺少 function.parameters.properties 的请求,被服务端以 400 invalid_type 拒绝;优先排查自定义 Agent Skill / 工具定义是否产生了不合法的 function schema。

适用环境:AnythingLLM 桌面端;Issue 中报告自 v1.16.1 起出现,并出现在 LM Studio 直连和“Generic OpenAI”方式接入 LM Studio/Aperture 网关的场景。Issue 中未确认操作系统、Python、CUDA、显卡或依赖版本,因此不补写。

最快修复方案:删除疑似由 AI Agent 生成的自定义 Agent Skill,然后重启应用再测试。@agent 是否恢复在 Issue 中由报告者自行确认,属可优先尝试方案。

注意事项:该问题报告中存在间歇性:有人未改配置即恢复,后又复现;另有用户反馈移动端、Magic Tab 正常,仅桌面端聊天与桌面助手失败。删除 Skill 对当前归档结论有效,但未提供可稳定复现步骤,其他自定义工具、插件或 MCP 配置也未在 Issue 中被验证排除。

问题场景

用户在 AnythingLLM 桌面端聊天界面输入 @agent 激活 Agent 会话,或工作区处于 Agent 模式后发送消息,立即得到 400 错误,推理请求未能完成。普通非 Agent 会话正常。Issue 中同一模型在 Magic Tab 正常,在聊天和桌面助手场景失败。

报错原文

{
  "code": "invalid_type",
  "expected": "object",
  "received": "undefined",
  "path": ["function", "parameters", "properties"],
  "message": "Required"
}

Error: The agent model failed to respond: 400 "[
 {
  \"code\": \"invalid_type\",
  \"expected\": \"object\",
  \"received\": \"undefined\",
  \"path\": [26, \"function\", \"parameters\", \"properties\"],
  \"message\": \"Required\"
 }
]"

原因分析

可能原因是 Agent 会话构造的 function/tool 定义不合法:某个工具的参数 schema 缺少 parameters.properties,或该字段在序列化时为 undefined,服务端要求 properties 必须是对象。Issue 中最终归档指向一个由 AI Agent 生成的自定义 Agent Skill 使 Agent 配置损坏,删除后恢复。此前多模型、多 Provider 均复现,说明问题更可能出在 AnythingLLM 侧的 Agent 请求组装,而非 LM Studio 模型加载或提供方推理能力。

环境排查

  • 确认 AnythingLLM 为桌面端,并记录当前版本(报告者使用 v1.16.1)。
  • 确认问题是否只发生在 @agent/Agent 模式,普通聊天是否正常。
  • 分别用 LM Studio 直连和 Generic OpenAI Provider 路由测试,判断是否与具体提供方有关。
  • 检查近期是否新增或通过 AI Agent 生成过自定义 Agent Skill、自定义工具,或改动过 Agent 配置。
  • 对比 Magic Tab 与主聊天/桌面助手是否表现不同。
  • Issue 未提供可确认的 Python、CUDA、PyTorch、显卡依赖信息,无需据此改版本。

解决步骤

  1. 先停止继续新增或修改 Agent Skill,保留当前配置以便回滚。
  2. 检查 Agent 配置中的自定义 Skill / 工具列表,找出近期新增、由 AI 生成或参数定义不完整的条目。
  3. 删除可疑自定义 Agent Skill;如有多条,可先全部移除,再逐个恢复验证。
  4. 重启 AnythingLLM 桌面端后重新测试 @agent 与 Agent 模式会话。
  5. 如果删除 Skill 后仍复现,记录失败与正常场景的日志(如主聊天失败、Magic Tab 成功),在 Issue 中补充可稳定复现步骤,便于继续定位 Agent 请求 payload 的生成位置。

验证方法

在同一 Provider、同一模型下,于主聊天输入 @agent 并发送消息,确认不再出现 400 invalid_type,且 Agent 能正常响应。Issue 报告者删除自定义 Skill 后反馈问题 100% 修复;若仍有偶发,可对照 Magic Tab 与普通聊天是否正常,以判断是否仍由 Agent 工具 schema 引起。

参考来源

Mintplex-Labs/anything-llm #6273

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 29584

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注