概要
Axeは、LLMエージェントをUnixプログラムのように扱うCLIツール。 エージェントはTOMLで定義し、小さく、集中し、組み合わせ可能。 標準入力パイプやcron、CIなど既存ツールと連携可能。 DockerやMCPサーバーにも対応し、多様な運用が可能。 PythonやGUI不要、Go製の軽量バイナリで完結。
Axeとは何か
- LLMエージェント をCLIから管理・実行できるツール
- TOMLファイル でエージェントを定義し、各エージェントは特定の役割に集中
- Unixの哲学 を継承し、「1つのことをうまくやる」エージェント設計
- 標準入力パイプ や cron, git hooks, CI など、既存の開発フローとの統合
- デーモン不要、 GUI不要、 フレームワーク依存なし の設計
- 12MBバイナリ、 Go製、最小限の依存関係のみ
主な特徴
- マルチプロバイダー対応 :Anthropic, OpenAI, Ollama(ローカルモデル)
- TOMLベースの宣言的エージェント定義 :バージョン管理も容易
- サブエージェント呼び出し :エージェント同士の連携、深さ制限・並列実行
- 永続メモリ :Markdownログによる過去コンテキストの保持
- メモリGC :LLMによるパターン解析とトリミング
- スキルシステム :SKILL.mdによる再利用可能な指示セット
- 標準入力パイプ対応 :他ツールからの出力を直接エージェントに渡す
- ドライランモード :LLM呼び出し前のコンテキスト確認
- JSON出力 :スクリプト連携用の構造化データ
- 組み込みツール :ファイル操作やシェルコマンド実行
- MCPツール対応 :外部MCPサーバーと連携可能
- 最小依存 :cobra, toml, mcp-go-sdk, x/netのみ
インストール方法
- Go 1.24+ 必須
- go install github.com/jrswab/axe@latest でインストール
- ソースビルドも可能(git clone & go build)
クイックスタート
- 設定ディレクトリ初期化 axe config init
- 新規エージェント作成 axe agents init my-agent
- 設定編集 axe agents edit my-agent
- エージェント実行 axe run my-agent
- 他ツールからパイプで入力 git diff --cached | axe run pr-reviewer cat error.log | axe run log-analyzer
例とサンプル
- examples/ ディレクトリに即利用可能なエージェント例を収録
- コードレビュアー、コミットメッセージ生成、要約など
- APIキー設定後、サンプルエージェントをコピーして即利用可能
Dockerでの利用
- Dockerイメージ提供、隔離環境での実行が可能
- 設定・データディレクトリをマウントし、APIキーを環境変数で渡す
- 標準入力パイプも -i フラグで利用可
- docker-compose.yml も用意されており、Ollama連携やクラウドプロバイダー利用も容易
- セキュリティ強化設定(非root, 読み取り専用rootfs, cap_drop, privilege escalation無効)
エージェント設定(TOML)
- agents/ ディレクトリにTOMLファイルで定義
- name, modelは必須。他は任意
- system_prompt, skill, files, workdir, tools, sub_agents, memory, mcp_servers, paramsなど細かな設定が可能
組み込みツール一覧
- list_directory:作業ディレクトリ内のディレクトリ内容一覧
- read_file:ファイル内容を行番号付きで取得
- write_file:ファイル新規作成・上書き
- edit_file:ファイル内テキスト置換
- run_command:シェルコマンド実行(sh -c)
- call_agent:サブエージェント呼び出し(sub_agents設定時)
パス・セキュリティ
- ファイル操作は 作業ディレクトリ内にサンドボックス化
- 絶対パス、..トラバーサル、シンボリックリンク逃避は拒否
MCPツール連携
- [[mcp_servers]]でMCPサーバーを宣言
- サーバー起動時に利用可能なツールを自動検出し、LLMから利用可能に
- 名前が被った場合は組み込みツールが優先
スキル(SKILL.md)
- エージェントにドメイン知識やワークフローを与える再利用可能な指示セット
- community SKILL.md形式に準拠
CLIコマンド一覧
- axe run <agent>:エージェント実行
- axe agents list:エージェント一覧表示
- axe agents show <agent>:エージェント設定詳細表示
- axe agents init <agent>:新規エージェントTOML作成
- axe agents edit <agent>:TOML編集
- axe config path:設定ディレクトリパス表示
- axe config init:設定ディレクトリ初期化
- axe gc <agent>:エージェントのメモリGC
- axe gc --all:全エージェントGC
- axe version:バージョン表示
よく使うフラグ
- --model <provider/model>:モデル上書き
- --skill <path>:スキルファイル上書き
- --workdir <path>:作業ディレクトリ上書き
- --timeout <秒数>:タイムアウト設定
- --dry-run:LLM呼び出しせずにコンテキスト確認
- --verbose/-v:デバッグ情報出力
- --json:JSONラップ出力
環境変数
- ANTHROPIC_API_KEY:Anthropic利用時必須
- OPENAI_API_KEY:OpenAI利用時必須
- AXE_OLLAMA_BASE_URL:Ollama利用時必須
- AXE_ANTHROPIC_BASE_URL, AXE_OPENAI_BASE_URL:各APIエンドポイント上書き用
まとめ
- Axeは「小さく・集中・組み合わせ可能」なLLMエージェント実行環境
- CLI/Unixツールとの親和性が高く、既存の開発フローに簡単統合
- Python不要、GUI不要、Go製の高速・軽量バイナリ
- DockerやMCPサーバーとの連携もサポートし、柔軟な運用が可能
- AIエージェントを活用した自動化やワークフロー改善に最適