在三维场景中让 Agent 连续调用工具,难点不在于一次请求能否返回,而在于请求被替换、浏览器能力缺失或 Viewer 集成变化时,旧结果会不会继续污染场景。cesium-mcp-webmcp@0.2.5 的官方补丁把 Viewer 集成、生命周期注册、可检查 payload 与批次取消放到同一条链上。
可核查事实
- cesium-mcp-webmcp@0.2.5 在 GitHub 标记为 latest release。
- GitHub 显示该版本由 github-actions 于 8 月 20 日发布。
- 该版本关联提交 5628368。
- 发布页显示 main 自该版本后有 4 个提交。
- 补丁关联 #36 和提交 5ae55e6。
- 发布说明新增 one-package Viewer integration。
- 发布说明以 feature detection 强化 WebMCP lifecycle registration。
- 工具 payload 可被检查。
- 被后续批次取代的批次会立即取消。
关键词:Cesium、WebMCP、Viewer、工具 payload、批次取消、三维 GIS、生命周期。
核心机制:后发请求必须能压过先发请求
当用户改变 AOI、时间或分析意图时,较早的工具批次可能仍在返回。若旧批次继续把相机、实体或图层写入 Viewer,结果会和当前意图混杂。立即取消被取代的批次是一种顺序控制:每个批次需要 ID、开始时间、输入摘要、状态与终止原因,所有写场景动作都先确认批次仍是当前批次。
feature detection 解决的是运行环境差异。注册 WebMCP 生命周期前先检测可用能力,能把“不支持”与“执行失败”分开报告。one-package Viewer 集成则应通过独立初始化路径测试,避免应用中已有 Viewer 时发生重复注册或重复销毁。
GIS 场景:用 AOI 变化测试过期结果
构造两个连续任务:先请求大范围三维查询,再立即缩小 AOI 并发起第二个查询。验收应证明第一个批次被标记取消,第二个批次的 payload、实体和相机状态可回读,且不会出现第一批次晚到结果写回场景。对于工具 payload,应记录图层、空间范围、坐标系、时间窗和输出引用,便于追溯。
技术路径
- 在注册前检测浏览器和 WebMCP 所需能力。
- 为每个调用批次分配不可复用 ID 与当前版本号。
- 把工具输入和结果写成可检查 payload,不把隐藏状态当证据。
- 新批次启动时取消旧批次,并在写 Viewer 前二次校验版本号。
- 用 AOI、时间窗和图层切换进行乱序返回回归。
检查清单
- Viewer 单包集成是否只初始化一次并可正常销毁?
- 不支持 WebMCP 的环境是否给出明确降级结果?
- payload 是否包含空间范围、时间、图层与输出引用?
- 旧批次取消后是否禁止写入实体、图层和相机?
- 后发批次是否能抵抗先发批次的晚到回调?
- 取消、失败和完成状态是否都可审计?
风险边界
该发布说明描述的是补丁功能,并不等于所有浏览器、Cesium 版本或工具服务都支持同一生命周期。立即取消也不必然撤回已发出的远程请求;后端仍应对幂等、资源消耗和结果回传做限制。
结语
三维 GIS Agent 的可靠性来自结果顺序可控。把能力检测、payload 和取消语义一起验收,才能避免过期调用改变当前场景。