国强的自驾笔记 · 个人项目

自驾规划

说一句话,得到一份按天拆好、算清里程和花费的自驾行程。

iOS App 独立设计,借助 AI 编程工具(Claude Code)实现 2026 年 9 月至今 TestFlight 内测中
新建行程:输入一句话
① 说一句话从哪出发、玩几天、想去哪、喜欢什么
确认大模型理解的条件
② 确认理解大模型提取条件,每一项都能改
两套方案并排比较
③ 比较方案按真实路线算出天数、里程、费用
按天的行程和地图
④ 按天出行地图跟着行程走,一键导航
369
座城市攻略
3760
个景点经地图
数据逐条核实
389
座城市
旅游价值评分
3187
个区县
归属对照
66
次迭代提交
(约 3 周)
336
个自动化
测试
问题与产品设计

让 AI 只做它擅长的事

要解决的问题

规划一次长途自驾,要在地图、攻略、油费计算之间来回切换:先去哪后去哪、每天开多久、住在哪、一共花多少,都得自己拼。

直接让大模型写行程,文字很像样,但距离和时间经常不对,「一天开 9 小时」的方案没法照着走。

核心思路

大模型只决定「去哪」;
「怎么走、花多少」全部按真实路线计算。

模型给出的每个城市、景点,都要在城市表里找得到、在地图上搜得到,对不上的就不用。

一句话变成行程的过程

理解需求
从一句话里提取出发地、天数、必去、同行人、兴趣
→
挑城市景点
按兴趣挑经过的城市和城里的景点
→
核实
城市对照全国城市表,景点到地图上搜,对不上的丢掉
→
规划
按真实驾车时间排顺序,按每天开车上限分天,算过路费和油费
→
并排比较
推荐、少开车、省过路费几套方案,写明差在哪
大模型负责规则和真实数据负责
产品取舍

少即是多

  • 只保留会改变行程的选项。路线偏好只有「走高速 / 不走高速 / 少走收费路」,因为它们会改变天数和花费;「躲避拥堵」是导航当下才有意义的,不做。
  • 方案之间没有真正区别就不列。每套方案写明比推荐方案省多少钱、多开多久,帮人做决定,而不是给更多选项。
  • 不催人。不主动评判「你落后了」「该出发了」,调整由用户自己点;开车途中会看的页面不放任何广告。
  • 数据留在手机上。不需要注册,行程只存在本机,可以导出备份。
  • 守规矩地接入内容。小红书笔记不抓取网页(违反其用户协议),改为用户分享截图,在手机上识字后提取地点。
  • 听用户的。朋友试用后提出的节假日高速免费测算、地图上直接搜地点,都做进了产品。
按天的行程时间线
每天一条时间线:
时长 · 里程 · 过路费 · 油费
数据与算法

多来源数据,逐条核实后再用

数据来源用在哪里
路线、距离、地点、天气高德开放平台接口城市间驾车时间矩阵、逐段路线和过路费、地点核实、目的地天气
全国城市旅游评分按世界遗产 / 国家级 / 省级景点数量离线算出,389 座地级市推荐顺路城市时直接查表,不必每座城花一次接口额度
区县归属表一次行政区查询生成,3187 个区县用户说「景洪」「大理州」时,落到对应的地级市
国家 A 级景区名录5A、4A 景区公开名录攻略里标出 356 个 5A、2606 个 4A 景区,并排在前面
城市攻略大模型写初稿 → 程序核实 → 人工抽查369 座城市的简介、美食、景点、建议停留天数和适合月份

城市攻略的生产流程

大模型写初稿
简介、美食、景点、游览时长、适合月份
→
地图核实
每个景点到高德搜索,名字和位置对得上才保留
→
名录合并
对照国家 5A / 4A 名录,按区县编号归到所属城市
→
人工修正
25 个改过名的景点建对照表,生成对照页人工抽查
→
随 App 发布
看攻略不联网,插画标注「由 AI 生成」

规划里的几个计算

  • 访问顺序:先取所有地点两两之间的真实驾车时间,再找总时间最短的顺序(旅行商问题)。12 个点以内求精确解,更多时用近似算法再局部优化。
  • 按天拆分:按每天最长开车时间切分;一天开不完的长路段,自动在途中找合适的城市过夜。
  • 顺路推荐:用旅游评分和实际绕路里程筛选,只推荐绕路在上限内、不超天数的城市。
  • 费用测算:油耗(或电耗)× 单价 + 过路费;春节、国庆等小客车免费时段,按推算的下高速时刻判断哪段不收费。
  • 节省接口额度:结果在手机和服务器两级缓存,重新规划时只请求新增的路段。
全国城市攻略地图
369 座城市,全国一张图
北京城市攻略
城市攻略,插画由 AI 生成
上线与合规

从「能跑」到「能交给别人用」

iPhone App
SwiftUI
行程只存在本机
⇄
自建服务器(阿里云 · HTTPS)
  • 接口密钥只在服务器上,安装包里没有
  • 只接受正版 App、真实设备的请求
  • 共享缓存:一个人查过的路线,别人再查不花额度
  • 按设备限流,大模型每天总次数封顶
  • 日志只记访问路径,不记用户搜的内容
⇄
高德开放平台
路线 · 地点 · 天气
阿里云百炼
通义千问大模型

合规与发布

  • 网站完成 ICP 备案;网页和 App 内的隐私政策按实际数据流向写,两份保持一致
  • 查清正式运营所需的经营许可证门槛后,决定现阶段只做 TestFlight 内测
  • AI 生成的攻略和插画在页面上明确标注
  • 打包时自动检查安装包里没有任何密钥,服务器不通就不打包

质量把控

  • 336 个自动化测试覆盖规划、费用、数据解析和服务端,改动后跑一遍全部测试
  • 每个功能在模拟器和真机上实际操作验收,截图对照
  • 上线前从外部逐项验证:不带通行证的请求被拒、证书有效、日志里查不到搜索内容
怎么做出来的

我和 AI 的分工

我做了什么

  • 从自驾场景出发提出需求,决定做什么、不做什么
  • 和 AI 讨论交互流程和数据规则(怎么排顺序、怎么分天、怎么算钱),由我拍板
  • 在真机和模拟器上逐项验收,发现问题、提出修改
  • 部署服务器、完成网站 ICP 备案、编写隐私政策

AI 做了什么

  • 按我的需求编写代码和自动化测试
  • 在 App 里:理解用户的一句话、挑选城市和景点(通义千问)
  • 生成城市攻略初稿和插画,再由程序和人工核对

技术栈:SwiftUI(iOS)· Go 服务端 · 阿里云 · 高德开放平台 · 通义千问

说明

  • 个人项目,不收费、没有广告;目前通过 TestFlight 小范围内测,暂未上架 App Store
  • 地图与路线数据来自高德开放平台;截图中的行程为演示数据
  • 行程数据保存在用户自己的手机上,详见隐私政策