自动化 AI 工作流 - 我们为社区本地化了热门文档

2025/04/10

最近我和社区的小伙伴一起做了个站点叫做 Open AIDoc,它是由 Gemini 提供技术支持的公益项目,旨在追踪并翻译流行的开源库文档成简体/繁体中文、日语、韩语等多种语言。今天上线的 0.1.0 版本里,我们已提供了 KotlinKoin 的最新文档同步翻译,已有的计划里还打算扩展 SqlDelightKtor 等等其他的一些我们熟悉的库,并在未来持续增加不同领域的文档翻译同步服务。

故事的开始源于前不久我在帮助 Koin 搭建中文社区,然后发现有些新加入的成员。第一句问的就是“有中文文档了吗”?这引起了我的兴趣,并且很快我在一些 Kotlin 的社群里也找到了相关的发问。我尝试理解在 AI 时代下,大家对本地化文档的需求,因为我了解有蛮多浏览器插件已经可以达到高质量的翻译了;但深挖一下发现,在东亚,特别是对新手工程师来说,这可能还是一个普遍的问题。一方面,东亚整体上有比较强的自己的语言语系,虽然大部分地区义务教育都已经加入了英语的学习,但是编程领域母语资料众多,大量开发者还是倾向于母语资料;另一方面,并非有浏览器插件大家就都去使用了,AI 的发展还在早期,文档又是会重复查看的网页,每次进去要等几秒翻译,还得重复花费 credits 来做这件事,确实不是一个很好的场景。

既然如此,何不把我周遭碰到的几个文档问题用 AI 的方式一次性解决了,生成的内容储存在一个站点上可以重复被阅读,非常节能环保 :) 于是就找到了一位志同道合的伙伴 zhuoxuan,一起开始推进。当然,很快我们发现事情比预想的麻烦一点,我们需要加入一些同步更新、格式转换的步骤。所以我们搭建了一个工作流,大致是:

其中,选择 Gemini 2.0 Flash 最大的优点就是快而且实惠,在提示词还有优化空间的情况下就已经展示出不错的翻译结果。秉着“不谈完美先谈完成”,我们在一周左右就上线了你现在所看到的 0.1.0 版本。

尽管它还有一些问题,例如:

  • 少量太长的文件,最后一点点被截断,受限于 gemini 2.0 flash --> 后续会换 2.5 pro
  • 少量自定义格式难以使用正则替换使其兼容 docusaurus 引擎,目前手动修正了几个 --> 后续换 vitepress/next.js 灵活并且宽容一些
  • 所有标题链接 (带#号的)失效,因为翻译后名字完全对不上 --> 还在找办法
  • 正则替换脚本无法保证所以部分替换后格式正常 --> 需要优化脚本或者利用其他库辅助(通过AST之类)

但总体上我们已经达到了一开始想要达到的目标:先解决周边的几个问题,然后慢慢升级迭代。于此同时也一边收集社区的意见:

  1. 哪些文档只有英语的、或中文部分已经年久失修的,呼声高的我们就优先安排;
  2. 哪些 Prompts 写的不够好,整理好 contribution guideline,让大家来提 PR 一起修补;

此外:Gemini 的费用目前是个人垫付,这里感谢 Google Developer Expert 项目赠与的 Google Developer Program Premium Membership (含 GCP 的 Credits),把这些 Credits 反馈给社区是理所应当,Credits 到期后会再考虑其他方式;网站部署包括域名、服务器和流量方面后续产生的费用则由我个人的咨询和解决方案公司 BinaryTape 进行赞助。

由于是公益项目,我们无法保证时间去做太多的文档适配,希望有更多志同道合的伙伴加入,聚石成塔。也欢迎大家多多转发分享点赞,关注本公众号,让更多开发者享受到最新的本地化文档服务并获得文档更新的资讯。

网站地址:openaidoc.org


评论和交流请发送邮件到 [email protected]

Wechat Donate QACode
通过微信扫描赞赏码赞助此文