特性(MCP): 增强 AI 参数幻觉容错与全览日志

- 在 \scene-script.js\ 中为 manage_components 启用 operation 作为 action 的后备别名防范 AI 传参幻觉导致中断。
- 在 \main.js\ 的 /call-tool 请求日志中透传完整 arguments JSON 数据,并在超长时予以截断。
- 同步补全 README.md, UPDATE_LOG.md 与 注意事项.md 针对传参错写的防避规则和特性的更新记录。
This commit is contained in:
火焰库拉
2026-02-25 11:11:21 +08:00
parent 51c04eca48
commit ffa918751d
5 changed files with 3664 additions and 3617 deletions

View File

@@ -170,3 +170,18 @@
- **问题**: AI 助手创建或修改脚本后,若不主动触发系统刷新,后续试图通过 `manage_components` 将该新脚本挂载为组件时,会由于缺乏有效的 `.meta` 扫描和 UUID 索引而失败。
- **优化**: 在 `main.js` 中的 `manage_script` 工具 `description` 提示词中,将原本建议性质的刷新语气,修改为严格指令:“**创建后必须调用 refresh_editor (务必指定 path) 生成 meta 文件,否则无法作为组件添加**”。
- **效益**: 在不增加 Token 开销的前提下,强制规范了大语言模型的行为,保障了脚本创建到组件挂载工作流的健壮性。
---
## 十、 AI 幻觉容错与调试体验增强 (2026-02-25)
### 1. `manage_components` 参数容错
- **问题**: AI 客户端在调用 `manage_components` 等工具时偶尔会产生“幻觉”,将操作类型参数 `action` 错误拼写为含义相近的 `operation`,导致插件抛出“未知的组件操作类型: undefined”等错误而中断执行。
- **修复**: 在 `scene-script.js` 及其核心操作流中增加了参数别名映射逻辑,允许将 `operation` 作为 `action` 的后备别名Fallback。即使 AI 传参名称发生漂移也能顺畅执行后续流程,大幅提升了对大模型无规律输出错漏的容错率。
### 2. MCP 请求日志全览解析 (Full Arguments Logging)
- **问题**: 现有的面板调试终端在记录 AI 工具调用时,只有指令头如 `REQ -> [manage_components]`,无法透视 AI 实际上到底提交了哪些参数。致使类似参数名称写错的幽灵 Bug 极难被常规察觉。
- **优化**: 修改了 `main.js` 中的 `/call-tool` 路由逻辑。现在系统拦截不仅会记录动作名称,还会将完整的 `arguments` 以 JSON 序列化的形态连同日志一并输出在面板中:例如 `参数: {"nodeId":"...","operation":"get"}`
- **保护机制**: 为防止类似多边形顶点数据等过大的参数体撑爆编辑器控制台缓存或导致 UI 卡顿,日志处理对超过 500 个字符长度的序列化结果启用了自动截断显示 (`...[Truncated]`)。