CLI-Anything:讓任意軟體變成AI Agent可操控的原生工具

香港大學HKUDS團隊開源的CLI-Anything項目提出了一個精妙的解決方案:用命令列介面(CLI)作為AI Agent與任意軟體之間的通用協議層。當前AI Agent要操控軟體,依賴GUI自動化(截圖+點擊)、API封裝或功能重新實現,但都有嚴重局限。

CLI-Anything的核心洞察:幾乎所有專業軟體都有或可以有CLI,而CLI本質上是結構化文本——正是LLM最擅長處理的格式。透過自然語言→CLI命令的轉換管線,Agent可以即時調用ffmpeg、ImageMagick、Git等數千種工具。

CLI-Anything:讓任意軟體變成Agent原生工具

問題:Agent擅長思考,但不會用軟體

當前AI Agent面臨一個核心矛盾:推理能力越來越強,但操控真實軟體的能力遠遠不足。現有三種方案都有嚴重缺陷:

1. **GUI自動化**(如截圖+點擊):極度脆弱,UI一變就失效

2. **API封裝**:覆蓋率低,大多數專業軟體沒有完整API

3. **重新實現**:工程量巨大,維護成本不可接受

CLI-Anything的洞察

核心發想:**幾乎所有專業軟體都有CLI**。ffmpeg、ImageMagick、Git、Docker、kubectl、pandoc……數千種工具已經提供CLI。而CLI的本質是結構化文本——正是LLM最擅長處理的格式。

架構

1. **CLI Knowledge Base**:將數千個CLI工具的man頁面、幫助文本、使用範例結構化儲存

2. **Intent Parser**:將自然語言任務描述轉換為CLI操作序列

3. **Parameter Resolver**:從上下文推斷模糊參數

4. **Execution Engine**:安全執行CLI命令並解析輸出

5. **Error Recovery**:執行錯誤自動恢復和替代命令建議

與現有方法對比

| 特性 | GUI自動化 | API | CLI-Anything |

|------|-----------|-----|-------------|

| 覆蓋率 | 中 | 低 | **高** |

| 穩定性 | 低 | 高 | **高** |

| 設置成本 | 無需 | 需開發 | **無需** |

| LLM親和性 | 低 | 中 | **高** |

實驗結果

在50+個CLI工具上測試:

  • 任務完成率:GPT-4為78%,Claude 3.5為82%
  • 約為現有GUI自動化方法2倍的成功率
  • 新工具適應:僅讀取說明文件即可即時對應

意義

CLI-Anything不是「創建新API」而是「活用現有CLI」的思路,大幅擴展了Agent可操控的軟體範圍。