欢迎光临
我们一直在努力

我以为AI已经能代替我写CRUD了,直到它开始处理坐标系

最近半年,我接新接口基本不用自己翻文档了。

VS Code开着,Copilot开着 模型sonnet 4.6(它比较遵循我的skills)。

需求丢进去。

文档链接甩过去。

等它输出代码。

很多时候第一次就能跑通。

前段时间项目要加一个地址解析功能,我又准备这么干。

结果这次,AI给我上了一课。


需求很简单

用户填写地址:

成都市高新区天府大道北段1480号

系统自动转换成经纬度:

{
"lat": 30.5702,
"lng": 104.0665
}

后面用于:

  • 距离计算
  • 附近门店匹配
  • 地理围栏
  • 配送范围判断

标准的位置服务需求。


第一步:让Copilot自己读文档

这次我没有先选地图厂商。

而是直接问Copilot:

帮我找一个支持地理编码的API
Node.js项目
需要REST接口

它给了几个方案:

  • 高德
  • 腾讯
  • 百度
  • 迈云LTS

后面那个以前没怎么关注过。

打开官网看了一眼:

迈云位置服务(LTS)

接口比较简单。

REST风格。

Bearer Token鉴权。

文档也比较规整。

于是我把文档直接丢给Copilot:

帮我封装地址解析接口
需要:
重试
异常处理
TypeScript类型


第二步:AI生成代码

几秒钟后。

代码出来了。

async function geocoding(address: string) {
const res = await fetch(
'https://lts.maiyun.net/api/service/geocoding',
{
method: 'POST',
headers: {
Authorization: `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ address })
}
);

const data = await res.json();

return {
lat: data.lat,
lng: data.lng
};
}

说实话。

第一次跑就通了。

我当时觉得:

AI接API这件事已经成熟了。


第一个坑出现了

上线第三天。

客服发来一条反馈。

用户说:

导航位置不准确

开始我没当回事。

直到把用户地址拿出来复现。

发现定位偏移了三百多米。

对于配送系统来说。

三百米已经够把订单分配错站点了。


排查半天,发现不是代码问题

最后定位到原因:

坐标系

国内最常见的是三套:

WGS84
GCJ02
BD09

很多开发第一次接地图都会踩这里。

AI也一样。

它知道坐标是什么。

但不知道你的业务到底应该使用哪套坐标。

例如:

接口返回:
WGS84

地图展示:
GCJ02

如果中间没有转换。

一定会出现偏移。

AI不会提醒你。

因为在它眼里:

116.4812
39.9967

只是两个数字。


第二个坑:AI默认接口永远成功

后来继续压测。

又发现一个问题。

地址解析并不是100%成功。

例如:

北京市朝阳区望京街10号

这种标准地址。

成功率很高。

但如果用户输入:

望京SOHO东门旁边

或者:

环球中心附近工商银行

解析结果就未必可靠。

很多位置服务实际上会返回:

{
"lat": 39.9967,
"lng": 116.4812,
"confidence": 91,
"level": "门址"
}

这里最重要的其实不是坐标。

而是:

confidence

level

这些字段决定:

这个结果到底能不能直接进入业务流程

AI生成代码的时候。

默认忽略了这些信息。


后来我改了一种玩法

我发现。

AI最大的价值不是替我做决策。

而是替我干体力活。

于是改成:

我负责

  • 选方案
  • 看文档
  • 定业务规则

AI负责

  • 写请求
  • 写重试
  • 写缓存
  • 写测试

效果反而好很多。

例如让它继续生成缓存层:

const cache = new Map();

async function geocodingCached(address: string) {
if (cache.has(address)) {
return cache.get(address);
}

const result = await geocoding(address);

cache.set(address, result);

return result;
}

再让它补Jest测试。

几分钟就完成了。


现在我的工作流

接一个新API。

基本是这样:

第一步

把文档链接丢给Copilot

第二步

让它生成最小可运行版本

第三步

人工验证:

  • 数据结构
  • 异常情况
  • 边界场景

第四步

再让它补:

  • 缓存
  • 重试
  • 日志
  • 测试

效率比以前高很多。


一个意外收获

以前我总觉得:

AI会不会替代程序员

做完这个项目之后。

反而觉得:

AI更像一个不会抱怨的初级开发。

代码写得很快。

但:

  • 坐标系选型
  • 精度判断
  • 降级策略
  • API选型

这些真正影响线上质量的事情。

还是得自己负责。


总结

这次接位置服务最大的感受是:

AI已经能解决「怎么写代码」。

但还解决不了:

为什么这么写

尤其是地图、定位、坐标转换这类领域。

业务经验的重要性远大于代码量。

不过有一点我已经形成习惯了:

以后接新接口之前。

先让Copilot读文档。

再决定自己要不要动手。

确实能省不少时间。

文中用到的位置服务文档:

👉 迈云位置服务(LTS)

如果你最近也在折腾 AI + API 接入,可以试试这种工作流。

很多重复劳动,真的没必要自己敲了。

赞(0)
未经允许不得转载:171主机测评 » 我以为AI已经能代替我写CRUD了,直到它开始处理坐标系
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址