一、什么叫Anything to Markdown?
就是让那些值得长期保存、反复使用和持续迭代,原本以Word、Excel、PDF等格式保存的资料,再拥有一份Markdown文本。这样做有两个直接目的。一是让资料能够脱离原来的软件、电脑和操作系统,更自由地迁移;二是让AI更容易读取、理解、管理和继续处理。
为什么需要形成这种意识?举个例子,我现在会同时使用Codex、QoderWork等不同的AI工具,也经常在Windows电脑和Mac之间切换。同一批资料从一个AI产品迁移到另一个产品时,经常需要重新指定文件、重新解析内容,有时还要再次说明目录结构和资料之间的关系。如果本地文件只有Word、Excel、PDF等花里胡哨的格式,AI往往还要重新解析、梳理并理解其中的内容,碰到复杂表格、排版或者扫描件,处理速度和准确性都会受到影响。作为一个经济适用型的AI使用者,我也不愿意白白浪费token。
此外,如果资料只保存在某个软件、账号或者知识库等封闭系统中,更换电脑、操作系统或者工具以后,迁移成本还会进一步增加。
资料能否真正归属于个人,最直观的判断标准,就是看它能不能脱离原来的应用继续使用。如果只能在某一个软件中使用,显然是非常被动的。市面上也不少见一些产品前期免费,后期再调整收费或者使用规则。如果资料又只能保存在平台规定的封闭格式中,等到用户产生依赖以后,要么乖乖付费,要么承担很高的迁移成本,还可能受到平台各种规则的制约。
一份资料至少应当能够完整导出、保存在本地、自由复制,并在离开原来的应用后继续读取和使用,才算真正掌握在自己手中。
二、导出,不等于能自由迁移
可能很多人会认为,现在大部分记账、记笔记等软件都有导出功能,那是不是就解决了迁移问题?显然不是。
以印象笔记为例。这个软件我没有用过,但听到过很多人推荐,也看到过很多吐槽。根据官方说明,目前需要通过Windows或者Mac桌面客户端导出笔记,主要可以导出为ENEX或者HTML格式。把资料从印象笔记里导出来当然没有问题,但想换到另一个软件,新的软件首先要支持这些格式,笔记中的附件、标签、目录和笔记本层级也未必能够原样保留,往往还需要重新转换和整理。对普通用户来说,做了几年的非常精美的笔记,一旦要切换软件就像搬一次家。
经常拿来做对比的是Obsidian。这个软件我用过一段时间,还有很多花里胡哨的玩法,笔记之间可以互相串联,最后形成一个类似于思维地图的东西。Obsidian采用了另一种思路,大家最推崇的一点,就是笔记直接以Markdown文件保存在本地文件夹中。不打开Obsidian,也可以用其他文本编辑器读取和修改;换电脑时可以直接复制整个文件夹,Windows和Mac都能继续使用;今后不想用Obsidian了,原来的Markdown文件也还在。Obsidian本身只是管理这些本地文件的工具,而不是这些资料唯一能够存在的地方。
两种模式的差别重点在于资料究竟依附于平台,还是平台建立在用户自己的文件之上。如果一个软件好用到一定程度,消费者当然愿意付费,但个人长期积累的资料不应该因为离开这个软件就难以继续使用。
三、本地文件,为什么还要再转成Markdown?
说到这里,可能还会有人问,Word、Excel、PDF本来就是保存在自己电脑里的文件,也可以复制和迁移,为什么还要费劲再转成Markdown?
原因很简单,这些格式对人类使用很方便,但不一定最适合AI反复读取和处理。Word和Excel文件内部包含正文、表格、公式、样式、图片等多个部分;PDF则更强调页面最终呈现出来的样子。AI拿到这些文件以后,通常还要先经过一轮解析,把里面的文字、表格和结构重新提取出来。文件简单时问题不大,碰到复杂表格、特殊排版、公式或者扫描件,解析速度和准确性都会受到影响。
Markdown就简单很多。标题、正文、列表、引用、表格和代码块都直接写在纯文本中,文章结构本身也是可见的。人用普通文本编辑器就能打开,AI也不需要每次先拆解一个复杂文件,再判断哪些内容属于标题、正文或者列表。CommonMark对Markdown的定义,本身就是一种用于编写结构化文档的纯文本格式。
所以,Word、Excel和PDF并不是没有价值,它们仍然适合保存排版、公式、签章和原始文件。Markdown承担的是另一项工作,让资料更方便被AI反复读取、修改、比较和持续迭代。对于以后还会经常交给AI使用的文件,多保留一份Markdown,等于提前把资料整理成了AI更容易接手的状态。
四、从文件堆积到AI资料库
法律人,或者说其他知识密集型行业的人,似乎都对“知识库”这个概念有一种执念。之前的文章也提到过,估计是被AI幻觉整怕了。但除了模型本身会产生幻觉,AI读取资料之前的文件解析、版面识别和OCR也可能出错。原始资料一旦被漏读、错读或者打乱顺序,后面的AI即使一本正经地回答,得到的结论也可能从一开始就是错的。
我相信很多人都尝试过直接把Word、Excel、PDF提供给AI,也会发现AI通常能够正常读取、正常推进任务。有些AI产品主打的功能,就是用户不需要专门转换文件格式,直接上传就可以用,主打一个便捷性。
但是,还是那句话,“那么代价是什么呢?”
这些原始文件仍然不可避免地要经过解析、版面识别或者OCR等步骤。复杂文件可能增加处理时间,也可能额外消耗上下文和token。更重要的是,大多数封装产品并不会把中间解析结果完整展示给用户。原文件究竟被识别成了什么,标题、表格、图片和上下文关系有没有读对,整个过程更像一个黑箱。出现错误以后,用户很难直接干预解析过程,更难把一次错误沉淀为自己的修复规则和回归测试。
资料提前转换成经过整理和检查的Markdown以后,AI的读取和理解通常会简单得多。Codex、QoderWork以及其他能够访问本地工作区的Agent,可以直接读取同一套文件。今天使用哪个AI,并不决定资料保存在哪里;换一个工具,底层资料也不需要从头整理。只要文件还在自己的电脑里,原来的目录结构和内容就可以继续使用。
Markdown还是普通文本,可以全文搜索、批量修改,也可以通过Git查看前后变化。AI修改了一篇文章或者一套资料,改了哪些地方可以直接比较;结果不满意,也可以回到之前的版本。资料不再只是一次次上传给AI的附件,而是逐渐成为一套可以被持续读取、管理和迭代的个人资料库。
五、转成Markdown,不等于资料已经可用
文件成功转成Markdown,只能说明转换程序完成了任务,生成的文件也可以正常打开。至于内容有没有遗漏、原来的结构有没有被破坏、关键数字有没有识别错误,还需要继续检查。
扫描文件经过OCR以后,常见的情况是文字基本都识别出来了,原来的结构却已经散掉。合同名称、双方信息、条款编号、正文、页眉页脚和表格内容可能全部混在一起。人还可以对照原件判断各部分之间的关系,AI读取时则可能无法准确区分标题、正文、条款层级和表格内容。
以纸质合同为例,OCR可能已经识别出第一条、第二条以及下面的各级条款,但一级条款和二级条款挤在同一个层级,页眉页脚反复插入正文,原本分行填写的账户名称、银行账号和开户行也可能粘在一起。还有一些看起来很小的识别错误,例如把“0”识别成“O”,把“1”识别成“l”,金额的小数点或者百分号没有识别出来。放在普通文章中可能只是错别字,放在合同、财务资料或者其他重要文件中,意思可能已经完全不同。
格式也会影响AI对内容关系的判断。原文件中一段话通过缩进、编号和位置可以看出属于上一条款的例外情形,OCR以后却可能被放到下一条款下面。表格中的字段和值一旦错位,AI仍然可能非常流畅地进行总结,只是总结的内容已经建立在错误的对应关系之上。
Excel文件也有类似的问题。一个Excel表格能够正常显示,不代表转成Markdown以后还能保留全部信息。转换工具通常比较容易提取单元格中已经显示出来的文字和数字,但公式、单元格引用和跨工作表的计算关系可能无法完整保留。最后的计算结果还在,AI却不知道这个数字是怎么算出来的。
碰到合并单元格、多层表头、隐藏行列或者多个工作表互相引用,情况会更加复杂。转换后的Markdown表格可能看起来整整齐齐,原表格中的层级和对应关系却已经发生变化。图表、批注、颜色标记和数据验证规则等信息,也很难完整放进普通Markdown文本中。
所以,转换完成以后还需要整理和检查。标题层级、连续编号、空行、列表和部分表格结构,可以通过规则自动修复;金额、日期、人名、条款归属、复杂表格和计算逻辑,仍然需要回到原文件核对。资料越重要,检查就要越严格。
也正因为如此,我后来做Any-to-MD时,把转换、整理和检查放在了同一条流程里。完成OCR或者文件解析以后,程序还会继续处理标题层级、编号、列表、粘连字段和普通表格,再对常见的结构问题进行扫描。对于扫描合同,原件仍然是核对依据,Markdown副本主要负责恢复标题、条款、列表和普通表格之间的逻辑关系,让人更方便阅读审核,也让AI更容易理解。
自动整理能够解决一批重复出现的问题,但它只能处理已经被发现并写进规则的问题。程序没有报错,只能说明它没有发现异常,不能直接证明转换结果正确。真正重要的资料,最后仍然需要人工验收。
六、我为什么做了一个Any-to-MD Skill
前面讲的这些问题,我自己在整理资料时也会反复遇到。单个文件偶尔转换一次,可以临时找一个工具处理;文件数量多了以后,每次都要重新选择工具、判断文件类型、调整格式、检查结果,还是很麻烦。
后来,我把这套反复使用的方法整理成了一个Skill,名字就叫Any-to-MD。
上一篇文章介绍过,Skill适合保存一类任务中已经相对稳定、以后不想反复解释的方法。Any-to-MD保存的就是文件转换这类任务的处理方法。它会告诉Agent收到Word、Excel、PDF或者图片以后,应当怎样判断文件类型,采用什么方式转换,转换后如何整理结构,又需要检查哪些问题。需要执行具体操作时,再调用配套脚本完成处理。
所以,Any-to-MD不是一个只能单独打开使用的格式转换软件。安装到Codex、QoderWork等支持Skill的Agent以后,我可以直接要求它把某个文件或者整个文件夹转换成Markdown。Agent读取Skill中的规则,再根据当前文件选择相应的处理方式。以后更换Agent,只要新的工具支持相同或者兼容的Skill规范,这套方法也可以继续迁移和使用。
这个名字表达的意思很直接:尽可能把Word、Excel、PDF、图片等不同格式的资料,转换成便于保存和继续处理的Markdown。转换过程中不会修改或者删除原文件,只会在原文件之外生成一份Markdown副本。原文件继续保留排版、公式、签章和其他无法由Markdown完整承载的信息,Markdown则用于检索、整理以及后续的AI处理。
不同文件需要采用不同的处理方式。能够直接提取文字和结构的文件,优先读取原有内容;扫描版PDF或者图片需要先经过OCR;Excel则重点提取各个工作表中可以读取的文字、数字和普通表格。完成初步转换以后,Skill还会要求Agent继续整理标题层级、编号、列表、空行、粘连字段和部分表格,尽量把机器提取出来的内容整理成正常文档。
接下来还要进行一次质量扫描。程序会检查标题是否跳级、编号和列表是否异常、图片是否丢失、表格是否还残留难以处理的HTML,以及文件中是否存在其他常见的结构问题。检查结果会保留下来,方便用户判断哪些问题已经自动处理,哪些内容仍然需要回到原文件人工核对。
整套方法可以概括为:保留原文件,判断文件类型,完成转换,整理结构,扫描问题,最后人工验收。Skill负责把这套方法固定下来,脚本负责执行其中可以自动完成的操作,Agent则根据当前文件组织和推进整个任务。
这样做无法保证所有文件一次转换就完全正确,但可以把大量重复操作固定下来。使用过程中发现新的问题,还可以继续调整Skill中的处理规则,或者为脚本增加新的检查和修复能力。以后再遇到同一类文件,就不必每次从头研究。
对于合同、客户资料和其他敏感文件,本地处理还有一个直接好处。原文件可以留在自己的电脑中,不需要为了格式转换专门上传到陌生网站或者第三方平台。确实需要调用外部OCR或者模型能力时,也应当先判断资料能否对外传输,必要时完成脱敏,不能因为转换方便就忽略数据安全。
七、怎么安装和使用Any-to-MD
Any-to-MD的公开入口放在z-skill。这里提供当前版本的安装包、安装Prompt、已经验证的范围和使用限制,适合不熟悉Git的读者直接使用:
https://z-skill.com/tools/any-to-md
源码和权威版本保存在GitHub:
https://github.com/zhouquan-ai/z-skill
Any-to-MD是一个Skill,不需要像普通软件一样打开一个单独的操作界面。可以把z-skill页面地址和安装要求直接发给支持Skill的Agent,让Agent读取说明、下载文件,并安装到对应的Skill目录中。
例如,可以把下面这段话发给Codex:
请打开https://z-skill.com/tools/any-to-md,阅读页面中的安装说明,下载并安装当前版本的Any-to-MD Skill。安装前先核对版本、文件结构和SHA-256,不要读取或者处理无关的本地文件。请按照Codex的Skill安装规范完成安装,安装后检查Skill能否正常加载,并使用一份公开样例文件完成测试。测试前先说明文件会经过哪些处理,是否会调用远程OCR或者把文件上传到第三方服务。未经我确认,不要上传任何文件。测试完成后,请提供生成的Markdown、质量扫描结果以及仍然需要人工核对的项目。
八、资料最终要留在自己手里
我做Any-to-MD,最初只是想解决一个很具体的问题:怎样把不同格式的文件更稳定地整理成Markdown。实际做下来,这件事最后还是回到了文章开头的两个判断。
第一,资料要能够离开原来的软件、电脑、操作系统和AI产品继续使用。
第二,资料要采用AI容易读取和继续处理的形式,减少每次重新解析、重新解释和重新整理的成本。
Markdown当然不能保存所有内容。Excel公式、Word修订记录、PPT视觉关系、PDF页面版式以及合同签章,都需要依靠原文件继续保留。Markdown的优势在另一个地方:它足够简单、开放,可以长期保存在本地,也方便人和AI共同修改。
软件会更新,AI产品会更换,今天流行的平台以后也可能调整价格、功能和使用规则。真正能够长期留下来的,还是那些可以自由读取、自由迁移,也能继续交给未来AI使用的资料。
Anything to Markdown代表的是一种资料管理习惯:重要文件保留原件,同时准备一份经过整理和检查的Markdown。以后无论更换软件、电脑还是AI,资料都不需要跟着从头再来。
再往前一步,它也会改变我们整理生活资料的方式。AI时代,可以交给AI协同处理的,不只有工作资料,也包括生活中那些值得长期保存、反复使用和持续整理的信息。