最近半年,我接新接口基本不用自己翻文档了。
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 接入,可以试试这种工作流。
很多重复劳动,真的没必要自己敲了。




