Compare commits

...

8 Commits
main ... agent

Author SHA1 Message Date
6d8821a2af 架构设计的工具流程 2025-07-19 14:47:09 +08:00
3e21c916d3 评估 2025-07-17 17:22:12 +08:00
a5239726c6 架构初稿 2025-07-17 17:10:07 +08:00
f8f71cd6ab 提示词 2025-07-17 15:52:42 +08:00
778a89ba76 知识库 2025-07-17 11:39:55 +08:00
7ee6f3d052 介绍和知识库 2025-07-16 23:39:12 +08:00
b7a4736472 开发简介 2025-07-16 16:54:12 +08:00
34c9788f62 主要功能 2025-07-14 15:12:20 +08:00
7 changed files with 216 additions and 11 deletions

View File

@ -3,7 +3,92 @@
## 评估体系
介绍评估体系各个标准,含示例和介绍文字等
### 图灵测试
- 操作方法
从知识库以外的比赛与应用案例中整理出问题与数据让LInkTool与GIS专业的同学同时完成题目并将两者的答案进行整理。寻找一定数量的GIS专业学生参与本次图灵测试本次测试的内容为分别为两者的答案进行打分以及选择哪一份是人思考得出的答案最终整理出图灵测试的结果。
- 问卷
|输入题目|linktool生成的答案|人的答案|
| --- | --- | --- |
|现需进行垃圾场选址将符合垃圾场选址的地方提取出来选址要求如下距离道路在200m以内、距离河流150m以外、举例住宅小区在800m以外且在1500m以内、垃圾场必须建立在未分配用地上|1.检查所有数据的路径是否正确、数据是否存在
2.缓冲区生成道路200m缓冲区
3.缓冲区生成河流150m缓冲区
4.缓冲区生成住宅小区800m缓冲区
5.缓冲区生成住宅小区1500m缓冲区
6.擦除擦除住宅小区800m缓冲区
7.相交相交未分配用地、道路200m缓冲区、住宅小区800m-1500m缓冲区
8.擦除擦除河流150m缓冲区
9.获得垃圾场选址。|1.检查所有数据的路径是否正确、数据是否存在
2.缓冲区生成道路200m缓冲区
3.缓冲区生成河流150m缓冲区
4.缓冲区生成住宅小区800m缓冲区
5.缓冲区生成住宅小区1500m缓冲区
6.相交相交未分配用地、道路200m缓冲区、住宅小区1500m缓冲区
7.擦除擦除住宅小区800m缓冲区
8.擦除擦除河流150m缓冲区
9.获得垃圾场选址。|
|根据我的数据库,为各个居住小区分配常住人口数。目前已有各个学区的常住人口数,存储在数据“学区”的“人口”字段中,现需要依据数据“居住小区”计算每个学区中的小区数量,并通过计算获得各个小区的小区人口数量。|1.检查所有数据的路径是否正确、数据是否存在
2.空间连接:使得居住小区数据拥有学区信息以及学区人口信息
3.频数:获取各个学区对应的小区数量
4.空间连接:使得居民小区数据拥有各学区内小区数量
5.添加字段:添加小区人口字段
6.计算字段:计算各学区的平均人口
7.得到结果|1.检查所有数据的路径是否正确、数据是否存在
2.空间连接:使得学区数据中的各个学区获得对应的小区数量
3.空间连接:使得居住小区数据拥有学区信息、学区内小区数量信息以及学区人口信息
4.添加字段:添加小区人口字段
5.计算字段:计算各学区的平均人口
6.得到结果|
|根据我的数据库,创建县市级面数据。要求如下:将“隶属市”字段中的字段值相同的要素融合为一个要素|
1.检查所有数据的路径是否正确、数据是否存在
2.融合:将字段隶属市中字段值相同的要素融合合并
3.获得江苏省市级数据|1.检查所有数据的路径是否正确、数据是否存在
2.融合:将字段隶属市中字段值相同的要素融合合并
3.获得江苏省市级数据|
|从广州塔到中大怎么走在GIS中把相应路线给我标出来|1.搜索广州塔的坐标
2.搜索中山大学的坐标
3.搜索广州塔到中山大学的驾驶路线
4.按属性选择:选择驾驶路线中的路段
5.得到结果。|
1.搜索广州塔的坐标
2.搜索中山大学的坐标
3.搜索广州塔到中山大学的驾驶路线
4.按属性选择:选择驾驶路线中的路段
5.得到结果。|
|以村(社区)为单位分别分析海珠区建筑和道路集聚情况,通过建筑密度和道路密度分析海珠区各村(社区)的交通设施公平性|1.裁剪:获得建筑数据、道路数据
2.添加字段:为建筑数据添加建筑总面积字段
3.计算字段:计算建筑总面积
4.交集制表:得到各村的总建筑面积表
5.交集制表:获得每个村的道路长度表
6.连接字段:使得各村的总面积建筑表获得村的面积数据
7.计算字段:计算建筑密度
8.连接字段:使得每个村的道路长度表获得村的面积
9.计算字段:计算道路密度
10.连接字段:使得道路密度表中获得建筑密度数据
11.计算字段:计算比值
12.计算字段:计算莫兰指数
13.导出表格数据。|1.裁剪:获得建筑数据、道路数据
2.添加字段:为建筑数据添加建筑总面积字段
3.计算字段:计算建筑数据的建筑总面积
4.交集制表:得到各村的总建筑面积表
5.连接字段:使得各村的总建筑面积表获得村的面积数据
6.添加字段:为总建筑面积添加建筑密度字段
7.计算字段:计算建筑密度
8.交集制表:获得每个村的道路长度表
9.连接字段:使得每个村的道路长度表获得村的面积
10.添加字段:为道路长度表添加道路密度字段
11.计算字段:计算道路密度
12.连接字段:使得村数据获得建筑面积、密度数据以及道路长度、密度数据
13.导出要素:将连接好的要素导出
14.添加字段:为导出的要素添加比值字段
15.计算字段:计算比值
16.空间自相关:计算莫兰指数|
## 评估结果
介绍当前智能体的评估结果、与竞品对比、与人工操作对比、不同迭代版本的智能体对比等
| | 问题1 | 问题2 | 问题3 | 问题4 | 问题5 | 平均得分 |
| --- | --- | --- | --- | --- | --- | --- |
| 人得分 | 49/55 | 46/55 | 55/55 | 51/55 | 53/55 | 4.62 |
| LinkTool得分 | 43/55 | 50/55 | 55/55 | 54/55 | 45/55 | 4.49 |
| 被认为人的次数 | 2/11 | 4/11 | 11/11 | 3/11 | 10/11 | 0.5454 |

