**Show HN:** *Axe ― 12 MB のバイナリで、あなたの AI フレームワークを置き換える*

2026/03/12 22:49

**Show HN:** *Axe ― 12 MB のバイナリで、あなたの AI フレームワークを置き換える*

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

概要:
Axe は軽量なコマンドラインインターフェイスで、TOML ファイルに定義された大規模言語モデル(LLM)エージェントを起動・管理できます。Anthropic、OpenAI、および Ollama モデル(Ollama サイドカー経由のローカル)がサポートされ、API キーは

ANTHROPIC_API_KEY
OPENAI_API_KEY
、または
AXE_OLLAMA_BASE_URL
で提供します。エージェントは
$XDG_CONFIG_HOME/axe/agents/*.toml
に配置され、システムプロンプト、モデル、スキルファイル(
$XDG_CONFIG_HOME/axe/skills/*
)、ファイルパターン、作業ディレクトリ、ツール(組み込みのサンドボックス化ツール:
list_directory
read_file
write_file
edit_file
run_command
)および深さ制限と並列実行を備えたサブエージェント委任を指定できます。
永続メモリは
$XDG_CONFIG_HOME/axe/.local/share/axe/
に保存され、自動でタイムスタンプ付きの Markdown ログが作成されます。
axe gc
コマンドでクリーンアップ可能です。CLI は
axe run <agent>
axe agents list/show/init/edit
axe config init/path
axe version
などのコマンドと、
--model
--skill
--workdir
--timeout
--dry-run
--verbose/-v
--json
のフラグを提供します。
Docker イメージはマルチアーキテクチャビルドに対応し、エージェントは非 root コンテナ(UID 10001)内で実行され、読み取り専用のルートファイルシステム、権限削除、およびオプションのネットワーク隔離(
--network=none
)を備えています。設定ディレクトリをマウントするか、Docker Compose プロファイルでローカル Ollama サイドカーを使用して起動できます。
Axe は Unix のパイピングとチェーンの原則に従い、cron ジョブ、Git フック、CI パイプラインなどへの統合が容易です。今後のリリースではプロバイダーサポートの拡張、追加のサンドボックス化ツール、ガベージコレクションの改善、および Docker 隔離の強化を行い、LLM 主導型自動化の迅速なプロトタイピングとエンタープライズグレードデプロイメントを実現します。
ライセンス:Apache‑2.0.

本文

LLM駆動型エージェントを管理・実行するCLIツール


なぜ Axe なのか?

多くの AI ツールは「チャットボット」を想定しています。
大容量のコンテキストウィンドウで長時間にわたる対話を一度に処理できるような設計です。
しかし、良いソフトウェアとは小さく、特化し、組み合わせやすいものです。

  • Axe は LLM エージェントを Unix のプログラムと同じ扱いにします。
    • 各エージェントは「一つのこと」を得意とする。
      • TOML ファイルで定義。
      • 集中したスキルを持たせる。
      • コマンドラインから実行。
  • データをパイプして入力し、結果を出力 します。
  • エージェント同士をチェーンに接続し、cron・git フック・CI などからトリガーできます。

デーモンも GUI もフレームワークも不要です。
バイナリと設定ファイルだけで完結します。


概要

Axe は TOML 設定ファイルで定義された LLM 駆動型エージェントをオーケストレーションします。
各エージェントは以下の属性を持ちます:

  • system prompt
  • モデル選択
  • スキルファイル
  • コンテキストファイル
  • 作業ディレクトリ
  • 永続メモリ
  • サブエージェントへの委譲

Axe は実行者であり、スケジューラではありません。
標準 Unix ツール(cron・git フック・パイプ・ファイル監視)と組み合わせて使用するよう設計されています。


主な機能

  • マルチプロバイダー対応 – Anthropic、OpenAI、Ollama(ローカルモデル)
  • TOML ベースのエージェント設定 – 宣言的でバージョン管理可能
  • サブエージェント委譲 – LLM のツール呼び出し経由で他エージェントを起動;深さ制限と並列実行
  • 永続メモリ – タイムスタンプ付き Markdown ログにより、実行間のコンテキスト保持
  • メモリ GC – LLM を使ったパターン分析で不要データを削除
  • スキルシステム – 複数エージェントで共有可能な再利用指示セット
  • stdin パイピング – 任意の出力を直接エージェントへ渡す
    (
    git diff | axe run reviewer
    )
  • ドライランモード – LLM を呼び出さずに解決済みコンテキストを確認
  • JSON 出力 – スクリプト向けメタデータ付き構造化出力
  • ビルトインツール – ファイル操作(読み込み・書き込み・編集・一覧)、シェルコマンド実行;エージェントの作業ディレクトリにサンドボックス化
  • 最小依存関係 – 直接依存は
    cobra
    toml
    のみ。全ての LLM 呼び出しは標準ライブラリ経由

インストール

Go 1.24+ が必要です。

go install github.com/jrswab/axe@latest

またはソースからビルド:

git clone https://github.com/jrswab/axe.git
cd axe
go build .

クイックスタート

設定ディレクトリを初期化

axe config init

$XDG_CONFIG_HOME/axe/
にサンプルスキルと
config.toml
を作成します。

新規エージェントの scaffold

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/
ディレクトリに実行可能なエージェントが揃っています。
設定ディレクトリへコピーしてください。

cp examples/code-reviewer/code-reviewer.toml "$(axe config path)/agents/"
cp -r examples/code-reviewer/skills/ "$(axe config path)/skills/"

API キーを設定し、実行:

export ANTHROPIC_API_KEY="your-key-here"
git diff | axe run code-reviewer

examples/README.md
に完全なセットアップ手順があります。


Docker

Axe は隔離済みハード化コンテナでエージェントを実行できます。

イメージビルド

マルチアーキ(linux/amd64, linux/arm64)対応は buildx で:

docker buildx build --platform linux/amd64,linux/arm64 -t axe:latest .

エージェント実行

設定ディレクトリをマウントし、API キーを環境変数に渡します。

docker run --rm \
  -v ./my-config:/home/axe/.config/axe \
  -e ANTHROPIC_API_KEY \
  axe run my-agent

stdin をパイプするには

-i
フラグ:

git diff | docker run --rm -i \
  -v ./my-config:/home/axe/.config/axe \
  -e ANTHROPIC_API_KEY \
  axe run pr-reviewer

設定ボリュームをマウントしないと、Axe はコード 2(設定エラー)で終了します。
(エージェント TOML ファイルが存在しないため)

単一エージェント実行

必要なファイルだけをマウント:

docker run --rm -i \
  -e ANTHROPIC_API_KEY \
  -v ./agents/reviewer.toml:/home/axe/.config/axe/agents/reviewer.toml:ro \
  -v ./skills/code-review/:/home/axe/.config/axe/skills/code-review/:ro \
  axe run reviewer

スキルを上書きしたい場合:

docker run --rm -i \
  -e ANTHROPIC_API_KEY \
  -v ./agents/reviewer.toml:/home/axe/.config/axe/agents/reviewer.toml:ro \
  -v ./alt-review.md:/home/axe/alt-review.md:ro \
  axe run reviewer --skill /home/axe/alt-review.md

エージェントが

sub_agents
を宣言している場合、参照されるすべての TOML とスキルもマウントする必要があります。

永続データ

メモリ永続化にはボリュームをマウント:

docker run --rm \
  -v ./my-config:/home/axe/.config/axe \
  -v axe-data:/home/axe/.local/share/axe \
  -e ANTHROPIC_API_KEY \
  axe run my-agent

Docker Compose

ローカル Ollama インスタンスと一緒に Axe を実行するための

docker-compose.yml
が付属しています。

# クラウドのみ(Ollama 未使用)
docker compose run --rm axe run my-agent

# Ollama サイドカー付き
docker compose --profile ollama up -d ollama
docker compose --profile cli run --rm axe run my-agent

Ollama モデルをプル:

docker compose --profile ollama exec ollama ollama pull llama3

注意
Compose の Axe サービスは

depends_on: ollama
を宣言しています。
そのため、クラウドのみの実行でも Compose で起動すると Ollama が自動的に開始されます。
クラウド専用の場合は
docker run
を直接使用してください。

ホスト上の Ollama

Ollama がホスト側で直接稼働している場合、以下のように接続します。

# Linux
--add-host=host.docker.internal:host-gateway -e AXE_OLLAMA_BASE_URL=http://host-docker.internal:11434

# macOS / Windows (Docker Desktop)
-e AXE_OLLAMA_BASE_URL=http://host.docker.internal:11434

セキュリティ

コンテナはデフォルトで以下のハードニングを行います(Compose で)。

設定説明
非 root ユーザー — UID 10001
ルート FS は読み取り専用。書き込み可能なのは設定マウント、データマウント、
/tmp/axe
tmpfs
すべての機能をドロップ (
cap_drop: ALL
)
権限昇格禁止 (
no-new-privileges:true
)

これらの設定はアウトバウンドネットワークアクセスを制限しません。
ローカル Ollama のみと通信するエージェントを隔離したい場合は

--network=none
を指定し、共有 Docker ネットワークに手動で接続してください。

コンテナパス目的デフォルトアクセス
/home/axe/.config/axe/
エージェント TOML・スキル・config.toml読み書き
/home/axe/.local/share/axe/
永続メモリファイル読み書き

設定は読み書き可能です。

axe config init
axe agents init
が書き込みを行うためです。 ただし、エージェントのみ実行する場合は
:ro
マウントで安全にします。


環境変数

変数必須用途
ANTHROPIC_API_KEY
Anthropic を使用時API 認証
OPENAI_API_KEY
OpenAI を使用時API 認証
AXE_OLLAMA_BASE_URL
Ollama 使用時エンドポイント(Compose ではデフォルト http://ollama:11434)
AXE_ANTHROPIC_BASE_URL
任意Anthropic のベース URL を上書き
AXE_OPENAI_BASE_URL
任意OpenAI のベース URL を上書き

CLI 参照

コマンド一覧

コマンド説明
axe run <agent>
エージェントを実行
axe agents list
設定済みエージェント一覧表示
axe agents show <agent>
エージェントの完全な設定を表示
axe agents init <agent>
新規エージェント TOML を scaffold
axe agents edit <agent>
$EDITOR
でエージェントファイルを開く
axe config path
設定ディレクトリのパスを出力
axe config init
デフォルト設定で初期化
axe gc <agent>
指定エージェントのメモリ GC を実行
axe gc --all
メモリ有効エージェント全てに GC を適用
axe version
現在のバージョンを表示

フラグ

フラグデフォルト説明
--model <provider/model>
TOML から取得モデルを上書き(例:
anthropic/claude-sonnet-4-20250514
--skill <path>
TOML から取得スキルファイルパスを上書き
--workdir <path>
TOML または CWD作業ディレクトリを上書き
--timeout <seconds>
120要求タイムアウト
--dry-run
falseLLM を呼び出さずに解決済みコンテキストのみ表示
--verbose / -v
falseデバッグ情報(モデル、タイミング、トークン)を stderr に出力
--json
false出力を JSON エンベロープでラップしメタデータ付きに

エージェント設定

エージェントは

$XDG_CONFIG_HOME/axe/agents/
内の TOML ファイルとして定義されます。

name = "pr-reviewer"
description = "Pull request を問題と改善点をレビューします。"
model = "anthropic/claude-sonnet-4-20250514"
system_prompt = "あなたはシニアコードレビュワーです。簡潔で実用的に回答してください。"
skill = "skills/code-review/SKILL.md"
files = ["src/**/*.go", "CONTRIBUTING.md"]
workdir = "/home/user/projects/myapp"
tools = ["read_file", "list_directory", "run_command"]
sub_agents = ["test-runner", "lint-checker"]

[sub_agents_config]
max_depth = 3       # 最大ネスト深度(硬直最大:5)
parallel = true     # サブエージェントを同時実行
timeout = 120       # サブエージェント単位のタイムアウト

[memory]
enabled = true
last_n = 10         # コンテキストにロードする最後の N エントリ
max_entries = 100   # 超過警告

[params]
temperature = 0.3
max_tokens = 4096

name
model
を除くすべてのフィールドは任意です。


ツール

エージェントはビルトインツールを使ってファイルシステムやコマンドを操作できます。
ツールが有効になると、LLM は対話ループに入り、ツール呼び出し結果を受け取り最大 50 ターンで推論を継続します。

ツール説明
list_directory
作業ディレクトリから相対パスでディレクトリ内容を一覧表示
read_file
ファイル内容を行番号付きで読み込み、必要に応じてページング(offset/limit)
write_file
親ディレクトリを自動生成してファイルを書き換えまたは新規作成
edit_file
正確なテキスト検索と置換(オプションで全置換モード)
run_command
sh -c
を経由してシェルコマンドを実行し、結合出力を返す
call_agent
サブエージェントへタスクを委譲(
sub_agents
設定時に自動で利用可能)

パスセキュリティ
すべてのファイルツールはエージェントの作業ディレクトリにサンドボックス化されます。絶対パス、

