被游记拖更逼出来的念头
作为“小梁游记”的作者,每次出游回来整理照片、回忆细节、码字润色,少说也要搭上一整个周末。7月底,看着手机里攒了三个月的昌平徒步素材,我终于动了歪心思:能不能让AI替我写游记?
当时刚读完几篇多模态应用的论文,觉得这事儿技术栈很直给:用 GPT-4 Vision 识图配文,把之前的游记扔进 LangChain 做 RAG 抽取风格,最后让 LLM 照着时间线生成文章。我甚至给这个脚本取名“旅行司马迁”,指望它继承我的笔力。
一个自认为优雅的技术栈
具体实现分三步。第一,从照片库提特征:用 CLIP 模型把几千张图编码成向量,筛出可能跟景点相关的(排除家门猫、早餐肠粉),再调 GPT-4 Vision 给每张图生成一句描述,同时记录 EXIF 里的拍摄时间。第二步是做风格注入,我手动选了10篇自认为“有那味儿”的旧游记,切分成段落,让 LLM 总结出口语化、带现场温度、不写百度百科句式三条原则。最后一步是生成:按时间线把图片描述串起来,把风格提示和天气、路线等结构化数据一起喂给 GPT-4o,要求它模仿我的口吻写出完整游记。
为了“自动化”彻底,我甚至用 crontab 设定脚本每周跑一次,从照片文件夹增量生成草稿,直接推到 GitHub 仓库。当时觉得,以后只需要校对一下,日更能轻松实现。
生成的文字,像隔夜的冰美式
脚本跑了两周,产出了十二篇“游记”。读第一篇老虎洞沟的生成稿时,我差点被逗笑:“沿着碎石路缓步前行,两侧植被郁郁葱葱,空气中弥漫着泥土的芬芳”——这话没错,但哪一个户外 App 的介绍不是这么写的?我真实那天是被马蜂追出去二里地,鞋底差点磨穿,结果文章里只字未提,反倒虚构了一段“在凉亭休憩,静听松涛”的禅意画面。
更致命的,是细节的集体消失。我翻了翻真实的笔记:在白浮泉,看闸口放水的小孩把拖鞋掉进暗渠,嚎啕大哭,他妈从包里掏出个塑料袋让他套脚上继续走。AI 生成的版本里,这一幕变成“公园内游人如织,孩童嬉戏,一派祥和”。我花了几百字写蟒山山顶被风吹傻的狼狈,它给我精炼成“登顶后凉风习习,视野开阔,令人心旷神怡”。
图片识别的问题也很大。GPT-4 Vision 能把十三陵水库认成“宁静的湖泊”,却没认出岸边那条突然蹿出的黄鼠狼——因为它只是一张拍糊的黄色影子。它还喜欢给每张照片配“阳光透过树叶洒下斑驳的光影”之类的描述,导致生成稿的第三段必然出现一次“斑驳”,像在凑字数。
最典型的翻车:AI 看到我拍的农家乐凉拌黄瓜特写,生成了一句“品尝地道京郊美食,感受舌尖上的田园风情”,而真实情况是那盘黄瓜咸得我灌了半瓶水。
复盘:我犯了三个程序员的通病
现在回头看,这个项目从假设就开始跑偏。我以为游记可以通过“图片+前人风格”拼凑出来,但忽略了写作本质上是对信息的筛选与态度表达。AI 没有态度,它只能平均化——把所有细节都提到,就等于什么都没说。同样,RAG 风格注入看似聪明,实则只是抽取了高频词汇和句式,没能理解我为什么在这一处要写摔跟头,在另一处要写发呆。
第二个错误是把“自动化”当目标,而不是“更好地输出”。我追求一键生成→发布,却忘了游记最有价值的部分恰恰是我在整理过程中重新咀嚼的那些瞬间。如果重新设计,我会把 AI 定位成“辅助记忆的打字机”,而不是“模仿灵魂的代笔”。
第三个操作失误是没有给原始素材留白。我应该先自己写下三两行关键词——哪怕只是“被马蜂追”“小孩哭”“鞋湿了”,再让 AI 去补全环境描写。直接让模型从纯图片生成,它只能走回那条最安全、最无趣的生成路径。
如果现在重新做,我会这样选
工具链会大幅简化。放弃复杂的 RAG 管线,保留两个核心模块:一个本地笔记插件(Obsidian 或 Apple Notes),用来在旅途中随手记几句“情绪标签”和“奇葩小事”;一个基于多模态模型的对话式窗口,我对着它复述当天见闻,它帮我构建初稿框架。生成完不直接输出全文,而是以括号标注出“需要你补充真实感受”的部分。
同步会保留一份“个人语料库”,但不再让 AI 抽象风格描述,而是每次生成前列出几篇最相似的旧游记作为 few-shot 示例,告诉它:“参考这几篇的语气,但不要编造我没说过的事。”
最后一步,永远留出人工润色的时间——哪怕只有十五分钟。这十五分钟不是改错字,而是把 AI 平滑掉的毛刺重新按上去。
给两个月前熬夜写脚本的自己
别试图让模型成为另一个你。 它能记住你走过的路,却记不住当时脚底磨出的泡。游记的意义不只在“记录”,更在于翻看时能重新闻见山里的土腥味,听见孩子哭和他妈骂他的京腔。那些笨拙的、尴尬的、没法用“心旷神怡”概括的瞬间,才是读者真正觉得“这篇对味儿”的原因。
现在我把那个自动脚本停掉了,GitHub 仓库改名叫“旅行司马迁-已弃疗”,但保留了图片描述生成的模块。每次对着一屏照片发愁时,点一下按钮,让它先吐出一句干巴巴的客观描述,我再来泼上酱汁和老干妈。这样出来的游记,至少还姓梁。