View File

@ -2,8 +2,57 @@
## 主要功能
介绍我们这个智能体主要用于做什么的
灵图LinkTool是一个基于大模型上下文协议的自然语言驱动地理信息应用通用智能体该智能体深度融合了模型上下文协议MCP、自然语言交互接口与ArcGIS Pro地理处理工具库。面对用户地理处理任务需求时LinkTool能够分析用户需求实现ArcGIS Pro与多源服务之间的无缝连接实现“任务理解—工具选择—参数配置—动态修正”决策流程。用户可随时查看分析进度、修改参数、重复执行或终止任务操作过程具备完整可回溯性与100%工程复现率。
## 创新特色
### 功能层面
- 全面兼容多类MCP服务协议
LinkTool已成功对接MCP服务包括Python脚本执行器、Bing搜索、高德地理编码与路径规划、本地文件系统管理等形成一个一站式GIS智能生态枢纽。该机制支持在任务执行过程中动态调用多源异构服务不仅可以补全用户未提供的关键参数如路径规划中获取实时路况、POI点位信息等还能将外部数据自动注入GIS分析流程中从而提升数据完整性、增强任务鲁棒性真正实现平台间数据与功能的深度融合。
- 自主规划空间分析任务流程
传统的GIS操作依赖用户手动规划工具调用顺序面对多步骤的综合分析任务时往往需要反复试错与参数调整费时费力。LinkTool通过将提示词工程与知识检索增强生成RAG技术深度集成于GIS任务链中实现了类人类的“任务理解—工具选择—参数配置—动态修正”决策流程赋予插件“理解意图、自主拆解任务、组合工具、自动执行”的能力。
用户只需用自然语言描述分析目标如“分析某区域的道路密度与交通公平性”插件便能自动生成任务规划调用相关工具链执行包括空间叠加、属性筛选、字段计算、图层导出等操作形成完整的地理信息分析闭环。经过实测LinkTool在处理复杂GIS分析任务时整体效率相比人工操作提升约1.5~2倍且分析效果在匿名评审中接近人类专家水平显示出智能体执行流程的高可靠性与专业性。
- 基于矢量、栅格及网络数据结构的各类空间分析操作
可以调用地理处理软件的上千个工具
- 地理处理工具执行过程可视与可控
地理人工智能GeoAI应用中常存在“黑箱化”问题用户难以理解模型中间推理逻辑与数据处理路径。LinkTool通过“任务可视化+结果可追踪”的架构设计构建了智能体操作全过程可视化机制每一次工具调用都以卡片形式展示执行细节包括工具名称、输入参数、操作对象与处理结果并将中间分析成果实时叠加显示于ArcGIS Pro地图视图中。
用户可随时查看分析进度、修改参数、重复执行或终止任务操作过程具备完整可回溯性与100%工程复现率有效解决传统GeoAI系统中“看不懂、调不了、复现难”的问题。例如在坡度分析任务中用户可以直观查看坡度图分布与工具配置参数实现从数据输入到结果分析的全过程掌控。
- 知识库调用
能够访问内置的四大地理信息处理知识库,知识库已经进行了切片和向量化嵌入,模型可根据实际需要自拟关键词句进行知识库检索
### 应用层面
- 地理信息科学教学能力
可以实现对空间数据的统计、分析、可视化及基于数据内容的智能问答。通过深度融合自然语言交互与GIS工具链能力LinkTool为GIS教学科研应用提供了高效、便捷的创新解决方案。其应用场景广泛覆盖自然资源管理、城市规划等多个领域具备极强的实用性与推广潜力。通过展示地理思维过程与推演逻辑LinkTool将充分体现大语言模型技术在地理信息科学教学科研实践中解决实际问题的核心价值。
- 智能化自动化数据分析与处理
面对重复繁琐、多工具调用的复杂地理处理任务,传统的模型构建器和 Python 脚本虽能实现自动化但其编写和调试本身耗时耗力且缺乏灵活性。LinkTool 突破了这一局限,通过其自然语言驱动的智能体核心,实现了"零代码"的智能自动化。用户只需用日常语言描述任务LinkTool 即可自主理解、规划并执行多达十几个甚至更多的工具链,将原本数小时的"搭积木"或"写代码"过程,缩短至数分钟的自然对话,效率提升数倍。
#### 案例展示
##### 市政道路数据快速提取
>用户需求:在海珠区内从广州塔到中山大学怎么走,根据路名把广州道路数据中相应的要素导出来。
实现过程:
1. 坐标定位调用高德MCP获取广州塔与中山大学的精确坐标。
2. 路线规划通过高德MCP获取驾车路线途经滨江东路等7条道路
3. 数据筛选自动调用ArcGIS Pro的MCP工具完成【按属性选择】等操作。
4. 成果输出导出选中道路要素至指定Geodatabase数据库生成操作报告。
优势体现:
我们对案例按照传统方法进行分析并与LinkTool作了对比。按照传统的GIS应用分析理论操作员需要对道路数据进行复杂的清洗、拓扑检查、属性完善随后通过构建GIS网络数据结构进行网络分析使用迪杰斯特拉算法求解最短路径实际用时23小时即使操作员代码能力较强通过代码请求高德API的方式实现需求也需要大约1小时而使用LinkTool仅凭一句话即可联动多源时空数据将完成时间压缩至10分钟左右。基于MCP协议LinkTool可以大批量调用相关工具进而可快速完成生成OD成本矩阵等进一步的空间分析操作大大提升了科研效率使科研工作者节约数据收集、爬取与数据库建立、录入、结构化的时间从而更专注于GIS算法的核心技术和理论的研究。
##### 社区交通设施公平性科研分析
>用户需求:以村(社区)为单位分别分析海珠区建筑和道路集聚情况,通过建筑密度和道路密度分析海珠区各村(社区)的交通设施公平性。
实现过程:
1. 密度计算自动调用SummarizeWithin工具计算各社区建筑密度综合PairwiseIntersect和CalculateGeometry工具统计道路密度。
2. 空间分析生成莫兰指数计算代码调用arcpy.stats.SpatialAutocorrelation工具自动分析建筑/道路密度的空间集聚性。
3. 匹配度评估通过CaculateField自动生成交通匹配度即道路密度/建筑密度,读取要素类属性表识别失衡区域并进行总结,提出政策建议。
优势体现:
1. 提升科研效率将以往需要科研人员花费数日进行的复杂空间统计包括数据清洗、累计超过30个工具调用、结果解读与报告撰写简化为30分钟左右的指令操作。
2. 教学赋能操作零门槛非专业人员无需掌握arcpy语法即可完成专业的空间统计更好理解空间自相关等地理信息科学理论。
##### 外业调查点位筛选
>用户需求请按照以下步骤要求提取出土壤类型可能发生改变的区域将国土三调土地利用类型图2020和二普土壤图进行空间叠加分析筛选出水改旱和旱改水地块。水改旱是土壤二普土壤图上土壤类型为水稻土国土三调土地利用类型图上土地利用方式为旱地、园地、林地、草地的地块旱改水是土壤二普土壤图上土壤类型为非水稻土国土三调土地利用类型图上土地利用方式为水田的地块。当国土三调十地利用图斑与土壤二普土壤图重叠比例超过50%将整块地类图斑提取出来重叠比例不足50%的舍弃。将集中连片的相邻图斑做融合归并处理。对于边界之间距离小于10m的图斑使用GIS聚合面功能进行归并。筛选出面积大于50亩的地类为早地、果园、茶园、林地草地等的图斑提取出来总结自《第三次全国土壤普查技术规程规范修订版
列举并介绍智能体部分投稿比赛、吸引评委和观众的创新点,突出亮眼的地方(包括功能上、设计思路上等)

View File

@ -1,13 +1,37 @@
# 知识库
## 简介
构建了ArcGIS Pro应用案例、任务规划案例、ArcGIS Pro工具调用大全、ArcGIS Pro帮助文档四个知识库。
ArcGIS Pro应用案例来源于[arcgis课程库网址](https://learn.arcgis.com/zh-cn/gallery/)、任务规划案例和ArcGIS Pro帮助文档来源于[Arcgis pro帮助文档](https://pro.arcgis.com/zh-cn/pro-app/latest/help/main/welcome-to-the-arcgis-pro-app-help.htm)、工具调用大全来源于。
- ArcGIS Pro应用案例
截至当前版本该知识库收集整理了近200个基于ArcGIS Pro平台的应用案例范围覆盖广从投影到要素编辑再到制图等内容都有覆盖也正是因为有这一拥有大量案例的知识库使得LinkTool在调用ArcGIS Pro地理处理工具进行操作过程中具有较高的精确度和专业性。
- 任务规划案例库
收集使用ArcGIS Pro完成常见空间分析需求的步骤案例帮助用户结合自身需求形成更合理的解决方案。在本知识库中收集整理了近千条常见应用问题的解题步骤通过学习、调用该知识库LinkTool可在解决用户输入问题时生成任务规划这一任务规划可帮助LinkTool在解决问题时中有较为清晰的思路与方向能够提高解决问题的效率以及减少走弯路情况的发生。
- ArcGIS Pro工具调用大全
包括调用ArcGIS Pro工具所需的工具名和所需参数列表等信息方便用户快速查找和使用工具。LinkTool在使用ArcGIS Pro中的工具时需要按照工具所需输入正确的参数与数据而本知识库中记录了ArcGIS Pro中的近1500个工具的名称以及所需参数与数据。LinkTool在调用ArcGIS Pro中的工具时可以通过查看本知识库从而获取该工具所需参数与数据并从数据库中寻找到对应的数据以及合适的参数输入进一步完成用户输入的问题。
- ArcGIS Pro帮助文档
包含ArcGIS Pro各项工具的详细使用说明、参数要求和原理说明为用户提供全面的技术支持。
简要介绍有哪些知识库、大致是些什么内容
## 知识库构建
Link Tool旨在构建一个专业的GIS工具知识库通过自动化手段爬取Esri官方文档进行清洗、转换、翻译和结构化处理最终生成可用于智能体训练的结构化数据。整个系统分为网页爬虫模块和本地Markdown处理模块。
- 网页爬虫模块负责从网络上抓取Esri相关的GIS工具文档包括链接提取、页面爬取、内容清洗、HTML转Markdown以及翻译等步骤。它通过WebCrawlerManager协调各个组件的工作能够自动提取网页中的链接并根据URL判断是否为工具文档然后使用通义千问API进行英文内容翻译和任务规划生成最终将处理后的数据保存为Markdown文件或CSV格式。模块支持多线程爬取具有异常处理机制能够在爬取失败时进行重试并记录详细的日志信息。
- 本地Markdown处理模块则专注于对已有的Markdown文件进行进一步处理主要功能包括读取本地Markdown文件、翻译英文内容、生成任务规划和问题、解析工具信息、将文档中的工具调用示例名称统一替换为程序可识别的标准调用名并将处理结果保存为新的Markdown文件或CSV格式。该模块通过MarkdownProcessor协调各组件工作支持批量处理指定目录下的所有Markdown文件能够提取文件中的元数据并利用通义千问API生成结构化数据。模块同样具备详细的日志记录功能并支持多线程处理以提高效率。结合ArcGIS工具文档的映射表和AIPlanner模块的智能识别能力确保文档中的工具调用名称与程序处理的标准一致。
详细记录知识爬取、整理、翻译等等我们前期构建知识库时所做的工作
## 实现方法
将整理好的四个知识库文档上传到阿里云百炼平台采用检索增强生成RAG技术根据用户输入从外部信息源检索相关信息然后将检索到的内容整合到用户输入中从而帮助大模型生成更准确的回答。知识库功能作为阿里云百炼的RAG能力能有效补充私有知识并提供最新信息。
介绍通过阿里云百炼平台实现知识库管理、检索、命中测试等的方法
具体操作为对知识库进行配置开启多轮会话改写——将基于会话上下文自动调整原始输入Prompt用户问题以提升检索效果。使用官方向量v3DashScope text-embedding-v3模型用于将原始输入Prompt和知识文本转化为数值化向量官方向量v3模型在语种支持、输入长度和向量维度自定义化等方面相比官方向量v2模型进行了全面升级适用于大部分场景。选择官方排序的Rank模型通过语义排序和文本匹配特征以确保相关性。设置20%的相似度阈值该阈值表示允许召回的文本切片的最低相似度分数用于筛选Rank模型返回的文本切片即只有分数超过此数值的文本切片才会被召回。调低此阈值预期会召回更多文本切片但可能导致召回一些相关度较低的文本切片相反提高此阈值会减少召回的文本切片。若设置得过高则可能导致知识库丢弃相关的文本切片。
![](../../assets/2025-07-17-09-25-44.png)
导入Markdown非结构化数据和工具列表结构化数据配置数据处理策略。设置非结构化文档的元数据比如ArcGIS Pro帮助文档的元数据为工具调用名。设置文档切分为智能切分并将这些文本切片通过Embedding模型转换为向量。随后文本切片和向量将以键值对的形式存入向量数据库中。
知识库创建完成后进行各个知识库针对性“命中测试”,根据召回结果调整相似度阈值。
![](../../assets/2025-07-17-10-05-23.png)
知识库构建完成后会生成专属的ID供Link Tool调用。大模型会结合提示词和用户的需求选择性调用对应的知识库。特别地当Link Tool将执行地理信息处理工具时程序会强制其查询Arcgis pro帮助文档知识库确保其调用信息的准确性提高工具执行效率。

View File

@ -2,8 +2,33 @@
## 支持列表
介绍当前智能体支持的主要模型基座列表展示出品方、参数量、API平台、模型名称
| 模型名称 | 出品方 | 参数量 | API平台 |
|----------|--------|--------|---------|
| qwen3-235b-a22b | 阿里巴巴 | 2350亿220亿激活参数 | 阿里云百炼 |
| qwen3-32b | 阿里巴巴 | 320亿 | 阿里云百炼 |
| qwq-32b | 阿里巴巴 | 320亿 | 阿里云百炼、开源平台Hugging Face/ModelScope |
| qwen-max-latest | 阿里巴巴 | 未披露 | 阿里云百炼 |
| deepseek-r1 | 深度求索 | 6710亿 | DeepSeek官网、阿里云百炼 |
| deepseek-r1-0528 | 深度求索 | 6710亿升级版 | DeepSeek官网、阿里云百炼 |
| deepseek-r1-distill-qwen-32b | 深度求索 | 320亿 | 开源平台Hugging Face/ModelScope |
| deepseek-r1-distill-llama-70b | 深度求索 | 700亿 | 开源平台Hugging Face/ModelScope |
| deepseek-v3 | 深度求索 | 6710亿 | DeepSeek官网、阿里云百炼 |
| o4-mini | OpenAI | 未披露 | OpenAI API、ChatGPT |
| claude-sonnet-4-20250514-thinking | Anthropic | 未公开 | Anthropic官网、AWS Bedrock、Google Vertex AI |
| claude-sonnet-4-20250514 | Anthropic | 未公开 | Anthropic官网、AWS Bedrock、Google Vertex AI |
| grok-3-reasoner | xAI | 未披露 | xAI官网 |
| gemini-2.5-pro | Google | 未公开 | Google Cloud Vertex AI |
**说明**
1. 参数量标注为“未披露”的模型,其官方未公布具体参数,部分为行业推测值。
2. 开源模型可通过Hugging Face、ModelScope等平台下载部署商业API需通过对应厂商平台调用。
3. 部分模型如DeepSeek-R1-0528为快照版本在基础模型上优化了推理能力和工具调用支持。
## 模型表现
对比介绍不同模型、不同参数量在实际任务中的表现,并给出建议:哪些模型适合完成什么任务
以 qwen3-235b、claude-thinking 和 gemini-2.5-pro 为代表的百亿级以上模型,这类模型在复杂任务中展现出深度思考能力,能构建完整的推理链条,尤其在需要多步骤分析、工具协同决策的场景中表现突出。但深度思考也带来显著延迟,当任务存在多重变量或多种方法时,模型可能陷入自我博弈循环,消耗远超实际需求的时间成本。
小参数模型的核心优势在于响应效率,对结构化信息提取、模板化内容生成等任务能达到近乎实时的处理速度。不仅响应更快,输出也更简洁聚焦。但当任务涉及抽象概念或需要多维度权衡时,容易表现出思维深度不足的局限。
为平衡两种模型的优势与劣势,后期将考虑引入快慢脑的形式,针对不同的流程,有选择性地处理,介于二者之间的模型在效率与深度间取得较好平衡,能处理大多数日常复杂任务。之后也将考虑采用客观的评价指标衡量模型之间的表现水平。

View File

@ -2,12 +2,31 @@
## 简介
简单介绍通过提示词实现什么样的效果,提示词主要包括哪些内容等
为使智能体符合地理信息处理或地理空间分析专家身份、突出在地理信息系统领域的能力需要通过提示词工程以系统提示词System Prompt的方式对模型的身份、类型、特点以及其生成回复的风格、格式要求等进行规范。
参考当前大语言模型提示词工程范式结合地理信息系统应用这一垂直领域特点通过多次迭代更新与调试编写出一套提示词文本包括系统提示词System Prompt和用户提示词User Prompt。通过两者协同设计LinkTool可以实现对AI模型的精准引导和行为控制同时增强地理语义的理解。
系统提示词作为智能体的核心身份与规则框架明确界定其作为地理信息处理专家的专业角色确立了与ArcGIS Pro工具库的对接规范和输出风格和体系为程序化工具调用提供了稳定、合规的执行基础。
用户提示词分为“任务规划提示词”、“异常处理提示词”、“继续执行提示词”,这些提示词专注于任务执行层面的动态控制,将自然语言请求解构为可执行工具链,聚焦执行流程的规划,处理报错以及确保工具接续运行。该层面由大模型根据实际任务选择性调用。
这种分层协同的提示词设计使LinkTool能够将模糊的自然语言地理描述如“河流附近”精准转化为可计算的参数如500米缓冲区并动态组装高效的工具执行序列显著提升了地理信息处理的智能化水平和执行效率同时确保了操作流程的严谨性与输出成果的专业性。在程序执行错误时也能实现动态改正并重试有效提升智能体在地理空间数据处理流程中的鲁棒性节约用户排查错误的时间。
## 设计
介绍当前提示词是怎么设计的(详细介绍包括哪些部分的内容,预期、实测产生什么样的效果)
### 系统提示词
#### 撰写逻辑:
参考Prompt工程的CRISPE优化方法Capacity and Role角色明确AI在交互中应扮演的角色如精通地理信息分析和ArcGIS Pro软件的专家。 Insight背景提供角色扮演的背景信息帮助AI理解其在特定情境下的作用。 Statement任务直接说明AI需要执行的任务确保其理解并执行用户的请求。Personality格式设定AI回复的风格和格式使其更符合用户的期望和场景需求。 Experiment实验如果需要可以要求AI提供多个示例以供用户选择最佳回复。
主要实现了以下功能:
- 角色定义
确立智能体作为"精通地理信息分析和ArcGIS Pro软件的专家"这一专业身份,明确限定响应范畴仅聚焦用户当前需求,杜绝过度推理可能引发的操作偏离。这种身份锚定机制从根本上保障了后续所有操作的领域专业性。
- 交互协议层
采用XML标签化指令格式构建机器可读的操作指令流通过"单次单工具"的调用原则实现操作链路的可追溯与可中断。参数传递机制——参数值采用JSON对象封装且路径变量动态注入{{gdbPath}}以及要求ArcGIS Pro工具名严格匹配知识库调用名确保工具执行的成功率。
- 流程控制层
通过动态状态管理实现任务流的智能演进:要求每次工具调用必须基于前序结果推进,形成的"规划、执行、反馈"工具链闭环。当遇到复杂任务时,创新性地引入<prompt>机制激活知识库辅助规划,既扩展了智能体的决策能力边界,又通过"结果示例"模板(如<tool_use_result>规范了数据返回格式使系统能在严格遵循ArcGIS Pro最佳实践的同时将自然语言指令高效转化为可执行的地理处理流水线。
## 调试方法
总结一些提示词工程的技巧,例如提供示例、提出禁止性要求之类的
根据回复情况、执行流程以及工具卡片提供的异常错误溯源进行针对性地调试。面对规律性的错误在提示词中添加负面指令进行避免或者给出相应示例和要求完成错误规避。提示词还管控参数格式比如JSON输出、工具参数填写等细节。若无法按要求执行则将导致程序中断为此采用了HTTP请求体Request Body与响应体Response Body的深度解析构成故障诊断的手段通过洞察与ai之间底层的对话内容对错误寻根溯源。

View File

@ -3,7 +3,10 @@
## 架构简介
绘制智能体架构设计图,介绍智能体的组成及各模块的主要功能,模块之间的关系等(注意与插件的架构图有所区分,本部分主要是介绍智能体本身的,可忽略程序开发相关内容)
![](../../assets/2025-07-17-17-09-07.png)
## 工作流程
介绍智能体收到需求后的工作流程
LinkTool接收到用户需求之后首先调用系统提示词对用户的需求进行分析规划工具调用流程。规划完毕之后会调用第一个工具若该工具为地理处理工具程序则会截断调用流程强制调用一次知识库查询对应工具参数确保其工具调用名和参数正确。工具执行成功之后会调用“任务继续”提示词进行下一步工具的调用如果工具执行失败则会调用“异常处理”提示词进行参数改正和工具重试同样地若重试工具为地理处理工具程序依旧会强制查询一次知识库保证重试后执行成功的概率。
当大模型对于某项决策摇摆不定时它可以选择调用“任务规划”提示词辅助其工具链的完善也可以调用其他案例知识库从实际问题中找到解决问题的方法。当程序检测到新生成的消息中没有XML的工具格式时程序会停止对话循环。并弹出本轮对话完成的提示框。

BIN
assets/ksetting.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB