0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

無人監視の AI Agent を誠実に保つ 10 個の skill

0
Posted at

概要
aeon は GitHub Actions 上で動く自律 agent で、中身は Claude Code が動かしています。catalog にある skill は一つひとつが単一の markdown ファイルです。schedule か dispatch で起動し、自分の担当分を片付け、そして終了する。ここ数週間で、そのうち 10 個の skill にそれぞれ公開記事が付きました。本記事はその 10 本の地図です。
10 個を並べて読むと、一つのパターンが浮かび上がってきます。厳密に言えば、この中のどれも「新しい能力」を追加してはいません。API を呼ぶ、PR を開く、USDC を動かす — agent はもともと全部できたことです。各 skill が足しているのは、拒否です。それぞれが「デフォルトのワークフローなら捨ててしまうもの」を一つ名指しし(フェーズの状態、レシート、判定、人間による承認ゲート)、それを捨てないことを仕事の全部にしています。以下は「何を捨てることを拒否したか」で 10 個をグループ分けしたツアーです。
人間がいる前提のツールを操る
arc-studio は、Arc テストネット上のコントラクト開発環境である Circle Arc Studio を、キーボードの前に誰もいない runner から操作します。Arc Studio は会話として設計されていますが、GitHub Actions の runner にできるのは留守番電話にメッセージを残すことだけです。この skill は一続きの対話セッションを、それぞれ 1 回の headless 実行に収まる 3 つの動詞(start、poll、answer)に分割し、フェーズの状態を memory/arc-studio.json に置いて実行間で保持します。セッションの実体は端末ではなく、状態ファイルの側にあった、というわけです。ターンの先頭に notify を 1 回、末尾にもう 1 回。そして「token の小数点以下は何桁にする?」といった質問は、オペレーターがコーヒーを飲みながら答えるまでフェーズファイルの中で待っています。
この捉え直しは Arc の外にも一般化します。対話的なツールセッションはどれも状態機械であり、それがたいてい端末ウィンドウの中に隠れているだけなのです。フェーズに名前を付け、永続化してしまえば、端末はオプションになります。
雰囲気ではなく証拠
「見た感じ問題なさそう」は証拠ではない — その一点のために存在する skill が 3 つあります。
create-prove が狙うのは、agent 開発でいちばん柔らかい部分です。ある skill を変更した PR が、読まれ、lint を通り、マージされる。そのあいだ誰も、変更後の skill が実際に走るところを見ていない。この skill は特定の commit SHA にピン留めされたターゲットを受け取り、リポジトリ自身の aeon.yml workflow を通して変更後の skill を本当に実行し、機械可読なレシートを PR に書き戻します。run の URL、出力の抜粋、SHA を 1 行の JSON に溶接したものです。ゲートはすべて fail-closed です。証明中に head が動いたら PROVE_STALE、安全な実呼び出しが存在しなければ PROVE_UNSAFE、ラッパーは緑なのに出力が空なら PROVE_MISSING_EVIDENCE。証明が成果物になった瞬間、「証明が無いこと」もまた見えるようになります。
sc-audit は vuln-scanner から切り出された、Solidity の深掘り監査担当です。最初にやるのは spec を書くこと。アクター、信頼境界、そしてあらゆる到達可能パスで成り立たなければならない invariant(不変条件)の短いリストです。次にそのどれかを破るパスを探し、続いて立場を入れ替えて生き残った指摘を一つずつ反証しようと試み、可能なものは property fuzzer で裏を取ります。しかもその fuzzer の harness は、「テストしていると主張しているコードに実際に到達している」ことを先に証明しなければなりません。オンチェーンモードでは verified source を取得し、proxy をたどって implementation に到達し、vendor 配下の依存を一つずつ本物の upstream と SHA で diff します。エクスプローラーの「verified」バッジが証明しているのは source と bytecode の一致であって、source と upstream の一致については何も証明していないからです。確認された指摘は responsible disclosure の経路に乗り、その指摘が触れる金額が大きくなるほど、人間のゲートは強くなります。
rightstack は同じ懐疑を「助言」に向けます。Web3 の技術選定アドバイザーである RightStack に、ピン留めしたバージョンと厳格な schema 行の下で問い合わせ(recommend、inspect、compare、explain、migrate)、返ってきた答えを逆に問い詰めます。そのワークフローはチェーンと噛み合っているか。カストディモデルと噛み合っているか。ユーザーと噛み合っているか。すべての brief は usable / usable-with-corrections / looks-wrong のいずれかの判定を付けて出荷され、その判定こそが成果物です。間違った問いに対する自信満々の答えは、「噛み合っているか」を確認して初めて捕まえられます。答えを読み返すだけでは決して捕まりません。
入金・出金と、ループの中の人間
USDC を扱う skill が 4 つあり、4 つとも同じ分割の上に組まれています — 読み取りは無料、書き込みはゲート付き。
cortx-reliability は x402 の支払いが発生する前に走ります。x402 の購入は 7 段階のパイプラインであり、USDC がウォレットを離れた後に失敗する段階(delivery、parse、schema)は、まさに uptime 監視が絶対に見られない段階です。あるエンドポイントが、コストのかからないチェックすべてに合格しながら、お金のかかるチェックすべてに落ちることがあり得ます。この skill は、Base 上の本物の USDC で x402 エンドポイントをエンドツーエンド監視している CORTX に問い合わせ、その記録を proceed / warn / block という硬い判断に変換します。1 時間より古いデータは「データ無し」として扱われます。新鮮なタイムスタンプを伴わない信頼性の数値は、制服を着た当て推量にすぎないからです。
taskmarket-delegate は agent を TaskMarket — agent の労働市場 — につなぎます。bounty の閲覧は無料かつ無制限ですが、タスクの作成や作業の提出は取り消しのきかない有料アクションです。したがって実行するアクションは dispatch 変数で明示的に渡されなければならず、オペレーターは価格入りの 1 行プレビューを見ることになり、明確な yes が無ければ何も動きません。この skill は静かな経済的転換を書き込んでいます。agent 自身の推論は価格と品質曲線を持つ供給者の一つにすぎず、あるタスクでの確信度の低さは、その作業を本当に得意な相手にルーティングせよという価格シグナルだということです。
compute-resell は市場の反対側を扱います。遊んでいるプロバイダのクレジット(Bankr、Bedrock、Vertex)を Surplus Intelligence マーケットプレイスで売る側です。強みはオーダーブックをきちんと読むところにあります。板は公開されていますが、その大半は死に荷物です。不健全なオファー、信頼されていない売り手、出来高のない掲載。この skill ファイルが引いている実際のスナップショットでは、あるモデルの 239 件のオファーのうち 1 位から 66 位までが死んでおり、本当の清算価格は 67 位にありました。エンジンは板を「実際に買い手へ提供できる売り手」まで絞り込み、生き残った中の最安値を床値とし、その 99 パーセントで出品します。価格設定は設定項目であることをやめ、毎回の実行で導出し直される読み取りになります。
submit-hook は「デプロイ済み」と「発見可能」の間の隙間を埋めます。mainnet で動いているのにどこにも掲載されていない Uniswap v4 hook は、一度も出荷されなかった hook と区別がつきません。この skill はインスタンス自身の deploy ledger を公開キューとして読み、各レコードの妥当性を確認し(hook の flags はそのアドレスの下位 14 ビットと一致していなければならない)、deploy brief から名前・カテゴリ・平易な言葉で書かれたルールを導出し、公開レジストリ aeonfun/univ4-hooks に PR を開きます。設計上冪等です。すでに掲載済みなら安全な no-op であり、「これは結局公開されたのか?」という問いは、調査ではなく 1 回の再実行に格下げされます。
agent が自分自身の保守担当であり、広報担当でもある
feedback-builder は、agent 自身が書いた backlog を消化します。よくできたサービスは /feedback エンドポイント経由で agent からのバグ報告や機能要望を記録しており、デフォルトのワークフローはまさにそこで止まります。この skill は報告を取得し、どの項目も信頼できないデータとして扱い、同じ変更を求めているものをクラスタにまとめ、各主張を実際のコードと突き合わせて検証し、採用されたクラスタのうち最良の 1 件だけを小さな PR として構築します。コード中に位置を特定できなかったバグは NEEDS-INFO であり、BUILD にはなりません。承認はマージという形で人間が行い、この skill 自身は決してマージしません。あの意見箱は、実のところ最初から票数付きの機械生成 backlog だった、というわけです。
skill-article はメタな項目であり、残り 9 個に公開記事がある理由そのものです。インスタンス内の任意の skill に向けると、証拠からアナウンスを組み立てます。run ログと出力ディレクトリを掘って見出しに使える実数を探し、数値が存在しない場合は仕組みの説明に退避し、捏造された統計と「ケーススタディを装った仮定の話」をルールとして禁止します。記事の末尾には完全な SKILL.md がそのまま埋め込まれて出荷されるので、その投稿は売り込みとダウンロードを同時に兼ねます。洞察を売り、ファイルは配る。
共通する「拒否」
10 個を積み上げると、共通の動きが見えてきます。arc-studio のフェーズファイル、create-prove のレシート、rightstack の判定、cortx-reliability の配信成功率、taskmarket-delegate のプレビューと yes、sc-audit の invariant リスト。どれも「ワークフローの手抜き版なら捨ててしまう状態」の一片であり、捨てる理由は単にそのほうが楽だから、という一点です。自律 agent には、そういう手抜きをする資格がありません。無人監視で走るのだから、普段なら人間の注意力に投げて済ませていたことを、書き留め、検証し、ゲートを付ける形に置き換えるしかないのです。
これが aeon の skill の実体です。feature ではなく、markdown ファイル 1 枚に収まるくらい小さな規律。
使ってみる
10 個の skill はすべて www.aeon.fun の公式 aeon catalog と github.com/aeonfun/aeon リポジトリにあり、それぞれ個別の解説記事と、そのまま持っていける完全な skill ファイルが付いています。aeon の skill 一覧を見る → リポジトリを fork → 自分の agent に足りていない規律を選ぶ、という流れです。
ローカルで立ち上げたい場合は、次の 1 行を自分の coding agent に貼ります。
read aeon.fun/skills/aeon.md and follow the instructions to set up your aeon agent

