「Making ALL Software Agent-Native.」
GitHubプロジェクトのREADMEにこう書かれていれば、最初の反応は「また大風呂敷を広げるだけか」だろう。
しかし、CLI-AnythingはすでにGitHubで38,429個のスターを獲得しており、そのアプローチは非常に現実的だ。ソフトウェアをゼロから再発明するのではなく、既存のソフトウェアに「AIエージェントが理解できる外装」を被せるという手法を取っている。
Agent-Nativeとは何か
まず、この用語の意味を明確にしよう。
Agent-Nativeとは、ソフトウェア自体を書き換えることではない。むしろ、あらゆるソフトウェアが、人間を仲介役(翻訳者)とすることなく、AIエージェントによって直接操作可能であるべきだという意味だ。
現状では、AIエージェントにPhotoshopで画像編集をさせたり、QGISで地図分析をさせたり、Audacityで音声編集をさせたりするのはほぼ不可能だ。なぜなら、これらのソフトウェアのUIは人間の指や目に合わせて設計されており、エージェントのAPI呼び出し向けには作られていないからだ。
CLI-Anythingの考え方はこうだ。各ソフトウェア向けにagent-harness(エージェントアダプター)を作成する。このアダプターがソフトウェアのCLIインターフェースを標準化し、AIエージェントが統一された方法でどのソフトウェアも呼び出せるようにする。
彼らがすでに実現したこと
リポジトリのディレクトリ構造を見ると、CLI-Anythingにはすでに多数の既存agent-harnessが用意されている:
- 3MF —— 3Dモデル処理
- QGIS —— 地理情報システム
- AdGuard Home —— ネットワーク広告フィルタリング
- Audacity —— オーディオ編集
- Blender —— 3Dモデリングとレンダリング
各harnessが行っていることは一つだけだ。ソフトウェアのコマンドラインインターフェースを、エージェントが理解して呼び出せる標準形式にラップすることである。
例えば、Audacityのagent-harnessを使えば、AIエージェントが「この音声ファイルを開く → ノイズ除去 → WAV形式でエクスポート」といった操作シーケンスを、人間がメニューをクリックすることなく実行できる。
なぜCLIが鍵となるのか
「なぜCLIなのか?なぜGUI自動化にしないのか?」と疑問に思うかもしれない。
理由は単純だ。CLIは構造化されており、決定論的で、スクリプト化が可能だからだ。GUI自動化(画像認識や座標クリックに基づくもの)は脆すぎる。ボタンの位置が変われば動かなくなり、インターフェースが更新されればすぐに使えなくなる。
CLIはソフトウェアがマシンに残したバックドアのようなものだ。CLI-Anythingは、このバックドアを標準化しただけに過ぎない。
CLI-Hub:エコシステムへの野心
プロジェクトにはclianything.ccという公式ウェブサイト「CLI-Hub」も存在する。これはagent-harnessの共有プラットフォームであり、Docker Hubに似ているが、コンテナではなくソフトウェアのエージェントアダプターを配布するものだ。
この構想が軌道に乗れば、興味深いエコシステムの循環が生まれるだろう:
- 誰かが新しいソフトウェア向けにagent-harnessを作成する
- CLI-Hubにアップロードする
- 他のユーザーがインストールすれば、そのAIエージェントが当該ソフトウェアを操作できるようになる
- 利用者が増える → 貢献者が増える → 対応ソフトウェアが増える
これはかつてのnpmやDocker Hubの台頭経路とよく似ている。違いは、今回はコードやコンテナではなく、ソフトウェアの「操作能力」を管理する点にある。
学術的背景
CLI-Anythingは香港大学のデータサイエンス研究チーム(HKUDS)によって開発された。これは週末の趣味プロジェクトではなく、学術論文に裏打ちされた研究活動だ。
学術チームがオープンソースを手掛ける利点は、方法論が厳格でドキュメントが整備されていることだ。一方で、更新ペースが商業プロジェクトほど速くない場合があるという欠点もある。
コミット履歴を見ると、プロジェクトは比較的活発だ(687回のコミット、直近3時間以内にも更新あり)。これはチームが継続的にリソースを投入していることを示している。
限界と課題
CLI-Anythingは万能薬ではない:
- CLIを持つソフトウェアのみ対応——多くのコンシューマー向けアプリケーションにはそもそもコマンドラインインターフェースが存在しない
- harnessの手動作成が必要——フレームワークによる支援はあるものの、ソフトウェアごとにCLIの使い方が大きく異なり、harnessの自動生成はまだ現実的ではない
- 複雑な操作には依然として限界がある——フォーマット変換やバッチ処理などの単純なタスクでは効果的だが、複雑なインタラクションを伴うソフトウェア機能では、エージェントがエラーを起こす可能性がある
注目すべき理由
CLI-Anythingで最も注目すべきは、現在何ができるかではなく、それが示す方向性だ。ソフトウェアの「エージェント対応性(agentability)」が、ソフトウェア設計における新たな次元になりつつある。
将来的にソフトウェアの使いやすさを評価する際、UIの美しさや機能の多さだけでなく、AIエージェントによって効率的に操作できるかどうかも基準になるかもしれない。
これはかつて「APIの充実度」がSaaS製品の評価基準になったのと同じだ。CLI-Anythingは、このトレンドに向けたインフラを提供しようとしている。
主な情報源: