导语
当 Agent 开始修改工程图纸、模型或 GIS 文档时,风险不再是答错一句话,而是写错对象、覆盖版本或绕过专业复核。OpenAEC MCP 的公开设计强调一个朴素原则:模型可以帮助检查、计划和验证,但真正写入必须经过策略检查、明确审批和可回滚事务。这个原则同样适用于未来接入 QGIS、CAD 与三维工程平台的 Agent。
可核查事实
- OpenAEC MCP 被定义为独立的安全优先 MCP 平台,用于 AEC 应用。
- 项目将 MCP 协议处理与宿主应用适配器分离。
- 第一阶段已实现 stdio 或认证 Streamable HTTP、工具与资源、计划到审批到事务的完整流程,以及脱敏审计事件。
- 当前已实现并测试的只有 synthetic in-memory adapter;QGIS、Revit 与 FreeCAD 仍列为后续阶段,且不被广告为可用能力。
- HTTP 默认绑定 loopback,未配置至少 32 字符 bearer token 时拒绝启动。
- 默认 inspect 模式允许读取、计算与 dry-run 计划,但阻止审批和执行。
- 执行前引擎重新检查策略、过期、适配器、文档版本、对象上限、幂等键与每文档写锁。
这些事实均来自项目 README;项目的未来适配器计划不等于现有 QGIS 或 CAD 集成已经可投入生产。
核心机制
写操作被拆为计划、审批和执行三段。计划工具必须带上单位、预期文档 ID 与版本、事务名称和幂等键;系统先返回受影响对象、告警、坐标参考、文件、审批要求与回滚策略。识别过的操作员在 assisted 模式审批后,才会得到短生命周期、只绑定该计划的令牌。执行时,服务器不会因为已有令牌就盲目放行,而是再次核查策略和文档状态。
这种分段能防止常见的 Agent 风险:模型给出错误单位、用户在审批前切换了文档、同一命令重复提交、或一次操作超过对象上限。将能力目录与适配器状态关联,意味着未实现或未验证的宿主工具不会被伪装成可调用能力,模型也不会从工具描述中得到错误承诺。
脱敏审计是另一个关键点。工程文本、属性、外部引用和链接模型内容被视为不可信数据,而不是可执行指令;日志应保留哈希、操作、策略结果和版本信息,避免把敏感内容原样复制进 Agent 上下文或审计系统。
GIS 场景与实施路径
在 GIS 中,可把图层样式批量修改、属性修订、几何编辑、服务发布和工程保存都视为写事务。Agent 首先只能检查图层、生成变更计划和运行验证;计划中必须列出图层 ID、坐标系、范围、要修改的对象数、预期版本和回滚方案。经过有权限人员审批后,应用服务端以短期令牌执行,并在写入前再次读取当前版本。
对于批量编辑,建议使用小批次、幂等键和每图层写锁。任何坐标转换、单位换算、拓扑修复或数据清洗,都应先产生 dry-run 差异报告。若版本、范围或对象数与审批时不同,就使计划失效并要求重新生成,而不是让旧授权继续执行。
可执行建议
- 默认让 GIS Agent 处于 inspect 模式,只开放查询、计算、验证与变更预览。
- 所有写计划必须携带稳定文档或图层 ID、版本、空间参考、影响范围、对象上限和幂等键。
- 审批令牌应短期且仅绑定一个计划,执行时重新检查版本、策略和锁状态。
- 不宣传未验证的宿主适配器;工具目录应根据真实能力和用户权限动态过滤。
- 对写入保留脱敏审计、差异报告和回滚结果,批量任务先在副本上 dry-run。
资料来源与数据口径
本文依据 OpenAEC MCP 项目 README,核对第一阶段范围、适配器状态、HTTP 约束、inspect 模式、计划审批事务和安全检查。本文将其模式映射到 GIS 写操作,是实施建议,不代表项目已经提供 QGIS 生产适配器。
风险边界
审批工作流不能替代专业判断。工程单位、坐标系、规范与业务规则仍要由合格人员审核;内存计划在进程重启后会失效,示例验证规则也不等于适用的行业标准。远程部署还需要可信 TLS 与认证网关,不能只依赖应用内的 bearer token。
结论
工程和 GIS Agent 的可靠性,取决于它是否能在写入前停下来展示计划、等待授权,并在执行瞬间重新验证现实状态。将协议、适配器、策略、审批、事务和审计分层,能让自然语言成为受控的变更入口,而不是绕过专业流程的快捷键。
参考来源
- OpenAEC MCP 项目 README。https://github.com/Venkatchavan/OpenAEC-MCP