真实有效的 AI 方法论:02 拥抱 CLI + Skills

34 阅读8分钟

真实有效的 AI 方法论:02 拥抱 CLI + Skills

这是「真实有效的 AI 方法论」系列的第二篇文章,重点聊聊 CLISkills 这两个核心概念。


背景:CLI 和 Skills 在我们公司的落地

我们公司目前在运维周边组件上全面接入了 CLI 和 Skills,涵盖代码管理(CodeUp)、持续集成(Jenkins)以及各类辅助工具。这对整个运维板块是一次全面的效率提升。

举个例子: 以前发版的时候,需要在监控网页上逐个点击,再去找到对应的项目。到了项目后期,公司往往有几十个项目,而每个项目的代码文件夹名称、代码仓库名称以及 Jenkins 发布名称可能都不一样,查找和发布起来非常困难。还有一些场景,比如前端引入了新包、后端引入了 Python 的 Celery,都需要勾选特定的选项(比如重启),人工操作不仅繁琐,还容易出错。而使用 CLI 和 Skills 则是更高效的解决方案。


什么是 CLI?

CLI(Command Line Interface)相当于新时代的一种接口。它不是通过 HTTP 这类格式调用的,而是直接通过命令行调用。无论是 Windows、Mac 还是 Linux,CLI 基本上都是基于 NPM 打造的。

我们公司自己做的就是一个 NPM 包——你只需要安装相关依赖,通过 NPM 安装这个包之后,配置好环境,就可以直接用命令行的方式控制 Jenkins、CodeUp 这些工具,不用再在电脑上到处点点点了。

什么是 Skills?

Skills 其实是 CLI 的说明书

如果把 CLI 比作接口,它只有出参和入参,所有的使用方式都需要通过 --help 命令查看。这对人工来说比较麻烦,而且 CLI 本身更多是给 AI Agent 使用的。配合 Skills,就可以开发出各种各样实用的工具。

Skills 主要有两种使用场景:

  1. 为重点命令编写独立说明——比如 Jenkins 发布到 develop 环境、查看项目状态等场景,都可以在 Skills 中明确说明具体的操作方式。这样 Agent 在使用时,就不需要每次都调用 --help 去翻找信息了。

  2. 搭建自定义工作流——比如在发布场景中,你可以设置发布前先将所有代码合并到 develop 分支并推送到远程仓库。通过 Skills 做一层封装,标明第一步干什么、第二步干什么、第三步干什么,然后整体打包成一个发布流程。调用 Agent 时,一句简单的命令就能让 AI 在内部完成一整套集成。


真实业务场景:反馈系统的 CLI 化

除了运维工具,CLI 和 Skills 在公司内部业务系统中也大有可为。而且这类工具不需要手动编写,直接让 AI 帮你完成就好,非常方便。

痛点:被吐槽的任务系统

我们公司内部的任务系统之前用的是钉钉的 Teambition。真正用过的人都知道它有多难用——我之前用过 TAPD、JIRA,都没有 Teambition 难用。它最让人头疼的就是没有全局 ID,无法有效查询和检索。每次创建分支都特别痛苦,自动生成的 ID 无法作为全局标识使用。项目多了之后,分支命名、发版合并都让人非常头疼。按照标准化流程,直接用一个全局 ID 来统一管理就好了,用 ID 关联代码分支和需求内容,用一套体系来完成相关操作。

解决方案:自建反馈系统 + CLI

后来我们自己开发了一套反馈系统,供业务人员提交反馈内容。那这和 CLI 有什么关系呢?

当客户或公司内部员工提交反馈后,需要专人处理。以前处理时,还要手动打开网页、查看上传的图片和评论区内容,效率非常低。

有没有办法让我直接在 Codex 里完成这一切? 读取完整的反馈内容和消息,自动创建分支、自动参与讨论、编写符合需求的代码,还能自动在反馈系统里更新进度和评论,上线后自动处理任务状态?

当然可以。这就是 CLI 和 Skills 在真实业务中的应用场景。

