【人工智能】AI基础知识(第六节:什么是CLI)

一. CLI是什么

CLI(Command Line Interface,命令行交互界面)是一种通过输入文本命令来与计算机进行交互的软件。在 Windows 系统中,我们可以通过按下 Win+R 键,然后输入 cmd 来打开命令行窗口。例如,输入 git addgit init 等命令,就可以调用 Git 库的相应操作。这些命令都属于 Git 提供的 CLI 程序。简单来说,CLI 是一种基于命令输入进行交互的软件。要使用它,必须先安装对应的 CLI 程序。

二. CLI的作用及优缺点

MCP(Model Context Protocol)主要解决了 Agent 如何调用其他软件功能的问题。CLI 同样能够解决这一问题,因此现在许多软件都提供了 CLI 功能。使用 CLI 程序的主要优势在于其极高的执行速度和便捷性。不过,它的缺点在于用户需要记忆并熟练掌握相关命令才能有效使用。

三. 如何解决Agent使用别的软件功能

1)制作一个Cli程序

例如,我们可以创建一个名为 vchat 的微信 CLI 程序,并定义两个命令:vchat send xxx to UserA 用于发送消息,vchat search "XXXX" 用于检索信息。
我们需要让 Agent 知晓这两个命令的存在,这样 Agent 才能告知大模型去使用它们。在 Agent 与大模型通信时,Agent 会将 Skill 信息以及工具信息发送给大模型。只有通过这种方式,大模型才能了解到 CLI 程序指令的存在。
MCP 的本质是将软件功能以“工具”的形式暴露给 Agent,再由 Agent 传递给大模型;而 CLI 程序则是将软件功能以“Skill”的形式暴露给 Agent,再传递给大模型。那么,为什么 CLI 程序要选择通过 Skill 来传递呢?这是因为使用 Skill 进行传递具有更好的可扩展性。

2)制作Skill

name:发送与搜索消息SKill
despcrition:发送vChat消息,搜索消息
1.把消息和用户作为参数调用vchat Send
2.把消息内容作为参数调用 vchat search

把这个Skill放入到指定的Skill目录之后,才可以使用Skill。

3)被大模型的使用过程

  1. Agent 向大模型发送消息。
  2. 大模型指示 Agent 提供所需的 Skill 信息。
  3. Agent 将 Skill 信息(其中包含 CLI 相关指令)发送给大模型。
  4. 大模型收到 Skill 信息后,告知 Agent 使用“发送 vchat Send”功能。
  5. Agent 调用 wChat CLI 程序,执行发送消息功能;执行完成后,通知 Agent 整理信息。
  6. Agent 将执行结果发送给大模型,大模型进行结果汇总。
wChat CLI程序 大模型 Agent wChat CLI程序 大模型 Agent 发送消息 请求Skill信息 发送Skill信息(含CLI指令) 告知使用:发送vchat Send功能 调用wChat CLI程序,执行发送消息 执行完成,返回结果 发送执行结果 汇总结果

四. Cli与MCP的区别

当 Agent 需要调用其他软件的功能时,如果该软件遵循 MCP(Model Context Protocol)协议,则 Agent 必须遵守该协议。Agent 会通过 MCP 向软件询问其提供的功能,并以“工具”的形式告知大模型。MCP 本质上是一套定义好的协议规则。

相比之下,CLI 程序并不通过 MCP 协议暴露功能,而是直接以“Skill”的形式将命令暴露给大模型。
MCP 协议的缺点在于其规则定义较为严格,灵活性不足。而 CLI 则可以灵活地以 Skill 的形式增删命令,更加轻量化。

例如,Git 同时提供了 CLI 和 MCP 两种接口;飞书仅提供 CLI 接口;Figma 则仅提供 MCP 接口。
在实际应用中,具体选择 CLI 还是 MCP,应根据不同的业务场景来决定。

五. 核心知识点思维导图

以下是本篇关于 CLI、MCP 及 Agent 交互的核心知识点的思维导图,便于您快速回顾和掌握文章脉络:

AI基础知识(第六节)

命令行交互界面

定义与示例

: 通过文本命令交互的软件

: 如 Windows cmd, Git

使用前提

: 需安装对应程序

作用与优缺点

作用: 解决Agent调用外部软件功能

优点: 执行快、便捷

缺点: 需记忆命令

Agent使用外部软件的方案

制作CLI程序

微信CLI

: 命令:send, search

制作Skill

: 封装CLI命令,放入指定目录

使用流程

1. Agent发送消息
2. 大模型请求Skill信息

含CLI指令

4. 大模型指示使用功能
5. Agent调用CLI执行
6. 返回结果,大模型汇总

CLI与MCP的区别

协议方式

MCP: 必须遵守的协议,以“工具”形式暴露

CLI: 不通过MCP,以“Skill”形式直接暴露

灵活性

MCP: 规则严格,灵活性不足

CLI: 可灵活增减命令,更轻量

实际案例

CLI + MCP

仅CLI

仅MCP

选择依据: 根据业务场景决定

更多推荐