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可操控的軟體範圍。