把地理数据交给 AI Agent 时,最容易忽略的成本不是模型调用,而是工具返回了多少内容。一个 GeoJSON 文件可能包含成千上万个坐标;如果 Agent 为了回答“文件里有什么”就把整份数据读进对话,既浪费上下文,也难以复核它究竟执行了哪一步。开源项目 geolibre-cli 尝试把这类工作压缩为几个明确的命令:检查、查询、转换,以及有限的处理操作。
项目以 DuckDB Spatial 为底层,提供命令行工具和 MCP 服务。它适合已有矢量文件、希望在终端、CI 或 Agent 工作流中做快速检查的团队;它的 README 也明确说,v0.1 不是完整 GIS 引擎。理解这条边界,比把“Agent 原生”当成能力保证更重要。
四类操作,先解决数据入口问题
inspect 用于检查 GeoJSON、Parquet、CSV 或远程 URL 输入。对于接到陌生数据的分析师,第一步可以先了解字段、样例和数据形态,再决定是否进入空间分析。项目示例展示了对本地 points.geojson 的检查,也展示了远程 Parquet 的入口。远程资源的内容会变化,因此正式流程应记录取数时间和数据版本。
sql 通过 DuckDB SQL 查询本地或远程数据。README 给出的例子包括对 CSV 按字段排序、对远程国家数据按人口字段筛选。它把文件路径或 URL 包装成查询输入,减少了先导入桌面 GIS 的步骤。不过项目将 SQL 范围限制为 SELECT 和 WITH 读查询;如果任务要求修改源数据,不能假设这个命令已经提供写入能力。
convert 将受支持的矢量输入转为 Parquet 或 GeoJSON。文档给出了把点数据转换为 Parquet 的命令。这个能力适合在下游处理前统一数据格式,但格式转换不等于坐标系统一:项目承认 CRS 检测只是尽力而为,结果可能是 unknown。用转换结果做距离或面积计算前,仍须由 GIS 工具或元数据确认坐标系。
process 提供一个小型复合处理示例:先对数据执行 SQL 筛选,再进行 buffer,并写出 GeoJSON。README 中的欧洲国家缓冲区命令是用法演示,不是所有空间分析算子的完整清单。项目说明栅格操作尚未实现,更多矢量操作也仍在后续范围内。试用时应从能手工复算的一个输入和一个输出开始。
为什么“少返回”对 Agent 有用
geolibre-cli 默认把 JSON 输出限制在 2048 字节,并对大行、几何对象、宽表和长字符串做摘要。用户可以用 --max-bytes 调整上限,也能用 --sample-rows、--no-sample、--limit 与 --format json|table 控制返回内容。这样,Agent 可以先看少量结构化结果,再决定是否扩大查询,而不必把全部几何坐标放进上下文。
但摘要本身也有代价:它适合初筛,不适合直接作为完整统计结果。比如检查数据时只看到三个样例行,不能据此断定整张表没有空值、重复要素或异常几何。真正的数据质量检查,应写出明确的 SQL 条件和计数,再保存查询语句、输入版本与输出。
MCP 接入先核对真实工具状态
项目的 MCP 服务列出 geolibre_inspect、geolibre_sql 和 geolibre_convert 三个可用工具;geolibre_vector 与 geolibre_compound 在 README 中标为占位。接入 Agent 时,工具名称出现在目录里,不代表对应操作已经可用于生产。先从检查和只读查询入手,再逐个验证转换和写出路径,更容易找到权限、格式或数据质量问题。
项目提供构建、测试、攻击脚本和 MCP 冒烟检查命令,GitHub CI 也运行审计、构建及相关检查。这些检查说明项目有自己的验证流程;它们不能替代你对真实数据、坐标系、输出路径和业务结果的验收。尤其在接入第三方远程 URL 时,还要考虑数据更新、连接失败和来源可信度。
处理流程:一个可复核的试点
可以选一份复制出的道路 GeoJSON 或 Parquet,按下面的检查清单走完一轮:
- 记录输入文件的版本、大小和校验值,避免后来用另一份数据复核结果。
- 用
inspect查看字段和样例,并确认摘要有没有截断必要信息。 - 用只读
sql分别统计总要素数、关键字段空值数和一个业务筛选条件的命中数。 - 如需转换,用
convert写入独立输出目录,不覆盖原文件。 - 用桌面 GIS 或现有脚本复核输出数量、属性和坐标系;保存命令、结果与错误消息。
这条处理流程是团队试点建议,并非项目已经对上述道路数据做过的实验。它把“Agent 给出答案”拆成可重复的输入、查询和复核步骤。
结论
这套试点的价值,是让 Agent 在明确的命令和有限输出之间工作。geolibre-cli 可以降低矢量数据初筛的操作成本,但 README 所列的 CRS、Shapefile、栅格与矢量能力限制,决定了它目前更适合作为轻量工作台,而不是替代成熟 GIS 平台。
资料来源
- geolibre-cli 项目 README,2026-09-14 查阅。