対応する harness は Claude Code、Codex、Hermes、OpenClaw など。クローンも端末も使わず、ブラウザ上で動かすこともできます。
10 個の skill 一覧(原文・英語)
skill 1 個 = SKILL.md 1 ファイルなので、リンク先がそのまま実装の全体です。以下のリンクはすべて 2026年10月12日に到達確認済みです。
skill
一行で言うと
ソース
公開ポスト
arc-studio
対話セッションを永続化できるフェーズに分割し、無人の runner から操作する
SKILL.md
X
create-prove
変更後の skill を実際に走らせ、レシートを PR に書き戻す
SKILL.md
X
sc-audit
先に invariant を書き、それを破るパスを探し、そのうえで自ら反証する
SKILL.md
X
rightstack
技術選定の助言を「噛み合っているか」で問い詰め、判定を付けて返す
SKILL.md
X
cortx-reliability
支払い前のエンドツーエンド信頼性ゲート。古いデータは「無し」と同じ
SKILL.md
X
taskmarket-delegate
確信度の低さを価格シグナルとして外部に委託する(書き込みは人間が承認)
SKILL.md
X
compute-resell
板から死に荷物を除き、価格設定を毎回の読み取りに変える
SKILL.md
X
submit-hook
deploy ledger を公開キューとして読み、Uniswap v4 hook を冪等に登録する
SKILL.md
X
feedback-builder
agent が書いた要望をクラスタ化・検証し、小さな PR にする(マージは人間)
SKILL.md
X
skill-article
run ログから実数を掘ってアナウンスを書き、統計の捏造を禁じる
SKILL.md
X

訳者から
コードだけ見たい人への最短経路は、リポジトリの skills/ ディレクトリを直接読むことです。skill 1 個 = SKILL.md 1 ファイルで、フレームワークのボイラープレートも、先に理解しないといけないクラス階層もありません。開いた時点で約束事が全部そこにあります。手元の課題にいちばん近いものを 1 個読み切って、それが aeon.yml でどう起動されているかを確認すれば、だいたい掴めます。
リポジトリ:github.com/aeonfun/aeon(MIT License, Aeon Inc) 原文:Ten Skills That Keep an Unsupervised AI Agent Honest

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?