CLI和Markdown,与智能体高效交互的基石
那些智能体底层需要的能力,或许能给我们一些启发

与电脑交互
昨天说到当下流行的很多智能体软件都是通过命令行安装的,提到了 CLI,Command Line Interface,这个词一般会翻译为命令行界面,但我觉得今年叫它命令行接口更为合适。
人与人之间有很多种沟通方式,最主要的一种就是语言,因为通过语言沟通效率最高,最准确。人与电脑沟通也需要有一种方法,但电脑不会人类的语言,所以只能找一种电脑会的“语言”。
最早使用的是面板开关和打孔纸带,你可以在一些“史书”或是像比尔盖茨这类早期计算机专家的回忆录中看到它们。再之后有了电传打字机,然后慢慢进化为了 CLI,键盘才成了主要的输入设备。再然后,才是我们现在普遍使用的图形化界面,才有了鼠标和触屏。

图形化界面非常好用,尤其是有了触屏手机后,连小孩子都可以轻松操作了。但图形化界面依赖的是人的手眼协调能力,而我们从一出生开始,就在不停地学习与锻炼自己的手眼协调能力。所以当你觉得 CLI 不好用时,不是因为它难,而是因为你几乎没学过也没练过。
CLI
CLI 你也可以把它理解为一种语言,一种有严格语法和规范的书面语言,只不过它的单词是由每个软件自己定义的,你用哪个软件,就要去背那个软件规定的单词。所以把它当作一门外语来学也是非常简单的。
而一旦你学会,它的效率和准确性是要远超图形化界面的。你就想吧,鼠标上有几个键,键盘上有几个键,排列组合一下,哪一个能在单位时间内提供更大的信息量。

不过,这是人与电脑沟通的方法。而电脑中软件与软件之间的沟通方式会更加高效,它们只要相互之间传输二进制数据就好了,这是最原生的属于计算机自己的语言。
今年的 AI 智能体有能力帮我们完成很多电脑上的操作,其实就是智能体在替代我们与其他的软件进行沟通与交互。既然都是软件了,那是不是它们内部有更高效的交互方式呢,为什么还要强调 CLI 的重要性呢。
如果你能把 CLI 理解为一种语言也就明白了,AI 自然是最擅长语言的了。语言才是大语言模型的原生能力,所以 CLI 对大模型来说是极其友好的。任何一款软件,只要提供了 CLI,那么大模型就可以很轻易地使用这款软件。同时这个使用过程也是人类能看懂的,毕竟 CLI 本来就是给人用的。
就在一周前,Obsidian 发布了自己的 CLI,就是希望各种智能体软件可以更方便的使用自己,这必将成为一种趋势,因为 CLI 已经成为了智能体的基础设施。未来做任何软件,只要是希望智能体能够使用自己的,都得提供 CLI 才行,于是 CLI 成了命令行接口。
其实很多非常好用的开源工具,早已提供了 CLI,因为对我们这些开发者来说 CLI 也是非常友好的。所以你只要找到相应的 Skills,或者自己做一个 Skills,你就一下子多了很多非常实用的工具。
比如音视频的处理,裁切、转码、压缩、拼接等等,都可以通过 ffmpeg 进行操作,很可能你曾经用过的某款付费软件,底层用的就是 ffmpeg。而且因为这款开源软件太有名了,你甚至都不需要什么 Skills,直接让智能体帮你操作,它就能直接生成对应的 ffmpeg 命令。
Markdown
说到 Obsidian,那我们就再说一个公认的 AI 领域的基础设施,Markdown。Markdown 已经二十多岁了,但我认识它还是在十年前。当年一位同事向我推荐了它,说这东西写文档真好,你在文字前加上#,它就是标题了,加俩#就是二级标题,这样咱们用纯文本就能写文档了。
如果你并不了解 Markdown 解决的是什么问题,也许你也会像我当年一样,看不出 Markdown 到底有什么好处。
虽然大家都说中国话,咱们再限定一下,大家都说普通话,相互之间沟通就没有障碍了吗?肯定不是。咱们在职场打拼过的都知道,想要给领导做个汇报并不容易。赶上好领导会指点你几句,让你说问题,说目标,说方案,赶上脾气爆的,甩你一句什么乱七八糟的都算轻的。
因为当你的语言缺乏结构时,信息是混杂的,让人难以理解。所以很多汇报需要辅以 PPT,需要有书面的汇报,因为 PPT 和书面文字中,信息是有结构的,有标题,有层级,这些标题和层级本身也是重要的信息。
以往书写这些有结构的文档,都需要专门的软件,像 PPT、Word 等。这些文档给人看没问题,因为人看到的是它们在屏幕上渲染出来的样子。但如果是给 AI 看就不一样了,大语言模型识别的是文本,你给它 PPT、Word 这样的特殊格式的文件它根本无法识别。
于是,给它纯文本,就缺少了结构,也就是缺少了信息。给他各种软件自己的专属文档,那它内部就得有个工具先把这些文档转换成纯文本,它再读取。所以你看,所有 AI 在上传附件时都会限定文件格式,因为它只准备了转换这些格式的工具。
Markdown 就解决了这些问题,一来 Markdown 是纯文本的,大语言模型直接就可以识别,二来 Markdown 可以是结构化的,支持六级标题、项目符号、表格等,甚至还能支持流程图和数学公式,你还有什么表达不清的。

