AI 在实施工作中的应用总结
一、 项目背景
需要实施的场景:
- GIS 空间数据处理涉及到大量InSAR数据,并且需要和既有GIS数据进行空间匹配,获取属性
- 原始表单数据检查和处理
- 后台大规模数据同步
- 其它预设接口图、InSAR出图等
核心挑战:
- 数据“脏”且深:原始数据常以多层嵌套 JSON 或不规范、非结构化的 Excel 表格呈现。
- 工具分发:业务人员的电脑往往没有安装python\NodeJS等开发环境,且无法连接外网。
- 业务系统逻辑差异:需在确保核心功能可靠的前提下,根据各系统的特性实现可配置化的数据处理操作。
实施工具的核心功能:
- 读取多源数据:MySQL/PostgreSQL/Excel/CSV/JSON
- 数据检查:数据是否符合要求,例如字段是否符合规范,数据是否重复,数据是否符合逻辑等
- 数据清洗:数据清洗,例如去除重复数据,去除不符合要求的数据,去除不符合逻辑的数据等
- 数据同步:数据同步,将清洗后的数据同步到目标系统
二、 选择合适的使用层级
根据工作量、共享需求及环境限制,我们将 AI 的使用精细化为三个层级,以平衡“开发成本”与“使用效率”:
| 使用层级 | 适用场景 | 核心技术手段 |
|---|---|---|
| L1: 原子任务 | 临时查询、一次性表格处理;本地环境齐全。 | SQL, 正则表达式, Excel公式,一次性Node.js/Python脚本 |
| L2: Standalone 工具 | 中等规模数据清洗;需要前端 UI 交互;需以单文件形式分发给同事;API支持跨域调用或有本地代理。 | HTML + Vanilla JS, Handsontable |
| L3: 封装应用/Tauri | 高频核心工具;需要操作本地文件/网络;需分发给没有开发环境的非技术人员。 | Tauri, Rust (打包为独立可执行的桌面端应用) |
三、 实际使用例
1. 原子任务级 (L1):快速实现
- 数据库同步与清洗脚本 (
local_scripts/):- Doris 批量迁移与直传 (
batch_migrate_doris.py,excel_to_doris_direct.py,dorisup.py):快速实现将大批量本地 Excel 或 CSV 数据直接流式上传或同步至 Doris,包含表结构自动映射与清理逻辑。 - DDL 清理与导出 (
clean_doris_ddl.py,export_doris_ddl.py):解析并规范化 Doris 库的 DDL 建表语句,去除繁杂的冗余注释和分区定义,动态生成标准配置。 - 大文件流式导入 PG (
stream_excel_to_pg.py):对于 GB 级的超大 Excel 数据(如 InSAR 原始时序表),通过流式分块读取,在低内存占用下批量打入 PostgreSQL 数据库。
- Doris 批量迁移与直传 (
- InSAR 空间数据处理与可视化 (
insar-to-tiff/):- InSAR 栅格化转换 (
insar2tif.py,insar2png.py):将包含地理坐标(WKT/经纬度)与形变速率的 InSAR 文本/CSV 数据,利用 Python 空间库转换为标准的 TIFF 地理栅格图像和可视化的 PNG 图层。 - 静态数据轻量化提取 (
insar-to-static-json.py,export_thinned_json.py):对包含数百万点位的 InSAR 原始数据集进行抽稀、降噪过滤,并转换为适合前端快速渲染的静态 JSON 格式。 - 批量图层渲染 (
tif2png_batch.py):批量将 TIFF 遥感数据裁剪并染色输出为适用于 WebGIS 底图叠加的高清 PNG。
- InSAR 栅格化转换 (
2. 独立工具级 (L2):前端交互式 Standalone 工具 (HTML + JS)
- Doris 数据同步编辑器 (
local_pages/doris_handsontable.html):利用 Handsontable 构建类似 Excel 的前端界面,解决大批量数据的粘贴、实时行校验和过滤,实现高效清洗和同步。 - 数据长宽表转换工具 (
local_pages/data_pivot_tool.html):将业务导出的宽表数据转换为规范的长表格式,便于后续入库和处理。 - 图片背景移除工具 (
png-remove-bg.html):提供轻量化的前端图片处理能力。 - 高级数据对比工具 (
handsontable_advanced_diff.html):基于 Handsontable 实现复杂数据表间的差异对比,辅助审核修改内容。 - 病害参数导入工具 (
disease_param_importer.html):实现了导入前根据 Tree JSON 校验分类路径有效性的前置逻辑,确保数据准确。 - 数据巡查指标计算器 (
tocc_inspection_data_collector.html):通过异步并发请求获取数据,前端计算并生成路况覆盖率等指标导出报表。
3. 应用与封装级 (L3):突破环境与性能
- Doris上传工具Tauri桌面端应用 (
doris-tauri):- 业务逻辑:将数据同步和转换等单页面工具深度整合为桌面应用,直接操作系统原生功能。
- AI 贡献:AI 协助编写了 Rust 后端逻辑,打通了本地文件 I/O 权限,并且彻底规避了浏览器环境下请求外部 API 复杂的跨域(CORS)与认证问题,极大提高了大体量数据同步的性能。
四、 提高使用效率的方法和注意点
1. 核心协作流程:“四步法”
- 样本驱动 (Sample-First):
- 做法:直接给 AI 一段真实的 JSON 原始样本,而非描述。
- 感悟:样本是最好的 Prompt,它能让 AI 自动识别属性名、层级和特殊字符。
- 防御性 Prompt (Defensive Prompting):
- 要求:显式要求处理
null、空数组、非法路径及特殊编码格式。 - 目标:直接生成“生产级”代码,而非仅在理想状态下运行。
- 要求:显式要求处理
- 渐进式重构:
- 流程:先让 AI 写核心映射算法 -> 再写 API/文件读写逻辑 -> 最后套 UI。
- 价值:确保每一个环节的逻辑都是可验证的,避免一次性生成上百行无法调试的代码。
- 双向复核 (Validation Loop):
- 技巧:要求 AI 在生成代码的同时,配套 2-3 个单元测试用例,在正式操作生产库前先输出“预览结果”。
2. 避坑指南与质量把控
IMPORTANT
- 性能陷阱:在处理大数据集时,AI 默认可能写出嵌套循环。必须明确指令:“请使用 Map 或对象索引以保证 O(n) 的复杂度”。
- 精度丢失:在 CSV/Excel 导出中,必须强调
float_format='%.2f'等格式控制,避免 AI 为了“简洁”而四舍五入。 - 环境感知:明确告知 AI 你的代码运行环境(浏览器 vs Node vs Tauri),这直接决定了它推荐的 API 是否可用。
TIP
协作哲学:人的价值在于“决策”与“边界” AI 是强大的配对程序员,但它没有业务全局观。作为实施者,你的核心工作是:定义业务边界、识别潜在风险(如数据冲突)、以及对 AI 生成的“黑盒”逻辑进行最后的质量审判。