AI 不会画《山河》,除非你先搭脚手架
一条私信
在极海微信公众号后后台收到私信:“你好,有没有施展《山河》的高清地图?”
我很纳闷啊。我们极海主营是做品牌监测和商业选址,又不是星球研究所。难倒是我们公号中的地图做多了有吸引力?
但这个需求,也说到我心坎中了。拿到施展老师的《山河》,读的时候,脑子里确实会冒出一幅一幅的地图:山脉像骨架,河流像血管,帝国、贸易、战争、族群,都在上面移动。虽然书中已经配了插图了,但是太少了啊!谁都想要一张张的大图,把这些关系一眼看透。书中的每个故事都值得配一张高清大地图!
天天用 AI,都已经盲目自信了。我当时的第一反应是:这事交给AI,半天搞定。
DEM数据是现成的,配色方案网上一搜一大把,施展老师书里的地名都是明确的。甚至这些都不用,直接跑 OpenAI 的 Image2 不就完了吗?我甚至已经在心里想了测试提示词——“请生成一张以Robinson投影为基础的全球地形图,突出亚洲山脉走势,配色参考NASA Blue Marble……”
然后 Image2 给了我一张图。
说实话,做的挺好的。
山在那里。水也在那里。但真要它落实做河山中的故事时,怎么都做不好,标注的不准确,输出的山和水,很多是瞎编的位置。
是不是煞有介事的胡说位置?
真正的问题不是"生成"
上面这张图乍一看,山和水都在,配色不算难看,地名标注也有模有样。但你一旦拿它去对书里的故事,问题就涌出来了——标注位置非常不准确,山脉河流很多是瞎编的,它在用一种"看上去很对"的方式胡说八道。地图最怕的不是丑,是假。一张假地图比一张丑地图危险十倍,因为你可能信了它。
但用生图的方式制作地图,毛病还不止于此。不是差在渲染,不是差在数据准确性,是差在判断。
哪座山该亮,哪条河该暗。平原应该安静到什么程度,山脊应该锐利到什么程度。长江和黄河不能用同一种颜色渲染,因为它们在书里承担的角色完全不同——一条是分界线,一条是发动机。
AI能画出一百座山,但它不知道哪座山该站在前面。这些东西,提示词里写不出来。不是AI不够聪明。是我自己没想清楚。但,施展老师肯定是想清楚了。
AI最容易给你一张图,最难给你一套判断。而我一直以为自己有判断,直到被迫把它说出来。
笨办法才是脚手架
我退回去,还是走 GIS 专业软件的老路线。做图这事儿,还是一步步来。
我曾经买过晨辰老师(也是我esri 原来的老同事)的课程 (https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&__biz=MzkxOTYwMDgxNw==&scene=1&album_id=2913035794280628225&count=3#wechat_redirect)
让 AI 阅读PDF教程里的"宝石绿地图"做法,将过程细致的拆出来。不是让AI"复刻风格",而是逐个追问:DEM怎么读?色带怎么映射?海洋和陆地怎么分层?阴影怎么叠压?高山为什么发红?水面为什么不能抢掉陆地的层次?
原教程在ArcGIS Pro里做。我让AI配合,把整套流程用 CLI-Anything 迁移到QGIS和命令行工具里。只要给了大模型必要的知识,比如CLI-Anything QGIS 的 skill, GPT 5.5 这样的模型几乎不会出问题。
但有时候你又要和 AI 互动。比如阴影。学过 GIS 的,谁都知道"hillshade"这个词。但当AI问我"光源角度设多少,混合模式用正片叠底还是柔光,不透明度要不要随海拔变化"的时候,我发现自己判读不出来哪些参数设置回更好。
这就是脚手架的意思。
不只是搭给AI的。也是搭给自己的。
你不能跟一个摄影师说"拍出那种感觉",然后期待Ta读心。你得说出光从哪来、景深要多少、主体在画面的什么位置。说不出来,不是摄影师的问题,是你的眼睛还没有被训练过。
晨辰老师的教程就是我制作漂亮地形图的第一副眼镜。没有它,AI和我都在黑暗里乱撞。
后来我把宝石绿改成了宝石蓝。准确说,不是把整体意向涂蓝,而是让水体承担"宝石蓝"的视觉记忆,陆地保留绿色、橄榄色、暖红色。平原安静,山地站出来。其实这个效果还是不如晨辰老师的宝石绿好(大洋底的地形没出来),但这只是个阶梯,让GPT 5.5 熟悉这个任务应该迈过去的第一个台阶。
安徽这块试金石
接着我们拿安徽做实验。
安徽不是一张平板。淮河分南北,皖南有山,巢湖有水,长江擦境而过。它足够复杂,又没有复杂到失控。
我要将安徽的水系加入地形图中,充当宝石那个蓝。技术上最麻烦的事,说出来有点搞笑:HydroRIVERS数据里,有些河流中心线会直接穿过湖泊。在数据表里这只是一行坐标,但画到图上,就像有人拿蓝色马克笔在湖面上硬划了一道。
AI不觉得这有问题。它忠实地渲染了每一条线。
我觉得不对劲。 但"不对劲"不是一个参数,没法写进代码里。我只能告诉AI:这条线穿过了湖泊,需要裁掉。AI说好的,然后裁掉了。下一张图里,另一条线又穿过去了。
到后来我意识到,这才是真实的协作关系:AI把所有可能性摊开,人负责说——要这一个。
关系的反转
说到这里,一个有意思的事情发生了。
项目刚开始,我和AI的关系很像甲方和外包。我下单,它交活。不满意,打回去。再不满意,换个提示词重来。几轮下来双方都疲了——当然AI不会疲,疲的是我,以及我对这段关系的耐心。
但当我开始拆解晨辰老师的教程,事情变了。我不再下单,我开始教。教的过程中,我发现自己也是那个需要学习的人。这就有意思了。
我以为我在训练AI做地图。
实际上,AI在逼我承认:我从来没有真正想清楚一张好地图长什么样。
这个反转是整个项目里最值钱的东西。它不是技术收获,是认知收获。过去我卡在软件按钮上——ArcGIS Pro怎么点,QGIS怎么配,GDAL怎么写参数。现在这些可以交给AI。人腾出来的注意力去了哪?不是去偷懒了,而是被推到了一个更难的位置:你到底想要什么?你的标准是什么?你能不能把那个模糊的"感觉"变成一句清晰的话?
大多数人期待AI是一个替你跨越终点的工具。把书丢进去,高清地图出来。但真正发生的是:AI把终点推远了,同时把通往终点的路照亮了。你走不走,它不管。
山脉不是山脉
搭了前面的脚手架(AI 有了上下文),我试试把《河山》序言中的故事一股脑塞给 GPT 了。
做康熙、乾隆的山川叙事图,这才真正走到最智能的一步。
不是画山画水。是把文本里的历史关系拆成空间关系。长白山、泰山、冈底斯、天山、黄河、长江——在地理数据库里,它们是坐标点。在施展老师的叙述里,它们是角色。
山制造差异。水打开通道。叙事把差异装进共同秩序。
这套东西不能从提示词里长出来。它需要人先读懂书,把书翻译成空间语言,再把空间语言翻译成AI能执行的任务清单。每一层翻译都会丢东西,每一层都需要人把丢掉的东西找回来。而 AI 要从读懂,到用 QGIS 完整的制作出地图来。
但这图是现在我中国的范围图景啊,不是大清时代。复现大清帝王的地理观,世界观,好办,上提示词,改。顺便修修颜色,地形夸张度啥的。
黄河上游的河道清晰了,放大了看,也能明白为啥叫做“太行八径”。
这时候你回头看,整个项目不是一条流水线,而是一圈一圈往上绕的楼梯。简单地形图→水系图→地形水系叠加→从文章里抽取地图故事→故事打磨图。每绕一圈,AI记住一点东西,人也长出一点品味。
这是一个新启发,在与 AI 协作的时代,被训练的不只是AI。
高清不是分辨率
所以如果今天再有人问我:你有没有施展《山河》的高清地图?
我不会回答有或者没有。
我会说:可以做。但它不是一张图的问题。它是一连串判断的问题——哪座山要亮,哪条河要暗,哪些地名必须出现,哪些故事不能靠一张图硬塞。这些判断不在任何数据库里,也不在任何大模型的参数里。它们只在一个地方:在你愿不愿意老老实实搭脚手架,然后一层层把模糊的东西磨清楚。
地图最后会出现。山会起伏,水会发光,故事会落在地形上。
但在那之前,最难的那件事已经发生了——不是AI学会了画山河,是你终于知道自己想看见什么。