..
のトラバーサル、シンボリックリンク脱走は拒否されます。


並列実行

LLM が単一ターンで複数ツール呼び出しを返す場合、デフォルトでは同時に実行します(ビルトインツールとサブエージェント呼び出しの両方)。

[sub_agents_config]
parallel = false
を設定すると無効化できます。


スキル

スキルは再利用可能な指示セットで、ドメイン固有の知識とワークフローをエージェントに提供します。

SKILL.md
ファイルはコミュニティフォーマットに従って定義されます。

スキル解決

エージェント TOML の

skill
フィールドは以下順で解決されます:

  1. 絶対パス – そのまま使用(例:
    /home/user/skills/SKILL.md
  2. 設定ディレクトリ相対 –
    skills/code-review/SKILL.md
    $XDG_CONFIG_HOME/axe/skills/code-review/SKILL.md
    に解決
  3. 単一名 –
    code-review
    $XDG_CONFIG_HOME/axe/skills/code-review/SKILL.md

スクリプトパス

スキルはしばしばヘルパースクリプトを参照します。

run_command
はエージェントの作業ディレクトリで実行されるため、
SKILL.md
内のスクリプトパスは絶対パスである必要があります。相対パスは失敗します。

# 正しい — 絶対パス
/home/user/.config/axe/skills/my-skill/scripts/fetch.sh <args>

# 間違い — 相対パスは作業ディレクトリから解決されず失敗
scripts/fetch.sh <args>

ディレクトリ構成

$XDG_CONFIG_HOME/axe/
├── config.toml
├── agents/
│   └── my-agent.toml
└── skills/
    └── my-skill/
        ├── SKILL.md
        └── scripts/
            └── fetch.sh

プロバイダー

プロバイダーAPI キー環境変数デフォルトベース URL
Anthropic
ANTHROPIC_API_KEY
https://api.anthropic.com
OpenAI
OPENAI_API_KEY
https://api.openai.com
Ollamaなしhttp://localhost:11434

ベース URL は

AXE_<PROVIDER>_BASE_URL
環境変数または
config.toml
で上書き可能です。


ライセンス

Apache‑2.0 – 詳細は LICENSE をご確認ください。

同じ日のほかのニュース

一覧に戻る →

2026/03/13 6:01

「実装したほうがよろしいでしょうか? いいえ。」

## Japanese Translation: **オリジナルの要約は既に明確で正確、簡潔です。修正は不要です。**

2026/03/12 22:42

マルス – サービステクノロジー型クリーンルーム (“Malus – Clean Room as a Service” を自然な日本語に訳したものです。)

## Japanese Translation: ## 要約 このテキストは、企業がオープンソースライブラリを「ロボット再構築版」に合法的に置き換え、帰属表示とコピーレフトの義務を排除できる商業サービスを推進しています。公的なドキュメントと型定義のみを使用してクリーンルーム環境でコードを書き直すことで、同社は各新しいコピーが自動化されたチームによって独立して作成され、元のソースから直接コピーされていないことを保証すると主張しています。サービスは、パッケージの解凍サイズに基づく透明なKB単位課金を提供し、基本料金やサブスクリプションはなく、Stripe処理最低限度が設定されています。支払いはUSD、EUR、BTC、または株式オプションで可能です。npm、PyPI、Cargo、Maven、Go、NuGet、RubyGems、Composer など複数のエコシステムをサポートしていますが、ダッシュボードには現在処理済みプロジェクトもアクティブ顧客もゼロと表示されています。 匿名企業クライアントからのケーススタディでは、AGPL の依存関係削除、$4 M のコンプライアンスコスト節約(サービス料 $50 K と比較)、そして $2.3 B の買収を促進した事例が挙げられています。同社の「MalusCorp Guarantee™」は、リベレートされたコードが元のライセンスに違反した場合、全額返金または国際水域への移転を保証します—これまで一度も発動されたことがありません。 将来的な計画としては、緊急 AGPL 問題に対するラッシュ価格設定、追加パッケージエコシステムへの拡大、および帰属表示要件を排除する独自の MalusCorp‑0 ライセンスの継続的な推進が含まれます。広く採用されれば、企業は制限的なオープンソースライセンスを回避でき、法的リスクとコストを低減し、依存関係管理に関する業界規範を変える可能性があります。

2026/03/13 2:13

**バブルソートされたアメンブレイク**

## Japanese Translation: > **概要:** > 「このアイデアで起きた、今や存在する。かっこいい!」というタイトルの新しいインディーゲームプロトタイプが、itch.ioで*自分で価格を決めてください*タグ付きでリリースされました。Godotエンジンで構築され、HTML5とWindowsで動作し、「AmenSorting (Windows)」(~93 MB) などのダウンロード可能ファイルが含まれています。現在、このゲームは3人のレビューアから5つ星評価を受けています。Music、Music Production、および No AI のタグが付いており、人工知能よりも音声ソートに焦点を当てた内容であることを示しています。ユーザーはログイン後にコメントを残すことができ、一部の人々は並べ替えられたサンプルを再生する機能やソースコードの有無について尋ねています。この無料リリースは音楽制作の趣味家を惹きつける可能性があり、関心が高まればさらなる開発につながるかもしれません。