两周半、两百次代码:一个程序员用 AI 做出 1400 星的历史地图

两周半、两百次代码:一个程序员用 AI 做出 1400 星的历史地图

一、想法存放了十几年,动手只用了两周半

作者是理科生出身、后来做了程序员,但一直爱翻历史课本里的地图:大唐疆域、燕云十六州的丢失、清朝全盛期的"秋海棠"。他常把不同朝代的地图摆在一起对比,再对照今天的城市找位置。想法存在心里很多年,直到 Vibe Coding(用自然语言指挥 AI 写代码)流行起来,才第一次觉得"真能做出来"。

7 月他试过一版原型,想做历史地理小游戏,做到一半发现"比起游戏,我真正想看的其实只是那张地图",加上效果一般,就搁下了。10 月模型能力又上一个台阶,他把项目捡回来,这次只做纯地图。

二、第一版:一句提示词,几个粗糙色块

起点极其简单,就一句提示词:

帮我做一个能够拖动时间轴的中国历史地图。

AI 很快交付了第一版——没有山川河流,只有几个粗糙色块,朝代划分很粗,边界全是直线和锯齿。但当他拖动底部时间轴,看着色块随年份变大变小,还是被震住了。

这里有个值得记住的经验:第一版不要追求可用,只追求"能看见"。能拖动、能变化,就足以验证方向对不对,剩下的都是迭代。

三、两个坐标轴撑起了整个产品

横轴(时间)打通之后,他开始加纵轴:

功能做了什么解决什么问题
点地溯源点开任意一座城市,看它两千多年里换过哪些名字、发生过哪些大事地理这条纵轴
点人溯事把张骞、玄奘、苏轼等人一生的行迹画在地图上让"人"这个历史主角进场
AI Skill用自然语言直接调用地图,问一句诗就定位到对应年份和地点把查询门槛降到零

最有意思的是最后一个。随口问"雪拥蓝关马不前",它会定位到韩愈被贬潮州、立马蓝关的那一年,在图上标出蓝关;问"问汝平生功业,黄州惠州儋州",它把苏东坡一贬再贬的路线串起来画出来。把诗词当作查询语句,这是通用地图做不到的事。

四、AI 会一本正经地画错,纠错才是真功夫

地图越做越细,问题也越暴露。两个典型错误:

  • 辽国上京被画在辽国疆域之外。放大地图才发现,只好回头把辽北部的疆域和上京道一点点补齐。
  • 横跨欧亚的蒙古帝国在罗布泊破了个窟窿。查了半天才补上。

纠错方法是笨办法但有效:和 AI 一起翻开源数据集,再对照《资治通鉴》和各朝正史逐条核对。等五胡十六国那段修好,他对着自己的地图把《两晋悲歌》重读了一遍——以前怎么也分不清的前秦、后秦、西秦,这回终于理顺了。

AI 能把 80% 的活干完,但剩下 20% 的准确性,必须靠你去核。这部分恰恰是产品的全部价值。

五、如果你想复刻一遍,按这个顺序来

  • 先定义"最小可见成果"。不是"做个平台",而是"拖动时间轴能看到色块变化"。
  • 把提示词写成一句话需求。别一次要求十个功能,AI 会给你一个四不像。
  • 一次只加一条轴。横轴做完再加纵轴,每加一层都先跑通再继续。
  • 准备一份权威校验源。数据集是骨架,正史和年鉴是尺子,缺一个都会出错。
  • 先给熟人用。发同事群、朋友圈,收集真实使用场景——有人拿它背唐诗,有人做家乡历史地图,这些反馈比 star 更有用。

整个过程前后交了两百多次代码,大半写在深夜和周末。这件事真正的门槛不是编程能力,而是你脑子里有没有一个具体到可以描述的画面。有的话,AI 会帮你把它实现;没有的话,再强的模型也只能给你一堆模板。