diff --git a/agent/dev/introduction.md b/agent/dev/introduction.md index b99200b..0bcf91f 100644 --- a/agent/dev/introduction.md +++ b/agent/dev/introduction.md @@ -2,29 +2,29 @@ ## 主要功能 -灵图LinkTool是一个基于大模型上下文协议的自然语言驱动地理信息应用通用智能体,该智能体深度融合模型上下文协议(MCP)、自然语言交互接口与ArcGIS Pro地理处理工具库。面对用户地理处理任务需求时,LinkTool能够分析用户需求实现ArcGIS Pro与多源服务之间的无缝连接,实现“任务理解—工具选择—参数配置—动态修正”决策流程。用户可随时查看分析进度、修改参数、重复执行或终止任务,操作过程具备完整可回溯性与100%工程复现率。 +灵图LinkTool是一个基于大模型上下文协议的自然语言驱动地理信息应用通用智能体,该智能体深度融合了模型上下文协议(MCP)、自然语言交互接口与ArcGIS Pro地理处理工具库。面对用户地理处理任务需求时,LinkTool能够分析用户需求实现ArcGIS Pro与多源服务之间的无缝连接,实现“任务理解—工具选择—参数配置—动态修正”决策流程。用户可随时查看分析进度、修改参数、重复执行或终止任务,操作过程具备完整可回溯性与100%工程复现率。 ## 创新特色 ### 功能层面 -- 全面兼容多类MCP服务协议\ -LinkTool已成功对接MCP服务,包括Python脚本执行器、Bing搜索、高德地理编码与路径规划、本地文件系统管理等,形成一个一站式GIS智能生态枢纽。该机制支持在任务执行过程中动态调用多源异构服务,不仅可以补全用户未提供的关键参数(如路径规划中获取实时路况、POI点位信息等),还能将外部数据自动注入GIS分析流程中,从而提升数据完整性、增强任务鲁棒性,真正实现平台间数据与功能的深度融合。 -- 自主规划空间分析任务流程\ -传统的GIS操作依赖用户手动规划工具调用顺序,面对多步骤的综合分析任务时,往往需要反复试错与参数调整,费时费力。本项目通过将提示词工程与知识检索增强生成(RAG)技术深度集成于GIS任务链中,实现了类人类的“任务理解—工具选择—参数配置—动态修正”决策流程,赋予插件“理解意图、自主拆解任务、组合工具、自动执行”的能力。\ -用户只需用自然语言描述分析目标(如“分析某区域的道路密度与交通公平性”),插件便能自动生成任务规划,调用相关工具链,执行包括空间叠加、属性筛选、字段计算、图层导出等操作,形成完整的地理信息分析闭环。经过实测,LinkTool在处理复杂GIS分析任务时,整体效率相比人工操作提升约1.5~2倍,且分析效果在匿名评审中接近人类专家水平,显示出智能体执行流程的高可靠性与专业性。 -- 基于矢量、栅格及网络数据结构的各类空间分析操作\ -可以调用地理处理软件的上千个工具 -- 地理处理工具执行过程可视与可控\ -地理人工智能(GeoAI)应用中常存在“黑箱化”问题,用户难以理解模型中间推理逻辑与数据处理路径。本项目通过“任务可视化+结果可追踪”的架构设计,构建了智能体操作全过程可视化机制:每一次工具调用都以卡片形式展示执行细节,包括工具名称、输入参数、操作对象与处理结果,并将中间分析成果实时叠加显示于ArcGIS Pro地图视图中。\ -用户可随时查看分析进度、修改参数、重复执行或终止任务,操作过程具备完整可回溯性与100%工程复现率,有效解决传统GeoAI系统中“看不懂、调不了、复现难”的问题。例如在坡度分析任务中,用户可以直观查看坡度图分布与工具配置参数,实现从数据输入到结果分析的全过程掌控。 -- 知识库调用\ -能够访问内置的四大地理信息处理知识库,知识库已经进行了切片和向量化嵌入,模型可根据实际需要自拟关键词句进行知识库检索 +- 全面兼容多类MCP服务协议 + LinkTool已成功对接MCP服务,包括Python脚本执行器、Bing搜索、高德地理编码与路径规划、本地文件系统管理等,形成一个一站式GIS智能生态枢纽。该机制支持在任务执行过程中动态调用多源异构服务,不仅可以补全用户未提供的关键参数(如路径规划中获取实时路况、POI点位信息等),还能将外部数据自动注入GIS分析流程中,从而提升数据完整性、增强任务鲁棒性,真正实现平台间数据与功能的深度融合。 +- 自主规划空间分析任务流程 + 传统的GIS操作依赖用户手动规划工具调用顺序,面对多步骤的综合分析任务时,往往需要反复试错与参数调整,费时费力。LinkTool通过将提示词工程与知识检索增强生成(RAG)技术深度集成于GIS任务链中,实现了类人类的“任务理解—工具选择—参数配置—动态修正”决策流程,赋予插件“理解意图、自主拆解任务、组合工具、自动执行”的能力。 + 用户只需用自然语言描述分析目标(如“分析某区域的道路密度与交通公平性”),插件便能自动生成任务规划,调用相关工具链,执行包括空间叠加、属性筛选、字段计算、图层导出等操作,形成完整的地理信息分析闭环。经过实测,LinkTool在处理复杂GIS分析任务时,整体效率相比人工操作提升约1.5~2倍,且分析效果在匿名评审中接近人类专家水平,显示出智能体执行流程的高可靠性与专业性。 +- 基于矢量、栅格及网络数据结构的各类空间分析操作 + 可以调用地理处理软件的上千个工具 +- 地理处理工具执行过程可视与可控 + 地理人工智能(GeoAI)应用中常存在“黑箱化”问题,用户难以理解模型中间推理逻辑与数据处理路径。LinkTool通过“任务可视化+结果可追踪”的架构设计,构建了智能体操作全过程可视化机制:每一次工具调用都以卡片形式展示执行细节,包括工具名称、输入参数、操作对象与处理结果,并将中间分析成果实时叠加显示于ArcGIS Pro地图视图中。 + 用户可随时查看分析进度、修改参数、重复执行或终止任务,操作过程具备完整可回溯性与100%工程复现率,有效解决传统GeoAI系统中“看不懂、调不了、复现难”的问题。例如在坡度分析任务中,用户可以直观查看坡度图分布与工具配置参数,实现从数据输入到结果分析的全过程掌控。 +- 知识库调用 + 能够访问内置的四大地理信息处理知识库,知识库已经进行了切片和向量化嵌入,模型可根据实际需要自拟关键词句进行知识库检索 ### 应用层面 -- 地理信息科学教学能力\ -可以实现对空间数据的统计、分析、可视化及基于数据内容的智能问答。通过深度融合自然语言交互与GIS工具链能力,本项目为GIS教学科研应用提供了高效、便捷的创新解决方案。其应用场景广泛覆盖自然资源管理、城市规划等多个领域,具备极强的实用性与推广潜力。通过展示地理思维过程与推演逻辑,项目将充分体现大语言模型技术在地理信息科学教学科研实践中解决实际问题的核心价值。 +- 地理信息科学教学能力 + 可以实现对空间数据的统计、分析、可视化及基于数据内容的智能问答。通过深度融合自然语言交互与GIS工具链能力,LinkTool为GIS教学科研应用提供了高效、便捷的创新解决方案。其应用场景广泛覆盖自然资源管理、城市规划等多个领域,具备极强的实用性与推广潜力。通过展示地理思维过程与推演逻辑,LinkTool将充分体现大语言模型技术在地理信息科学教学科研实践中解决实际问题的核心价值。 -- 智能化自动化数据分析与处理\ -面对重复繁琐、多工具调用的复杂地理处理任务,传统的模型构建器和 Python 脚本虽能实现自动化,但其编写和调试本身耗时耗力,且缺乏灵活性。LinkTool 突破了这一局限,通过其自然语言驱动的智能体核心,实现了"零代码"的智能自动化。用户只需用日常语言描述任务,LinkTool 即可自主理解、规划并执行多达十几个甚至更多的工具链,将原本数小时的"搭积木"或"写代码"过程,缩短至数分钟的自然对话,效率提升数倍。 +- 智能化自动化数据分析与处理 + 面对重复繁琐、多工具调用的复杂地理处理任务,传统的模型构建器和 Python 脚本虽能实现自动化,但其编写和调试本身耗时耗力,且缺乏灵活性。LinkTool 突破了这一局限,通过其自然语言驱动的智能体核心,实现了"零代码"的智能自动化。用户只需用日常语言描述任务,LinkTool 即可自主理解、规划并执行多达十几个甚至更多的工具链,将原本数小时的"搭积木"或"写代码"过程,缩短至数分钟的自然对话,效率提升数倍。 #### 案例展示 ##### 市政道路数据快速提取 >用户需求:在海珠区内从广州塔到中山大学怎么走,根据路名把广州道路数据中相应的要素导出来。 diff --git a/agent/dev/knowledge.md b/agent/dev/knowledge.md index c46b744..a8415c5 100644 --- a/agent/dev/knowledge.md +++ b/agent/dev/knowledge.md @@ -1,16 +1,17 @@ # 知识库 ## 简介 -构建了ArcGIS Pro应用案例、任务规划案例、ArcGIS Pro工具调用大全、ArcGIS Pro帮助文档四个知识库。\ +构建了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应用案例\ +- ArcGIS Pro应用案例 截至当前版本,该知识库收集整理了近200个基于ArcGIS Pro平台的应用案例,范围覆盖广,从投影到要素编辑再到制图等内容都有覆盖,也正是因为有这一拥有大量案例的知识库,使得LinkTool在调用ArcGIS Pro地理处理工具进行操作过程中具有较高的精确度和专业性。 -- 任务规划案例库\ +- 任务规划案例库 收集使用ArcGIS Pro完成常见空间分析需求的步骤案例,帮助用户结合自身需求形成更合理的解决方案。在本知识库中收集整理了近千条常见应用问题的解题步骤,通过学习、调用该知识库,LinkTool可在解决用户输入问题时生成任务规划,这一任务规划可帮助LinkTool在解决问题时中有较为清晰的思路与方向,能够提高解决问题的效率以及减少走弯路情况的发生。 -- ArcGIS Pro工具调用大全\ +- ArcGIS Pro工具调用大全 包括调用ArcGIS Pro工具所需的工具名和所需参数列表等信息,方便用户快速查找和使用工具。LinkTool在使用ArcGIS Pro中的工具时需要按照工具所需输入正确的参数与数据,而本知识库中记录了ArcGIS Pro中的近1500个工具的名称以及所需参数与数据。LinkTool在调用ArcGIS Pro中的工具时可以通过查看本知识库,从而获取该工具所需参数与数据,并从数据库中寻找到对应的数据以及合适的参数输入,进一步完成用户输入的问题。 -- ArcGIS Pro帮助文档\ +- ArcGIS Pro帮助文档 包含ArcGIS Pro各项工具的详细使用说明、参数要求和原理说明,为用户提供全面的技术支持。 @@ -22,9 +23,15 @@ Link Tool旨在构建一个专业的GIS工具知识库,通过自动化手段 ## 实现方法 将整理好的四个知识库文档上传到阿里云百炼平台,采用检索增强生成(RAG)技术,根据用户输入从外部信息源检索相关信息,然后将检索到的内容整合到用户输入中,从而帮助大模型生成更准确的回答。知识库功能作为阿里云百炼的RAG能力,能有效补充私有知识并提供最新信息。 + 具体操作为:对知识库进行配置,开启多轮会话改写——将基于会话上下文自动调整原始输入Prompt(用户问题)以提升检索效果。使用官方向量v3(DashScope 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帮助文档知识库,确保其调用信息的准确性,提高工具执行效率。 \ No newline at end of file diff --git a/agent/dev/models.md b/agent/dev/models.md index caefa35..67a23a1 100644 --- a/agent/dev/models.md +++ b/agent/dev/models.md @@ -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)为快照版本,在基础模型上优化了推理能力和工具调用支持。 + ## 模型表现 -对比介绍不同模型、不同参数量在实际任务中的表现,并给出建议:哪些模型适合完成什么任务 \ No newline at end of file +以 qwen3-235b、claude-thinking 和 gemini-2.5-pro 为代表的百亿级以上模型,这类模型在复杂任务中展现出深度思考能力,能构建完整的推理链条,尤其在需要多步骤分析、工具协同决策的场景中表现突出。但深度思考也带来显著延迟,当任务存在多重变量或多种方法时,模型可能陷入自我博弈循环,消耗远超实际需求的时间成本。 + +小参数模型的核心优势在于响应效率,对结构化信息提取、模板化内容生成等任务能达到近乎实时的处理速度。不仅响应更快,输出也更简洁聚焦。但当任务涉及抽象概念或需要多维度权衡时,容易表现出思维深度不足的局限。 + +为平衡两种模型的优势与劣势,后期将考虑引入快慢脑的形式,针对不同的流程,有选择性地处理,介于二者之间的模型在效率与深度间取得较好平衡,能处理大多数日常复杂任务。之后也将考虑采用客观的评价指标衡量模型之间的表现水平。 \ No newline at end of file diff --git a/agent/dev/prompt.md b/agent/dev/prompt.md index 10283fe..3eb420e 100644 --- a/agent/dev/prompt.md +++ b/agent/dev/prompt.md @@ -2,12 +2,31 @@ ## 简介 -简单介绍通过提示词实现什么样的效果,提示词主要包括哪些内容等 +为使智能体符合地理信息处理或地理空间分析专家身份、突出在地理信息系统领域的能力,需要通过提示词工程以系统提示词(System Prompt)的方式对模型的身份、类型、特点以及其生成回复的风格、格式要求等进行规范。 + +参考当前大语言模型提示词工程范式,结合地理信息系统应用这一垂直领域特点,通过多次迭代更新与调试,编写出一套提示词文本,包括系统提示词(System Prompt)和用户提示词(User Prompt)。通过两者协同设计,Link Tool可以实现对AI模型的精准引导和行为控制,同时增强地理语义的理解。 + +系统提示词作为智能体的核心身份与规则框架,明确界定其作为地理信息处理专家的专业角色,确立了与ArcGIS Pro工具库的对接规范和输出风格和体系,为程序化工具调用提供了稳定、合规的执行基础。 + +用户提示词分为“任务规划提示词”、“异常处理提示词”、“继续执行提示词”,这些提示词专注于任务执行层面的动态控制,将自然语言请求解构为可执行工具链,聚焦执行流程的规划,处理报错以及确保工具接续运行。该层面由大模型根据实际任务选择性调用。 + +这种分层协同的提示词设计,使Link Tool能够将模糊的自然语言地理描述(如“河流附近”)精准转化为可计算的参数(如500米缓冲区),并动态组装高效的工具执行序列,显著提升了地理信息处理的智能化水平和执行效率,同时确保了操作流程的严谨性与输出成果的专业性。在程序执行错误时也能实现动态改正并重试,有效提升智能体在地理空间数据处理流程中的鲁棒性,节约用户排查错误的时间。 ## 设计 介绍当前提示词是怎么设计的(详细介绍包括哪些部分的内容,预期、实测产生什么样的效果) +### 系统提示词 +#### 撰写逻辑: +参考Prompt工程的CRISPE优化方法,Capacity and Role(角色):明确AI在交互中应扮演的角色,如精通地理信息分析和ArcGIS Pro软件的专家。 Insight(背景):提供角色扮演的背景信息,帮助AI理解其在特定情境下的作用。 Statement(任务):直接说明AI需要执行的任务,确保其理解并执行用户的请求。Personality(格式):设定AI回复的风格和格式,使其更符合用户的期望和场景需求。 Experiment(实验):如果需要,可以要求AI提供多个示例,以供用户选择最佳回复。 + +主要实现了以下功能: +- 角色定义 +确立智能体作为"精通地理信息分析和ArcGIS Pro软件的专家"这一专业身份,明确限定响应范畴仅聚焦用户当前需求,杜绝过度推理可能引发的操作偏离。这种身份锚定机制从根本上保障了后续所有操作的领域专业性。 +- 交互协议层 +采用XML标签化指令格式构建机器可读的操作指令流,通过"单次单工具"的调用原则实现操作链路的可追溯与可中断。参数传递机制——参数值采用JSON对象封装且路径变量动态注入({{gdbPath}})以及要求ArcGIS Pro工具名严格匹配知识库调用名确保工具执行的成功率。 +- 流程控制层 +通过动态状态管理实现任务流的智能演进:要求每次工具调用必须基于前序结果推进,形成的"规划、执行、反馈"工具链闭环。当遇到复杂任务时,创新性地引入机制激活知识库辅助规划,既扩展了智能体的决策能力边界,又通过"结果示例"模板(如)规范了数据返回格式,使系统能在严格遵循ArcGIS Pro最佳实践的同时,将自然语言指令高效转化为可执行的地理处理流水线。 ## 调试方法 -总结一些提示词工程的技巧,例如提供示例、提出禁止性要求之类的 \ No newline at end of file +根据回复情况、执行流程以及工具卡片提供的异常错误溯源进行针对性地调试。面对规律性的错误,在提示词中添加负面指令进行避免或者给出相应示例和要求完成错误规避。提示词还管控参数格式,比如JSON输出、工具参数填写等细节。若无法按要求执行则将导致程序中断,为此采用了HTTP请求体(Request Body)与响应体(Response Body)的深度解析构成故障诊断的手段,通过洞察与ai之间底层的对话内容对错误寻根溯源。 \ No newline at end of file