avo
正しい実行
mcp サーバーとして実行されるか、CLI として実行されるかにかかわらず、システムはつねに同じスクリプトを呼び出します。avo は Claude Desktop と Codex の両方でテスト済みですが、avo CLI を呼び出せるエージェントであればどれでも動作します — カスタムスクリプトや手動操作でもかまいません。session モードは、エージェントに完全な会話履歴を提供するため、最も高い成果が得られます。stateless モードは、供給されたプロンプトのみを送信し、エージェントのメモリに依存しません。
execute モードは、エージェントが提供する任意のコマンドを実行します。選択されたコマンドは何でも、作業ディレクトリ内で実行されます。オペレーターは targets/<name>/run.sh を編集することで、このモードのプロンプトをカスタマイズできます。
ソフトウェアエージェントがローカル環境で実行する能力を必要とする場合(ファイルの編集、テストの実行など)、tool モードは Claude Desktop などの MCP 互換クライアントを介して機能します。MCP サーバーはリポジトリルートで起動します。
論文の実験 (§5) の再現は、targets/ ディレクトリにあります。各ターゲットは、独自の知識ベース K、スコア関数 f、シード x_0 を持ちます。スコア関数は進化的プレッシャーを提供し、エージェントは変異演算子として、そのプレッシャーに応答して探索します。main.py の --target フラグでターゲットを選択できます。--list-targets で利用可能なターゲットの一覧を表示します。
既定では、実験はリポジトリのルートにある runs/ ディレクトリに保存されます。再現可能な研究のための設定、ロギング、シードについての詳細は、avo/docs/runs.md と avo/ のソースコードを参照してください。進化的ループ専用に設計された最小限の実験ランナーである GXP は、avo/ ディレクトリにあり、avo --help で確認できます。
再現の実行方法は DRIVING.md、システムの設計は ARCHITECTURE.md、論文の主張と実装の対応関係は docs/mapping.md、関連研究は docs/related-work.md を参照してください。GXP1 GXP2 の対象をリストするには、avo --list-targets を使用します。実行の開始には avo run --name my-run --target game2048 を使用します。
Related MCP server: AgentPrism Workflows
対象者
LLM エージェントを進化的探索ループに埋め込むとどうなるか知りたい研究者
進化的アルゴリズムを LLM エージェントで強化する方法を模索している実務者
ベースラインを破ることを楽しむ人々
対象
Vary(P_t) = Generate(Sample(P_t))Vary(P_t) = Agent(P_t, K, f)Vary(P_t) = Generate(Sample(P_t))Vary(P_t) = Agent(P_t, K, f)Vary(P_t) = Generate(Sample(P_t))Vary(P_t) = Agent(P_t, K, f)Vary(P_t) = Generate(Sample(P_t))Vary(P_t) = Agent(P_t, K, f)Vary(P_t) = Generate(Sample(P_t))Vary(P_t) = Agent(P_t, K, f)git clone https://github.com/gatordevin/avo
cd avo
pip install -e ".[all]" # or: pip install -e . for the core only
avo doctorpython3 -m venv --system-site-packages .venv
.venv/bin/pip install -e ".[all]"
.venv/bin/avo doctorclaude mcp add avo -s user -- python3 -m avo.mcp_server
# from a virtualenv, point at its interpreter:
claude mcp add avo -s user -- /path/to/avo/.venv/bin/python -m avo.mcp_servercp -r .claude/skills/avo ~/.claude/skills/avocodex mcp add avo -- python3 -m avo.mcp_serveravo start --target game2048 # seeds x0 and prints the first prompt
# ... edit runs/<id>/work/, run runs/<id>/avo-eval as often as you like ...
avo submit -m "expectimax depth 2 with a positional weight matrix"
avo prompt # the next step's prompt
avo status
avo plot -o trajectory.pngクイックスタート
runs/<run-id>/
work/ the candidate x_t — a standalone git repo whose history IS the lineage
.avo/scores.jsonl every committed version's full score vector
kb/ the knowledge base K, copied in so paths are stable
avo-eval f, as a zero-argument shim the agent can call at will
NOTES.md scratch space that survives across steps
trajectory.jsonl every step, accepted or rejected
rejected/ the diff of each rejected candidate, kept for the record
logs/ evaluator and agent logsコミットポリシー
avo run --target attention_c --backend claude_cli --max-steps 40 --time 12h
avo run --resume runs/attention_c-20260321-091500 --time 24h論文との対応
論文 (§3) | このリポジトリ |
変異演算子 |
|
知識ベース |
|
スコア関数 |
|
履歴ヒートマップ | コミット履歴 — 各コミットのメッセージにはスコアベクトルが含まれる |
実装
Python 3.10+、標準ライブラリのみ (MCP サーバーは
mcpパッケージを使用)LLM は MCP または CLI 経由でアクセスされる
claude、opencodeなどを使用各実行は自己完結型の git リポジトリで、
refs/heads/mainに経過が記録されるエージェントは作業ツリー内のあらゆるファイルを編集できる
各ステップの後に、スコア関数が評価され、その結果が
run.mdに記録される
実行
f(x) = (f_1(x), …, f_n(x)) — ベンチマーク構成ごとに 1 つの数値を返し、幾何平均が最大化されるスカラーである。これが、構成単位の動きを診断可能にする。n1024 に効いて n128 に悪影響を与える変更は、勝利ではなくブロッキング問題であり、集約値だけではその問題は見えなくなる。
スーパーバイザー
論文 §3.3: 長時間の自律実行は2つの形で失敗する。エージェントが現在の攻め手を尽くして行き詰まるか、失敗を繰り返す編集の非生産的なサイクルに入るかだ。新しいベストが出ないまま N ステップ(デフォルト3)経過すると、AVO は停止して方向転換(リダイレクト)を求める。すなわち、軌跡全体をレビューし、具体的で異なる複数の最適化の方向性を提案する。そのリダイレクトは次のバリエーションプロンプトに強い事前情報として注入され、ちょうど1ステップで消費される。
セッションモードでは、スーパーバイザーは同じセッションが別の役割を被るだけで、実際に使うのに十分な低コストだ。未監視モードでは、読み取り専用の意図を持つ別エージェントの実行になる。
軌跡
avo plot は論文の図 5/6 を描画する。実行中ベストの幾何平均をステップ関数として、各新ベストに塗りつぶしの丸、構成別の点線カーブ、ベースラインを水平線として表示する。論文と同じ注意点として、これはコミットされた系列を示しており、コミット間に探索された内部の探索木は示さない。
未監視モード
論文の設定、すなわちオペレーターが起動されたエージェントで誰も監視しない状況を再現するには:
avo run --target attention_c --backend claude_cli --max-steps 40 --time 12h
avo run --resume runs/attention_c-20260321-091500 --time 24hバックエンド: claude_cli(Claude Code ヘッドレス — 論文のエージェントへの最も近似)、 api(Messages API 上の自己完結型エージェントループ、API キーのみを持つ人向け)、agent_sdk(claude-agent-sdk 経由のインプロセス)、 mock(モデルなしで機構をテストするためのシェルコマンド)。
これは毎ステップでクォータまたはクレジットを消費する。セッションモードは消費しない。
独自のターゲットを追加する
ターゲットは、target.yaml、シードプログラム、ナレッジベース、評価器を含むディレクトリである。評価器はどの言語の実行可能ファイルでもよい。契約全体は、stdout 上の1つの JSON オブジェクトである:
{"correct": true,
"metrics": {"config_a": 1520.3, "config_b": 1477.0},
"error": null,
"notes": "shown to the agent"}correct がゲート。metrics がスコアベクトル。最大化されるスカラーは、明示的な primary が与えられない限り、それらの幾何平均である。
name: my_target
description: One line, shown in `avo targets`.
seed: seed # copied to work/ as x_0
knowledge_base: kb # copied to the run dir as K
entrypoint: kernel.c # informational, used in prompts
evaluate:
command: ["python3", "{target}/eval.py", "--workdir", "{workdir}"]
timeout: 30m
baselines: # optional, measured once before evolution starts
command: ["python3", "{target}/eval.py", "--baselines"]
score:
direction: maximize
agent:
goal: |
What the agent is actually trying to do, and what the trade-offs are.完全な契約は docs/TARGETS.md を参照。最小の実動例は tests/fixtures/toy/ にある。
ナレッジベースは実際の努力に値する。それは Agent(P_t, K, f) における K であり、タイル化を第一原理から10ステップで再発見するエージェントと、2ステップで到達するエージェントとの差になる。
忠実な点と、そうでない点
忠実なもの:
オペレーター定式:
Vary(P_t) = Agent(P_t, K, f)— ファイル編集、シェルアクセス、永続メモリを持つ実際のコーディングエージェントであり、タスク固有の変更は一切与えられない単一系統の継続的進化と git バージョンで管理された状態(§3.1)
正解ゲートと n 次元のスコアベクトル(§3.1)
「一致または改善」のコミットポリシー。失敗した試行は系統から除外される(§3.2)
停滞と非生産的なサイクルに対するスーパーバイザー介入(§3.3)
ベンチマーク構成を横断する幾何平均集約と、図 5/6 の軌跡
忠実でないものは、意図的にそうしていある:
ハードウェア。 は GPU B200 上で cuDNN と FlashAttention-4 を相手に attention カーネルを進化させている。
attention_cは、CPU 上で NumPy/BLAS との同じ問題である。最適化の転送ができるのは種別(タイルリング、オンライン softmax、ベクトル化、スケジューリング)であり、規模ではない。スケール。 論文は7日間、40のコミット版、500以上の探索方向で実行した。セッションモードの 10〜20 ステップは、デモであって再現ではない。
集団構造。 論文と同じく、オペレーターを分離するために単一の系統のケースを実装している。アーカイブ型・島型の方式はこの定式と互換性があるが、実装されてはない。
リポジトリ構成
src/avo/
types.py Score, LineageEntry, the correctness gate, geomean
config.py target specs and run configuration
lineage.py P_t as git history
scoring.py f as an external process
knowledge.py K
prompts.py the variation and supervisor prompts — the whole framework/agent interface
run.py run state: seed, evaluate, commit policy, trajectory
session.py driver: the session you already have is the operator
loop.py driver: unattended, spawns an agent per step
mcp_server.py the same operations as MCP tools (no dependencies)
cli.py the same operations as subcommands
plot.py Figure 5/6
agents/ backends for unattended mode
targets/
game2048/ policy evolution under a time budget
attention_c/ kernel evolution — the paper's domain, on a CPU
examples/
attention-decode-run/ beats Apple's own fused kernel by changing the maths
attention-c-run/ CPU kernel evolution, with an honest baseline caveat
attention-metal-run/ GPU prefill — every CUDA instinct measured worse
game2048-run/ policy evolution — 50x the seed
docs/
PAPER_MAP.md every section of the paper, and where it lives in the code
TARGETS.md the evaluator contract
DRIVING.md how to drive a run from Claude Code, Codex, or a shell
AGENTS.md cross-agent instructions (read automatically by Codex)
.claude/skills/ the `/avo` skill for Claude Code引用
これは独立した再現実装である。原著を引用すること:
@article{chen2026avo,
title = {AVO: Agentic Variation Operators for Autonomous Evolutionary Search},
author = {Chen, Terry and Ye, Zhifan and Xu, Bing and Ye, Zihao and Liu, Timmy
and Hassani, Ali and Chen, Tianqi and Kerr, Andrew and Wu, Haicheng
and Xu, Yang and Chen, Yu-Jung and Chen, Hanfeng and Kane, Aditya
and Krashinsky, Ronny and Liu, Ming-Yu and Grover, Vinod and Ceze, Luis
and Bringmann, Roger and Tran, John and Liu, Wei and Xie, Fung
and Lightstone, Michael and Shi, Humphrey},
journal = {arXiv preprint arXiv:2603.24517},
year = {2026}
}Apache-2.0 でライセンス.private。NVIDIA とは提携しておらず、NVIDIA の支援も受けていません。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI-powered code review and improvement, including analysis, refactoring suggestions, and automatic test generation, with an optional agentic loop for iterative refinement.MIT
- AlicenseNot gradedqualityAmaintenanceRun dynamic, multi-agent workflow scripts — agent(), parallel(), pipeline() — over real coding agents (Claude Code and OpenAI Codex), with deterministic journaling, resume, token budgets, and git-worktree isolation.2Apache 2.0
- FlicenseNot gradedqualityCmaintenanceEnables AI coding agents to plan, build, and review websites and product interfaces with a persistent, user-led process, including design direction, component contracts, and implementation review.
- AlicenseBqualityAmaintenanceLocal-first Agent OS that wraps Claude Code, Codex CLI, and other coding agents in a replayable Seed → Ledger → Runtime contract, driven by an interview → seed → execute → evaluate → evolve workflow loop.345,634MIT
Related MCP Connectors
Adaptive plan/build/review cycles for AI coding assistants, persisted across sessions.
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
Persistent cloud development environments that coding agents create, run and test software in.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gatordevin/avo'
If you have feedback or need assistance with the MCP directory API, please join our Discord server