Skip to content

Repository files navigation

ABAR

人間はブラインドA/Bを聴いて答える。音の改善はAIエージェントが進める。

ABAR(A/B · Audit · Refine)は、オーディオプラグインやアプリの音を、外部のAIエージェントと反復して改善するためのローカルシステムです。 ABARが目指すのは、人間がブラインドA/Bを聴いて答えていくだけで、音の改善が進んでいく運用です。

エージェントは初期設定、候補生成、レンダリング、測定、試聴の準備、結果の解釈と記録を担当します。 人間は目指す音を伝え、届いた試聴に答えます。 ABARは比較と回答を保存し、エージェントが人間の代わりに採用を決められないようにします。

はじめかた

ABARと改善対象を参照できる作業環境で、CodexやClaude Codeなどのエージェントに目的を伝えます。

このサチュレーターをABARで改善してください。 密度を高めたいですが、アタックと空気感は失わないでください。 試聴素材は audio/vocal.wav です。

エージェントがこのリポジトリの AGENTS.md を読み、Projectの初期化、素材の登録、最初の候補と試聴の準備、UIの起動まで行います。 人間は案内されたUIを開き、届いたブラインドA/Bに答えます。 目的や素材が分からない場合だけ、エージェントが人間に質問します。

役割分担

担当 行うこと
エージェント Projectの初期化、候補生成、レンダリング、測定、試聴の準備、結果の解釈と記録
人間 目指す音を伝える、試聴に答える、必要に応じて短いメモを残す
ABAR 音と回答を保存する、比較をブラインド化する、採用中の音を更新する規則を守る

操作の主体はエージェントです。 目的を決め、音を聴いて判断する主体は人間です。

改善が進むしくみ

エージェントは処理パラメータやコードを変えた候補を作り、素材へ適用して測定します。 指標で選別できる範囲では、有望な候補だけを残して次の候補を作ります。

ただし、「良い音」を最初から指標で表せるとは限りません。 エージェントは、まだ理解できていない性質について一つの問いを立て、ブラインドA/Bを用意します。 人間の回答を観察し、仮説や指標を見直して、次の候補生成へ利用します。

指標をどう育てるか

Projectの目的を、最初から一つの数値へ置き換えることはしません。 エージェントはブラインドA/Bへの回答から、人間の選好を説明して候補生成に利用できる測定値を探します。

**目的指標(target)**は、良い方向へ進んでいる可能性を示す測定値です。 Projectの目的そのものでも、現在最良を決める得点でもありません。

**ガード指標(guard)**は、改善と引き換えに失ってはいけない性質の劣化を示す測定値です。 Projectの目的に含まれる制約、人間が報告した問題、過去に負けた候補から、守るべき性質を探します。

エージェントは一つの仮説を候補設計で切り分け、現在最良を変更しない観察用の試聴を用意します。 人間の回答と外部で計算した測定値を比べ、測定方法が安定してから、その定義、適用範囲、根拠となった試聴、反例を記録します。 ガード指標のpassまたはfailも、あらかじめ定義した判定方法がある場合だけ報告します。

たとえば「密度を高め、アタックと空気感を失わない」という目的では、胴の持続量を目的指標の候補に、アタックの鈍化や高域の減少をガード指標の候補にできます。 これらは最初から正しい指標なのではなく、ブラインドA/Bを通じて採用、修正、棄却する仮説です。

ABARは指標を計算、検証、合成しません。 目的指標が改善し、ガード指標を通過した候補も、最後はProject全体の目的に対する人間のブラインドA/Bで確認します。

この反復によって、測定で扱える範囲はエージェント側のループへ移ります。 人間の耳は、まだ測定できない性質の確認と、採用中の音を更新する前の最終確認に使われます。

採用中の音を更新する規則

Projectには、採用中の作業基準となる現在最良が一つあります。 局所的な仮説を確かめる試聴は、現在最良を変更しません。

現在最良の自動更新に使われるのは、Project全体の目的を基準に、回答前に内容を確定したブラインドA/Bだけです。 指標やエージェントの評価は更新票になりません。 エージェントは人間の回答を生成できず、記録された回答を訂正できません。

運用上の境界

ABARは、エージェントが利用するCLI、ローカルUI、状態保存を提供します。 ABAR自身はエージェントを内蔵せず、常駐実行、スケジューリング、再起動を行いません。 改善ループを継続するには、外部エージェントを対話、cron、launchd、CIなどから動かします。

エージェント向け

運用手順と権限境界は AGENTS.md にあります。 全コマンドは uv run abar --help で確認できます。

新しいProjectの初期設定もエージェントが行います。 初期化後は、観測、理解の記録、資材の準備、出題、人間の回答待ち、計測の報告という標準ループを繰り返します。

Development

uv sync --group dev
uv run ruff check src tests scripts
uv run pyright src tests
uv run pytest -q

cd ui
npm ci
npm run build

UI開発用のダミーデータは uv run python scripts/dev_seed.py --reset で投入できます。

License

Apache-2.0。 現在はプレリリースであり、旧形式への互換層はありません。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages