开发环境ArcGIS Pro 3.6 + 助手(Beta) + Pro SDK + Visual Studio 2026社区版
本文展示Pro SDK 示例代码位于https://github.com/Esri/arcgis-pro-sdk-community-samples/tree/master/AIAssistant/AILayoutFunction
此示例演示了如何使用AIAssistantExtension和AIAssistantFunction属性向ArcGIS Pro Assistant添加自定义行为。实现了为当前地图创建一个包含图例、比例尺、指北针且标题为‘增强布局’的布局。
1.使用Visual Studio打开项目目录中的sln文件

查看代码
如果问题中含有“Create a layout using the current map”提示词,就执行CreateDefaultLayout向大模型询问,确定创建布局的各项参数,然后根据得到的参数执行创建布局的方法。最后返回一个AI助手的结果消息"Layout created and opened"
如果问题中含有“Create a layout with legend using the current map”的提示词,就执行CreateLayoutWithLegend方法向大模型询问,确定创建带有图例的布局的各项参数,然后调用创建布局的方法。最后返回一个AI助手的结果消息"Layout with legend created and opened"。

定义了CreateLayout任务方法,根据各项参数创建当前地图的布局,并在布局上新建各种地图布局要素。

2.生成 - 生成解决方案

3. 点击 调试 - 开始调试,会自动启动ArcGIS Pro。

4.选择先前的工程后,在AI助手中输入 create a layout for the current map with a legend, a scalebar, a north arrow and titled Enhanced layout
会提示选择模板。这里选了模板9。
可以在Visual Studio的输出中看到,该任务调用的gpt-4.1模型,消耗了提示词token 18861个,响应token288个。


以上是纯AI助手,未使用的prosdk扩展的方法的执行情况。ArcGIS Pro的 加载项管理器中未包含该加载项。
执行build 和 打包后,确认加载项管理器中已包含了该加载项。

再执行create a layout for the current map with a legend。不会提示选择模板。直接出结果。

查看输出日志,这次消耗的token有所减少。并且日志与之前有所不同。
Prompt tokens (gpt-4.1): 14189
Response tokens (gpt-4.1): 152
