惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
I
InfoQ
H
Help Net Security
GbyAI
GbyAI
博客园 - 叶小钗
Recent Announcements
Recent Announcements
Engineering at Meta
Engineering at Meta
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
Y
Y Combinator Blog
L
LangChain Blog
腾讯CDC
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
The GitHub Blog
The GitHub Blog
T
The Blog of Author Tim Ferriss
博客园 - Franky
D
Docker
Jina AI
Jina AI
罗磊的独立博客

博客园 - 我才是银古

第16章:常见问题、排错与最佳实践 第15章:扩展生态、MCAD 与外部集成 第12章:实战案例:机械结构与 3D 打印零件 第14章:构建、测试、调试与贡献流程 第13章:OpenSCAD 源码架构与核心执行流程 第11章:预览、渲染、网格精度与性能优化 第09章:列表推导、递归与算法建模 第08章:参数化零件库与复用设计 第10章:导入导出、命令行与自动化 第06章:CSG 布尔建模方法 第07章:二维图形、拉伸、旋转与投影 第05章:基础几何、坐标系与变换 第04章:参数、变量、函数、模块与作用域 OpenSCAD 教程目录 第03章:OpenSCAD 语言基础 第02章:安装、环境配置与开发工作流 第01章:OpenSCAD 项目全景与学习路线 第02章:源码获取、编译与开发环境配置 第01章:OCCT项目全景与学习路线 第18章:二次开发实战与综合案例 第18章:综合实战案例 第17章:数据交换与协同 第16章:源码架构与二次开发 第15章:插件与自定义工作台开发 第14章:Python脚本宏与自动化 第13章:FEM仿真分析 第12章:CAM数控加工 第11章:SurfaceMesh与逆向工程 第10章:Draft二维绘图与BIM建筑 第09章:工程图TechDraw
第十七章:Skill 文件与 AI 集成
我才是银古 · 2026-06-22 · via 博客园 - 我才是银古

第十七章:Skill 文件与 AI 集成

GeoPipeAgent 的 AI 集成能力是其核心价值之一。本章介绍 Skill 文件的结构、生成方式,以及如何将 AI(如 ChatGPT、Claude)与 GeoPipeAgent 结合,实现自然语言驱动的 GIS 分析。


17.1 AI 集成理念

GeoPipeAgent 的 AI 集成遵循以下设计理念:

  1. AI 是操作者:AI 负责理解用户需求、生成 YAML 流水线
  2. 框架是执行者:框架负责校验和执行 AI 生成的流水线
  3. JSON 报告是反馈:执行结果以结构化 JSON 返回给 AI,AI 可以解读结果并给出建议
  4. Skill 文件是接口:Skill 文件精确描述框架能力,让 AI 无需猜测

这形成了一个完整闭环:用户需求 → AI 生成 YAML → 框架执行 → JSON 报告 → AI 解读 → 用户获得结果


17.2 Skill 文件结构

通过 geopipe-agent generate-skill 生成的 Skill 文件集:

skills/geopipe-agent/
├── SKILL.md                        # AI 入口文档
└── reference/
    ├── steps-reference.md          # 步骤参数完整参考(auto-generated)
    └── pipeline-schema.md          # YAML Schema 文档

17.2.1 SKILL.md:AI 入口文档

SKILL.md 是为 AI 设计的简洁入门文档,包含:

  • 框架功能概述
  • 使用流程说明
  • 快速 YAML 示例
  • 步骤类别速查表
  • QC 步骤的"检查并透传"机制说明
geopipe-agent generate-skill --output-dir skills
cat skills/geopipe-agent/SKILL.md

17.2.2 reference/steps-reference.md:步骤参考

自动生成的步骤参考文档,包含每个步骤的:

  • ID 和名称
  • 参数表(含类型、是否必填、默认值、说明)
  • 输出描述
  • 使用示例
  • 支持的后端
geopipe-agent generate-skill-doc > reference.md

17.2.3 reference/pipeline-schema.md:YAML Schema

完整的 YAML 流水线格式说明,包含:

  • 顶层结构示例
  • 引用语法表($step${var} 等)
  • 步骤 ID 规则
  • when 条件表达式语法
  • 错误处理策略说明

17.3 生成 Skill 文件

# 生成到默认目录 skills/geopipe-agent/
geopipe-agent generate-skill

# 指定输出目录
geopipe-agent generate-skill --output-dir /tmp/geopipe-skills

# 仅生成步骤参考(单个 Markdown 文件)
geopipe-agent generate-skill-doc > my-steps-reference.md

生成的文件是基于当前注册步骤的实时快照。如果添加了自定义步骤,重新运行即可更新文档。


17.4 与大语言模型集成

方式一:直接对话(ChatGPT / Claude)

推荐工作流

步骤1: 生成 Skill 文件
$ geopipe-agent generate-skill

步骤2: 将以下内容提供给 AI(粘贴到对话中)
  - skills/geopipe-agent/SKILL.md(必须)
  - skills/geopipe-agent/reference/steps-reference.md(建议)
  - 数据文件信息(geopipe-agent info 的输出)