具体实现

比如我想查看某个反馈 ID 对应的所有信息(评论、图片、视频、图文介绍等),可以编写一个与反馈系统对接的 CLI:

  • 搭建一套完善的系统,让每个用户在系统里创建密钥
  • 将密钥配置到本地 CLI 中
  • 本地 CLI 调用接口和对应 ID,直接获取相关信息
  • Claude Code 拿到信息后,可以和我一起讨论,确定方案后完成代码编写和上线

修改和更新状态的流程也是同理。CLI 本质上就是一种非常高效的结构——你输入的命令相当于参数,执行后返回响应结果,AI 可以非常方便地调用它。

配套 Skills:针对不同场景定制流程

在 CLI 的基础上,还可以为不同场景编写专门的 Skills:

Bug 处理流程:

  1. 查清 bug 的原因
  2. 结合代码和线上数据库的 MCP 定位问题
  3. 撰写 bug 报告
  4. 提交评审
  5. 评审通过后出方案继续开发

需求类反馈处理流程:

  1. 调研反馈系统里所有类似的需求场景
  2. 梳理可复用的相似需求
  3. 对当前需求做优先级评级(高/低)
  4. 大致出解决方案、估算工时
  5. 制定开发规划

这是两种完全不同的流程,可以分别编写对应的 Skills 来应对。


拓展:面向外部系统的 AI 化改造

除了内部系统,我们也在针对一些外部系统做类似的优化。它的本质不一定是 CLI 和 Skills,但原理非常相似。

我们目前在做的规划,就是准备把自身的 APP 全部做成类似豆包那样的页面——一个聊天框界面,所有的场景和功能都可以通过对话的方式去了解、操作和执行。当然,之前的 GUI 页面也完整保留。我们用 Dify 搭建了一套工作流,目标是把整个入口用大模型封装起来,尽量不让用户再去操作那些需要到处点点点的复杂场景。用户只需要一句话,就能解决一个特定的问题。


展望:CLI 和 Skills 可能比我们想象的更重要

大家已经逐渐意识到 CLI 和 Skills 的重要性了,但可能还缺少一点直观感受——这个东西很有可能会像互联网的 HTTP 协议一样广泛

CLI 可能成为新一代后端接口的规范

  • 前端可能不再需要手动编写页面,根据 CLI 返回的结果,让 AI 针对性生成特定页面就足够了
  • 大部分场景中,你只需要执行某个操作,AI 就会将相关信息查询出来并可视化展示
  • 在需要用户确认时,AI 自动生成 GUI 页面来完成确认操作

仔细想一下,很多确认步骤对应的页面其实没有必要存在。

以点外卖为例

传统流程:领券 → 翻找菜品 → 选店铺 → 查看菜品 → 下单 → 付款。这些前置步骤大多是可有可无的,你真正关注的其实只有菜品、送达时间和金额这三样。

如果美团接入了优秀的 CLI,你直接语音告诉 AI 想吃什么,它就会自动帮你挑选商家、填好地址、告知总价,你只需要直接付款即可。有时候点外卖确实要花十几分钟挑选,但有了这样的工具,效率会大幅提升。

未来软件的新形态

这个概念很有可能是未来软件的新形态——不再依赖各种庞大的 APP 和大量的手动操作。阿里的通义千问已经在内部打通了淘宝、飞猪、高德等服务,你可以通过千问同时调用所有这些服务。虽然目前千问的体验还不够好,模型能力和调用准确性还有待提升,但我认为它已经是未来软件的雏形了。

我个人坚定地认为:未来的软件只是由大模型包裹的外壳,内置了大量的 Skills 供你调用。未来的软件生态都会是这样的模式,而不再是以页面为主、需要到处点击操作的场景。

所以,CLI 和 Skills 非常重要,甚至比我们预想的还要重要。


总结

如果你的公司有相关的业务场景——不管是公司内部业务、运维相关,还是自身软件的开发——都可以尝试往 CLI + Skills 这个方向靠拢。这绝对是未来的趋势。