diff --git a/agent/dev/access.md b/agent/dev/access.md index 168b115..dd7bcd5 100644 --- a/agent/dev/access.md +++ b/agent/dev/access.md @@ -7,7 +7,81 @@ - 操作方法 从知识库以外的比赛与应用案例中整理出问题与数据,让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.空间自相关:计算莫兰指数| ## 评估结果 diff --git a/agent/dev/prompt.md b/agent/dev/prompt.md index 3eb420e..eec4540 100644 --- a/agent/dev/prompt.md +++ b/agent/dev/prompt.md @@ -4,13 +4,13 @@ 为使智能体符合地理信息处理或地理空间分析专家身份、突出在地理信息系统领域的能力,需要通过提示词工程以系统提示词(System Prompt)的方式对模型的身份、类型、特点以及其生成回复的风格、格式要求等进行规范。 -参考当前大语言模型提示词工程范式,结合地理信息系统应用这一垂直领域特点,通过多次迭代更新与调试,编写出一套提示词文本,包括系统提示词(System Prompt)和用户提示词(User Prompt)。通过两者协同设计,Link Tool可以实现对AI模型的精准引导和行为控制,同时增强地理语义的理解。 +参考当前大语言模型提示词工程范式,结合地理信息系统应用这一垂直领域特点,通过多次迭代更新与调试,编写出一套提示词文本,包括系统提示词(System Prompt)和用户提示词(User Prompt)。通过两者协同设计,LinkTool可以实现对AI模型的精准引导和行为控制,同时增强地理语义的理解。 系统提示词作为智能体的核心身份与规则框架,明确界定其作为地理信息处理专家的专业角色,确立了与ArcGIS Pro工具库的对接规范和输出风格和体系,为程序化工具调用提供了稳定、合规的执行基础。 用户提示词分为“任务规划提示词”、“异常处理提示词”、“继续执行提示词”,这些提示词专注于任务执行层面的动态控制,将自然语言请求解构为可执行工具链,聚焦执行流程的规划,处理报错以及确保工具接续运行。该层面由大模型根据实际任务选择性调用。 -这种分层协同的提示词设计,使Link Tool能够将模糊的自然语言地理描述(如“河流附近”)精准转化为可计算的参数(如500米缓冲区),并动态组装高效的工具执行序列,显著提升了地理信息处理的智能化水平和执行效率,同时确保了操作流程的严谨性与输出成果的专业性。在程序执行错误时也能实现动态改正并重试,有效提升智能体在地理空间数据处理流程中的鲁棒性,节约用户排查错误的时间。 +这种分层协同的提示词设计,使LinkTool能够将模糊的自然语言地理描述(如“河流附近”)精准转化为可计算的参数(如500米缓冲区),并动态组装高效的工具执行序列,显著提升了地理信息处理的智能化水平和执行效率,同时确保了操作流程的严谨性与输出成果的专业性。在程序执行错误时也能实现动态改正并重试,有效提升智能体在地理空间数据处理流程中的鲁棒性,节约用户排查错误的时间。 ## 设计 diff --git a/agent/dev/structure.md b/agent/dev/structure.md index 531905e..4a176d4 100644 --- a/agent/dev/structure.md +++ b/agent/dev/structure.md @@ -7,4 +7,6 @@ ## 工作流程 -介绍智能体收到需求后的工作流程 \ No newline at end of file +LinkTool接收到用户需求之后首先调用系统提示词对用户的需求进行分析,规划工具调用流程。规划完毕之后会调用第一个工具,若该工具为地理处理工具,程序则会截断调用流程,强制调用一次知识库,查询对应工具参数,确保其工具调用名和参数正确。工具执行成功之后会调用“任务继续”提示词进行下一步工具的调用,如果工具执行失败则会调用“异常处理”提示词进行参数改正和工具重试,同样地,若重试工具为地理处理工具,程序依旧会强制查询一次知识库,保证重试后执行成功的概率。 + +当大模型对于某项决策摇摆不定时,它可以选择调用“任务规划”提示词,辅助其工具链的完善,也可以调用其他案例知识库,从实际问题中找到解决问题的方法。当程序检测到新生成的消息中没有XML的工具格式时程序会停止对话循环。并弹出本轮对话完成的提示框。 \ No newline at end of file