步骤3: 向 AI 描述分析需求
  "我有一份 EPSG:4326 的道路 Shapefile,需要做 500 米缓冲区分析,
   先进行几何质检,有问题则自动修复,最终输出 GeoJSON"

步骤4: AI 生成 YAML 流水线

步骤5: 校验并执行
$ geopipe-agent validate ai-pipeline.yaml
$ geopipe-agent run ai-pipeline.yaml

步骤6: 将 JSON 报告返回 AI 解读(如有错误)

方式二:系统提示词(System Prompt)

将 Skill 文件内容嵌入 AI 的系统提示词,实现持久化 GIS 分析能力:

# System Prompt(示例)

你是一个专业的 GIS 分析师,使用 GeoPipeAgent 框架执行分析。

## 工具说明
[粘贴 SKILL.md 内容]

## 步骤参考
[粘贴 steps-reference.md 内容]

## 工作规则
1. 用户提出 GIS 分析需求时,生成 YAML 流水线
2. 总是先确认输入文件的 CRS(向用户询问或通过 info 命令获取)
3. 投影坐标系中进行距离相关分析(缓冲、服务区等)
4. 对重要数据添加 QC 步骤
5. 当执行报告中有错误时,分析原因并提供修复建议

方式三:Copilot / 代码补全

将 Skill 文件放在项目目录中,让代码编辑器的 AI 助手(GitHub Copilot、Cursor 等)自动获取上下文。


17.5 提示词最佳实践

有效的需求描述模板

我有以下数据:
- 文件:[文件路径]
- 格式:[GeoJSON/Shapefile/GeoTIFF]
- CRS:[EPSG:4326 等]
- 字段:[相关字段名]
- 要素数:[数量级]

我需要:
[具体分析需求,包括:
  - 分析目标
  - 输出格式和路径
  - 需要哪些质检
  - 任何特殊要求]

请生成 GeoPipeAgent YAML 流水线。

示例提示词

我有以下数据:
- 文件:data/poi.geojson(兴趣点)和 data/districts.shp(行政区划)
- POI 字段:name, type, lng, lat
- 行政区划 CRS:EPSG:4326
- 约 50,000 个 POI

我需要:
1. 统计每个行政区内的 POI 数量
2. 进行 DBSCAN 聚类找出 POI 热点(邻域半径 500 米,最小 20 个点)
3. 将聚类结果(去掉噪声点)输出为 output/poi_clusters.geojson
4. 先将数据转换为 EPSG:3857(米制)再进行距离相关分析

请生成 GeoPipeAgent YAML 流水线,并说明每个步骤的作用。

17.6 JSON 报告的 AI 解读

执行报告的 JSON 结构设计为"AI 友好"格式,以下是示例解读提示:

以下是 GeoPipeAgent 流水线执行报告,请分析:
1. 流水线是否成功?
2. 各步骤执行情况如何?
3. 如果有 QC 问题,请说明类型和数量
4. 如果有步骤失败,请根据 suggestion 字段提供修复建议

[粘贴 JSON 报告]

17.7 skillgen/generator.py:Skill 生成器原理

Skill 生成器位于 src/geopipe_agent/skillgen/generator.py,提供以下函数:

generate_steps_reference() -> str
    # 遍历 registry.list_all(),按类别生成 Markdown 参数表

generate_pipeline_schema_doc() -> str
    # 返回预定义的 YAML Schema 文档字符串

generate_skill_file() -> str
    # 返回 SKILL.md 内容(AI 入口文档,含快速示例)

write_skill_files(output_dir) -> list[str]
    # 将所有文件写入目录,返回生成的文件路径列表

由于 generate_steps_reference() 从注册表实时读取,每次重新安装或添加自定义步骤后,运行 generate-skill 可更新文档。


17.8 自定义 Skill 扩展

如需在 Skill 文档中添加自定义内容(如公司特定的使用规范、常见任务模板等),可以在生成后手动编辑 SKILL.md,或在 Python 中扩展 generate_skill_file()

from geopipe_agent.skillgen.generator import generate_skill_file

def my_custom_skill():
    base = generate_skill_file()
    custom = """
## 公司特定规则

- 输出目录始终使用 `/data/output/`
- 所有数据必须先经过 `qc.geometry_validity` 检查
- 投影使用 EPSG:4549(CGCS2000)
"""
    return base + custom

17.9 本章小结

本章介绍了 GeoPipeAgent 与 AI 的集成方式:

  1. Skill 文件:3 个文件(SKILL.md + 步骤参考 + Schema),供 AI 理解框架
  2. 生成命令geopipe-agent generate-skill 自动生成,基于实时注册步骤
  3. 集成方式:对话粘贴、系统提示词、代码补全三种方式
  4. 提示词模板:提供数据描述和需求说明,让 AI 准确生成流水线
  5. JSON 报告解读:结构化报告方便 AI 分析执行结果并提供建议

导航← 第十六章:CLI 命令行工具第十八章:自定义步骤与扩展 →