当前位置: 首页 > news >正文

refine 命令:增量扩展 CLI 覆盖面的正确姿势

第一次生成不会是完美的

CLI-Anything 的 7 阶段流水线能生成一套功能完整的 CLI,但任何自动化工具的第一次生成都有盲区。

比如 GIMP 的第一次生成可能覆盖了图层操作、选区操作、基础滤镜,但如果你的工作流需要的是批量图片处理、脚本自动化、复杂的通道操作——这些可能不在第一次生成的覆盖范围内。

这是合理的。第一次构建的时候,Agent 不了解你的具体使用场景,只能按常见功能来生成。refine 命令解决的就是这个问题:在已有 CLI 的基础上,迭代补充缺失的功能。


refine 的工作原理

refine 不是重建,而是增量分析 + 定向实现

当你运行:

/cli-anything:refine ./gimp "批处理和滤镜"

Agent 会做三件事:

第一步:读取现有 CLI。加载已有的命令定义、测试用例、使用文档,建立对当前覆盖面的基线认知。

第二步:差距分析(Gap Analysis)。对比现有 CLI 和 GIMP 源码的完整能力,找出还没有被 CLI 暴露的功能。这不是简单的关键词匹配,而是理解 GIMP 各模块的职责和关系之后的功能映射。

第三步:定向实现。只针对差距分析识别出的缺口,生成新的命令、新的测试用例、新的文档。已有功能保持原样。

这意味着 refine 是安全的——不会破坏已有的工作部分。


两种 refine 策略

全面差距分析:不加任何方向约束,Agent 分析所有功能模块的覆盖情况。

/cli-anything:refine ./gimp

适合时机:刚用完第一次生成的 CLI,发现很多功能不够用,想系统性地了解差距在哪里。

定向聚焦:给出明确的功能方向,Agent 只分析这个方向的覆盖情况。

/cli-anything:refine ./gimp "批处理和滤镜"
/cli-anything:refine ./shotcut "画中画和叠加合成"
/cli-anything:refine ./libreoffice "Calc 公式和宏"

适合时机:有一个明确的痛点需要解决,不需要系统性地完善所有方面。


refine 的迭代特性

最关键的一点:refine 可以多次运行,每次都是增量的。

初始生成     → cli-anything-gimp v1.0 (基础覆盖)
第1次 refine → cli-anything-gimp v1.1 (+批处理 CLI)
第2次 refine → cli-anything-gimp v1.2 (+高级滤镜 CLI)
第3次 refine → cli-anything-gimp v1.3 (+通道操作 CLI)

每次 refine 后,测试套件也会同步扩展。之前的 107 个测试仍然通过,新的功能有新的测试覆盖。这个版本演进路径和人工维护一个开源项目是一样的,只不过 CLI-Anything 把它自动化了。


一个实际例子:给 Shotcut 补充画中画功能

假设用 Shotcut 做了一个视频,现在要加画中画。先看看当前 CLI 覆盖了什么:

$ cli-anything-shotcut --json list-commands
{"commands": ["project new","project open","project save","track add","clip add","clip trim","filter add","export render"],"missing": ["pip", "overlay", "composite"]
}

pip(画中画)和 overlay(叠加)不在当前 CLI 里。用 refine 补充:

/cli-anything:refine ./shotcut "画中画(PiP)和叠加合成"

Agent 分析 Shotcut 的 MLT XML 格式,找到实现 PiP 的正确方式:设置两个视频轨道,上层添加 blend_mode=screen 或者 blend_mode=overlay 的 composite filter。生成的新命令可能包括:

# 添加画中画
cli-anything-shotcut pip add --main-clip intro.mp4 --pip-clip logo.png \--position "top-right" --size "25%" -o scene.json# 设置叠加混合模式
cli-anything-shotcut overlay set --clip logo.png \--mode overlay --opacity 80

测试也会同步生成:

  • MLT XML 的 composite 节点是否正确生成
  • 渲染输出是否包含两个可见的视频层
  • 位置和尺寸参数是否正确传递

测试增量策略

refine 新增的功能会自动生成测试追加到测试套件里。每次 refine 后跑一遍:

/cli-anything:test ./shotcut

测试结果会更新到 TEST.md,形成完整的迭代记录:

## v1.1 — 批处理 (2026-03-20)
- ✅ `batch resize` 支持自定义尺寸列表
- ✅ `batch convert` 支持格式批量转换
- ✅ 边界条件:空目录、非法格式均正确报错## v1.2 — 画中画 (2026-03-22)
- ✅ `pip add` 正确生成 MLT composite 节点
- ✅ 位置参数 top-right/bottom-left 等正确映射
- ✅ 尺寸百分比参数范围 1-100 校验

一段时间后打开 TEST.md,就能看到完整的演进历史:什么时间、加了什么功能、哪个功能曾经有问题后来修复了。


什么时候该用 refine

适合的场景

  • 发现当前 CLI 覆盖不了你的某个工作流
  • 想系统性地完善某个功能模块
  • 项目有新需求,需要给 CLI 加新能力

不需要 refine 的场景

  • CLI 基本功能正常,只是不会用某个命令——先看看 --help 和 SKILL.md
  • 发现了 bug——用 validate 命令先跑一遍标准验证
  • 想换一个完全不同的工具——这不叫 refine,叫重新生成

总结:refine 的设计哲学

refine 背后是一个朴素的工程原则:系统不是一次性建成的,是迭代完善的。

CLI-Anything 的第一次生成给了一个可用的起点,refine 让你能够以功能模块为单位逐步完善,最终得到一套完全贴合你工作流的命令行工具。每次迭代都有测试保护,都有文档记录,不需要推倒重来。

这个设计对 Agent 的工作方式也很友好:Agent 不需要在第一次生成时就规划所有可能的功能——它可以边用边补充,像维护一个真实项目一样维护生成的 CLI。

http://www.jsqmd.com/news/522605/

相关文章:

  • 2026 企业网盘选型指南:大型企业只需关注这 5 款主流方案的实测差异
  • QGIS天地图插件进阶玩法:多Key轮换+省级节点加速配置指南
  • Advanced Techniques in Hate Speech Detection: From Embeddings to Model Design
  • FireRed-OCR Studio一文详解:像素风UI如何通过CSS Grid实现响应式预览布局
  • 从零开始:在VS2019上玩转LVGL8.1仿真的完整指南(含常见问题解决方案)
  • Windows家庭版也能用远程桌面!RDP Wrapper避坑安装教程(2023最新版)
  • 用Python实战理解互信息:从数据科学到机器学习应用
  • 你的服务器真的安全吗?手把手教你用PAM模块给SSH登录上把“锁”(防暴力破解实战配置)
  • 人该怎样活着呢?版本69.9
  • 【Simulink实战】FCS-MPC在并网逆变器电流控制中的核心算法与仿真实现
  • YOLOv5训练避坑指南:如何通过调整loss权重参数显著提升小目标检测效果
  • YOLO12双服务模式详解:FastAPI接口与Gradio可视化界面全攻略
  • Open Interpreter架构解析:本地化代码执行引擎的设计哲学与部署实践
  • SUNFLOWER MATCH LAB 数据采集利器:Python爬虫构建植物图像数据集
  • 基于带遗忘因子的最小二乘法估计轮胎侧偏刚度(线性区) 说明:用带遗忘因子的递归最小二乘法进行线...
  • AI驱动网络攻防军备竞赛的演进机理与防御范式重构
  • 清音听真深度体验:专业术语、地方口音识别实测报告
  • 深耕垂直赛道,匠造靠谱品质——宏洛图,化妆品及保健品食品包装设计优选服务商 - 宏洛图品牌设计
  • STM32 vs 8051:现代嵌入式项目选型的工程决策逻辑
  • CLIP-GmP-ViT-L-14图文匹配工具从零开始:无需Python基础的Streamlit交互体验
  • Kubeadm初始化踩坑记:containerd默认禁用CRI的快速修复方案
  • 2026年类似Confluence的工具推荐:技术团队知识沉淀通用系统工具对比分析 - 品牌推荐
  • Flux.1-Dev深海幻境模型在.NET生态中的调用:C#桌面应用集成示例
  • 论文合同扫描件有救了!DeepSeek-OCR-2结构化识别实测
  • 大模型的一些概念理解
  • Modbus-Ecto嵌入式库:ESP32/8266多协议从机实现指南
  • 2026 AI 创业新风口:OPC 独立先锋挑战赛全解析,一人公司如何撬动十亿美元市场
  • VideoAgentTrek-ScreenFilter处理动态模糊与遮挡:复杂场景下的鲁棒性展示
  • OpenClaw+QwQ-32B:自动化报表生成系统搭建
  • 高效二维码处理新方式:Chrome QRCode插件让浏览器变身全能二维码工具