大家好,我是明钧子。
最近我独立开发的一款纯公益性质的多语言《道德经》阅读与批注工具《Tao》刚刚在 Steam 上通过了页面审核(预计四月份免费发布)。
今天想和大家聊聊做这个项目时踩过的坑,尤其是如何处理极其非标准化的“古文-白话文-多语种外文”的对齐与清洗问题。
1. 为什么要做这个?
《道德经》在全球的发行量仅次于《圣经》,但单纯看外文,或者单纯看古文,都很难体会到那种“玄之又玄”的语境。
许多外语翻译版本,甚至不是基于道德经原文进行翻译,而是在某个热销的翻译版上二次翻译。而所有纸质的出版物,受限于篇幅原因,信息量有限。
市面上缺乏一个能把原文、多版本白话文解析、以及多语种(英、法、德等)完美对齐,并支持社区批注的现代化阅读工具。
于是,我决定自己动手写一个。
2. 核心痛点
一、数据结构的混乱
81 章的内容,不同学者的注释断句完全不同,对应的白话文解释长短不一,再映射到英文及其他外语的翻译时,数据结构是非常混乱的。
二、大模型上下文限制与庞大的数据量。
汉语(尤其是古汉语)相比英语(德语、法语等)是一种信息压缩度极高的语言,某些字所对应的含义,是惊人的量级。更何况,还有多音字、通假字……
《道德经》全文的不重复汉字大约是1064字,通假字是500字。这1564个字,在中文里对应的详细释义,超过了200万字。以下是项目整体翻译后的数据量:
中文:253万。 英语:750万。 德语:661万。 法语:802万。 日文:316万。
总计:约2864万字符。
三、哲学深度的缺失
即便我们详细翻译了每个字、每句话的释义。但在最终汇总时,能明显感觉到AI对哲学的理解只停留在信息整合层面,无法创造出更深度的理解。
但我仍然觉得我的项目有意义,因为至少靠着AI的知识广度,构建了一块利于大家创造深度理解的底座。
3. 我的解决方案
多层翻译映射(Translation Layers):
在数据结构上,我设计了层级映射。底层是核心的古文(Source),中间层是字词级的直译(Literal Translation),最上层是符合现代语法的意译(Semantic Translation)。
在多层翻译映射(实际上形成了一个数据库)的基础上,让AI通过穷举法,列出了不同句子的所有意思,并剔除其中逻辑不成立的。
第一步:解决单字字义的问题
引入了ZDIC字典的单字释义。通过脚本爬下了所需1564个字的全部释义。通过Google Gemini 3 Flash API翻译了全部的单字释义。
在这个过程中,我尝试了国内的Deepseek v3.2和GLM 5,发现在对外语的理解上,尤其是法语上,Deepseek v3.2模型出现了不少错误。GLM5的答案也并不完美,而且好贵。
最终经过比对,选择了Gemini 3 Flash。API大约跑掉了200美金。
API的好处是脚本批量跑,速度很快。缺点是贵。
第二步:解决断句的问题
通过Gemini的Deep Research,我找到了网上现成的公开数据。通过脚本下载html到本地。
这一步的难点,是各个网站的页面规则都不同,但好在,现在的Opus 4.6模型可以准确无误地洗出我需要的数据。
在所有的格式中,html是最优秀的格式。大模型一般会尝试通过Dom来获取网页上的内容,千万不要这么做。
正确操作步骤应该是:整理好URL,让大模型下载html到本地,再清洗数据。
第三步:解决多语种对齐的问题
在单字层面,对齐是容易的。在单句层面,需要根据注释来调整正文的断句规则。
例如:王弼和河上公两个流派的注解,断句方式就不同。外文翻译中,有些实在无法对齐,就只好按篇对齐。
4. 技术栈选型
我使用Antigravity 开发,主力模型是Opus 4.6,通过Flutter技术栈完成开发。
使用子Agent,选择Sonnet 4.6,批量翻译注释等需要推理的内容(Gemini 3 Flash做不到这一点)。
5. 总结与求个愿望单
目前软件的核心阅读和对照架构已经跑通了。看着数据结构最终在 UI 上优雅地呈现出来,成就感还是很足的。
《Tao》会在 4 月份在 Steam 上完全免费发布,初衷就是为了做个好用的文化工具。
如果大家对这种传统文化的项目感兴趣,劳烦去我的 Steam 页面点个“添加愿望单”。
每一个愿望单,都能增加Steam官方的推流,非常感谢!
🔗 Steam 商店链接: store.steampowered.com/app/4396670…
大家如果在多语言架构或者大模型数据清洗方面有什么更好的建议,欢迎在评论区交流!