所以,有了 Markdown 之后,我们就可以很容易地向 AI 表达我们的诉求,同时 AI 也能直接输出结构化的文本内容,便于我们或是其他 AI 理解。这也就是 Markdown 能够被大家认可为 AI 领域的基础设施的原因了。
Obsidian
而目前,管理 Markdown 文档最好用的软件应该就是 Obsidian 了。Obsidian 只有五岁,我最早是因为研究双链笔记软件才接触到它的,所以最开始它对我只是一款笔记软件。至于什么是双链笔记,这个是关联到卡片笔记法的另一套体系了,得单独再写一篇了,不过可以推荐一本书《卡片笔记写作法》。
我后来因为偏爱大纲笔记的形式,所以选了另一款笔记软件 Logseq。但这两年 Obsidian 整个社区的发展非常迅猛,配合各种插件,使软件的功能非常丰富。也恰恰因为是以 Mardown 为基础,所以连 Claude Code 都能很好地集成在一起。
如今,我所有的写作都是在 Obsidian 上完成的,再配合 Claude Code 的 Skills 来实现一键发布。未来计划构建的信息整理工作流也会使用 Obsidian 来进行查看与编辑。
Obsidian 还有一个非常重要的特性,就是本地化,它是一款免费开源的纯本地化的软件,你所有的数据,都以纯文本的形式存在你的本地,这一点对每个人都非常重要。
我很多年前也特别喜欢用印象笔记,保存了不好少东西,但现在那些东西基本都死掉了。虽然我也有很大的责任,但当印象笔记不再支持你导出你的数据时,它们便不再属于你。所以在一个数据越来越值钱的年代,一定要把控好自己的数据所有权。
我现在选择各种工具,本地化一定是被优先考虑的,这也是我渐渐冷落了 Notion 那么好的软件的原因之一。现在 AI 智能体发展起来了,本地化的优势再次体现了出来。
再顺便提一下数据安全,本地化虽然让你把握住了数据的所有权,但是一定注意好备份,尤其现在有了 AI 智能体,别让它一个误操作把数据给你弄没了。再有就是 AI 智能体毕竟使用的是云端模型,如果你确实有一些个人隐私或敏感信息,也要注意不要让 AI 读取到。这似乎又能写个话题了。
怎么学
如果你刚刚装好 Claude Code,那么此时你可能还无法理解 CLI 和 Markdown 的重要性,所以现在未必是一个好的学习时机。但只要你记着这俩是什么东西,总会一天你会体会到他们的重要性的,到时再学也来得及,毕竟随时问 AI 就可以了。
而你现在要做的就是和 AI 聊天,想做什么先问 AI,让它给你出主意,让它替你做,做不出来就让它自己想办法,做出来了,你就可以给它挑毛病。最后还可以让它总结,总结它犯了什么错误,也可以总结你犯了什么错误,怎么做才能更好。
反正就是先把 AI 当作一种万能的做事方法,不行你再自己上。这样你才能够体会到它的天花板有多高,边界在哪里。所有人都会有这个过程,你只有经历过了,才能真正发挥出它的作用。
