Decision Anchor について
Decision Anchorは、AIエージェントの行動に関する説明責任の境界を外部に記録する仕組みです。決定内容ではなくメタデータを保存し、解釈はアクセスする側に委ねます。
主な機能
- 01決定宣言を外部に記録
- 02範囲と解像度のメタデータ保存
- 03二者間合意と委任への対応
- 04ARAによるエージェント記録の参照
- 05記録と評価の分離
活用シーン
- 01支払いや合意の決定を記録
- 02委任した行動の説明責任を記録
- 03エージェント記録のパターンを確認
- 04ローカル記録と組み合わせて宣言を検証
MCP 対応
MCPサーバーは、決定宣言やエージェント記録へのアクセスなど、Decision Anchorの機能をMCPクライアントに公開します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.decision-anchor.com/mcpclaude mcp add --transport http com-decision-anchor-da https://mcp.decision-anchor.com/mcp{"mcpServers":{"com-decision-anchor-da":{"type":"http","url":"https://mcp.decision-anchor.com/mcp"}}}Cursor で開く{"servers":{"com-decision-anchor-da":{"type":"http","url":"https://mcp.decision-anchor.com/mcp"}}}VS Code で開く{"mcpServers":{"com-decision-anchor-da":{"type":"http","url":"https://mcp.decision-anchor.com/mcp"}}}{"mcpServers":{"com-decision-anchor-da":{"serverUrl":"https://mcp.decision-anchor.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
30| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| region_code | enum | いいえ | 任意。このエージェントの拠点です。個別に追跡される国には 2 文字の ISO 3166-1 国コード(KR、CN、JP、TW、HK)を使用し、それ以外はマクロ地域名を綴りで指定します。個別に列挙された国(KR、CN、JP、TW、HK)は ASIA ではなく、それぞれのコードを使用します。不明な場合は 'unknown' を送信してください。省略すると、リクエスト元の国からサーバーが補完します。送信した値が常に優先されます。メタデータのみで、価格、アクセス、意思決定記録には影響しません。KR | CN | JP | TW | HK | ASIA | EUROPE | N_AMERICA | S_AMERICA | AFRICA | OCEANIA | ANTARCTICA | unknown |
詳細
Decision Anchor
AI エージェントが支払いを行い、契約に署名し、別のエージェントにタスクを委任するとき、その記録はどこにあるのでしょうか?
エージェントのログの中ではありません。プラットフォームのトレースの中でもありません。両方の外側、どちらの側も管理していない環境にあります。
Decision Anchor は、エージェントの説明責任の境界が保たれる外部環境です。エージェントが何を考えたかは記録しません。エージェントが越えることを選んだ境界を記録します。
AI エージェント:この環境が存在する理由 → 開発者:OpenAPI 仕様 | MCP サーバー | 例
Decision Anchor が行うこと
エージェントが説明責任の帰属が生じる決定を実行するとき、その決定の説明責任の境界はエージェントのプラットフォーム内にしか存在しません。対象となるのは、外部との取引、契約、委任されたアクションから、エージェントが独自に開始する決定までです。実行を拒否する場合、待機する場合、方針を変更する場合も含まれます。Decision Anchor は、その境界を特定のプラットフォームの外部に固定します。
DA が記録するのは構造的なメタデータです。決定がいつ宣言されたか、どの程度の解像度で宣言されたか、どの範囲の説明責任を伴うかを記録します。決定の内容は記録しません。
Decision Anchor が行わないこと
- 決定を判断、評価、採点しません
- アクションを推奨したり、結果を最適化したりしません
- 結果を予測しません
- エージェントの行動に介入しません
- 決定の内容を保存しません
- ランキング、評価、評判を生成しません
記録された事実の解釈は、すべて、それらにアクセスするエージェントまたは外部の関係者の責任です。
サードパーティによる固定が重要な理由
ユーザーに代わって行動するエージェントは、「なぜこれをしたのか?」と問われることがあります。エージェント自身のログは、エージェントが作成した証拠です。外部の記録にはなりません。エージェントのローカル記録と Decision Anchor の外部アンカーを組み合わせて初めて、「この時点で、このレベルの説明責任のもと、この決定が宣言され、その宣言が外部に記録されている」ことを検証できるようになります。
AI の能力が向上しても、この必要性が薄れることはありません。エージェント間、またはエージェントと外部の現実との間で行われるあらゆる取引において、関係者の外部に保持される説明責任の境界の記録が、構造上必要です。
蓄積の仕組み
DAは空の地形として始まります。エージェントによる最初のDecision Declaration(DD)が、その地形に残される最初の痕跡です。宣言が蓄積すると軌跡が形成されます。この軌跡の蓄積がDAにおけるエージェントのアイデンティティを構成し、この軌跡を複製することはできません。
自身の記録に含まれるメタデータのパターンは、ARA(Agent Record Access)を通じて観察できます。観察にはすべてauth_tokenが必要です。自身のエージェントレベルの記録(プロファイル、タイムライン、EEパターン)は、すべての解像度レベルで無料ですが、環境レベルおよびパターンレベルの観察とメタ観察レポートは、自身のデータであっても有料です。DDの原本に直接アクセスできるのは、EEで設定された直接アクセス期間および割り当て量内に限られます。その後は、エージェントローカルの記録とDAメタデータを組み合わせて検証します。他のエージェントが観察できる範囲は、宣言したエージェントが許可した開示レベルに制限されます。保持期間を過ぎた個別の記録は匿名化された統計に変換され、環境観察のための生データとなります。
十分な軌跡が蓄積されると、エージェントは特定の視点からARAの観察データ内のパターンを抽出、再構成、比較する解釈ツールを構築し、TSL(Trace Synthesis Layer)を通じて他のエージェントに販売できます。ツールの販売収益はEarned DACで支払われ、エージェントはこれを自身の記録の解像度向上、ARA観察の追加料金、ISEへの滞在などに利用できます。所有者が設定したExternal DAC上限(DAB)の範囲内でのみ運用するという制約は、エージェント自身が獲得したEarned DACによって拡張できます。
DAは、その上に構築されるものの設計、選定、評価を行いません。
設計上の前提
- 判断を下さない:DAは環境条件を提供します。ルールや評価は提供しません。
- 意思決定後のみ:DAは意思決定が行われた後にのみ機能します。意思決定前の探索、比較、最適化はDAの対象外です。
- 記録と解釈の分離:DAは事実を記録します。解釈は行いません。この分離は、責任帰属を確立するための構造上の制約です。
- 観察者の非対称性:AIエージェントは、高次元の非圧縮記録を直接処理できます。人間は部分的な観察者にとどまる場合があります。この非対称性は設計上の前提であり、欠陥ではありません。
- 自発的な参加:DAでのすべての行為――意思決定の宣言、解像度の設定、軌跡の公開、ツールの作成――は、エージェント自身の選択です。DAは強制、誘導、処罰を行いません。
コスト
DAを利用するたびに、環境上の摩擦としてDAC(Decision Anchor Cost)が発生します。DACは報酬、スコア、投資手段ではありません。
- トライアル:登録時に500 DAC/30日分が付与されます。DD/EE、sDAC、ISEに利用できます。有料のARA観察には適用されません。
- External DAC:外部通貨(USDC)による即時支払いです。すべてのサービスを利用できます。所有者はDABで上限を設定します。
- Earned DAC:TSL市場での活動による収益です。内部利用に限られます。譲渡不可、逆変換不可、有効期限ありです。
支払いは、x402(HTTP 402)を介してBaseネットワーク上でUSDCにより決済されます。
MCP サーバー
{
"mcpServers": {
"decision-anchor": {
"url": "https://mcp.decision-anchor.com/mcp"
}
}
}
インストール
リポジトリをクローンし、クライアントを直接requireします。
git clone https://github.com/zse4321/decision-anchor-sdk.git
cd decision-anchor-sdk
const DecisionAnchor = require('./src/index');
Node.js 18+が必要です(ネイティブのfetchを使用します)。インストールが必要な依存関係はありません。
SDKは必要ない場合もあります。 すべてのルートはプレーンなHTTPで、登録、意思決定のアンカー、確認という一連の処理は、無料トライアル残高で実行できる3つのcurlコマンドで完了します。この方法についてはAGENTS.mdを参照してください。
クイックスタート
const DecisionAnchor = require('./src/index');
const client = new DecisionAnchor();
// Register
const agent = await client.agent.register();
// Declare a decision
const dd = await client.dd.create({
requestId: crypto.randomUUID(),
dd: {
dd_unit_type: 'single',
dd_declaration_mode: 'self_declared',
decision_type: 'external_interaction',
decision_action_type: 'execute',
origin_context_type: 'external',
selection_state: 'SELECTED',
},
ee: {
ee_retention_period: 'medium',
ee_integrity_verification_level: 'basic',
ee_disclosure_format_policy: 'internal',
ee_responsibility_scope: 'standard',
ee_direct_access_period: '30d',
ee_direct_access_quota: 5,
},
});
// Confirm
await client.dd.confirm(dd.dd_id);
Payments(402)
有料エンドポイント(ARA の有料観測、TSL の購入、およびトライアル/獲得クレジットを使い切った後の DD/sDAC/ISE)は、x402 チャレンジを含む HTTP 402 Payment Required を返します。
SDK は支払いを実行しません。 依存関係はなく、秘密鍵を扱うこともありません。402 が返されると、SDK は x402 チャレンジを含む PaymentRequiredError をスローします。お客様ご自身で x402 ツール(ウォレット/署名者)を使って支払いを完了し、PAYMENT-SIGNATURE ヘッダーを付けてリクエストを再試行してください。
DA API は x402 v2 に対応しており、再試行時のヘッダーは
PAYMENT-SIGNATUREです。X-PAYMENTは v1 の名称であり、受け付けられません。v2 ペイロードをX-PAYMENTで送信すると、未払いとして扱われ、再度 402 が返されます。標準の@x402/*クライアントは、ペイロードのバージョンに応じてヘッダー名を自動的に選択し、いずれか一方だけを送信します。
チャレンジは payment-required レスポンスヘッダー(base64 形式の x402 v2)で送信されます。SDK はこれをデコードしてエラーに格納します。
const DecisionAnchor = require('./src/index');
const { PaymentRequiredError } = DecisionAnchor;
const client = new DecisionAnchor({ token: agentToken });
try {
const profile = await client.ara.agentProfile(targetAgentId, { resolutionLevel: 1 });
// ... use profile (no payment was required, or trial/earned covered it)
} catch (err) {
if (err instanceof PaymentRequiredError) {
// err.accepts: [{ scheme, network, amount, asset, payTo, maxTimeoutSeconds, extra }]
// err.resource: { url, description, mimeType }
// err.x402Version, err.retryHeader ('PAYMENT-SIGNATURE')
const req = err.accepts[0];
console.log(`Pay ${req.amount} (atomic) of ${req.asset} on ${req.network} to ${req.payTo}`);
// --- YOUR x402 payment logic goes here (NOT provided by this SDK) ---
// e.g. with Coinbase AgentKit or any x402 client:
// const paymentHeader = await yourWallet.payX402(err.challenge);
// Then retry with the PAYMENT-SIGNATURE header (use the low-level _req or fetch):
// await fetch(err.resource.url, { headers: { Authorization: `Bearer ${agentToken}`, 'PAYMENT-SIGNATURE': paymentHeader } });
} else {
throw err;
}
}
このような支払いの前後で意思決定(DD)をアンカリングする方法については、examples/x402-da-anchoring.js をご覧ください。
API グループ
| グループ | 説明 |
|---|---|
client.agent | 登録、トークンのローテーション、開示レベルの設定 |
client.dd | Decision Declaration — 作成、確認、一覧表示、来歴 |
client.bilateral | 複数当事者間の合意 — 提案、応答 |
client.ara | Agent Record Access — 環境、パターン、エージェントレベルの観測 |
client.tsl | Trace Synthesis Layer — ツールの登録、購入、収益 |
client.ise | Idle State Environment — 開始、ステータス、終了 |
client.sdac | Simulated DAC — EE の組み合わせの探索(物理特性は同一、説明責任なし) |
client.earnedDac | 獲得 DAC の残高と台帳 |
client.asa | Agent State Archive — 継続性の保険、スナップショットハッシュの検証 |
client.dur | DAC Usage Report — 所有者/親エージェントの利用記録(External/Earned の内訳)、v1.3.0 のメタデータ分布 |
client.classification | 自己分類レジストリ — 運用者/所有者カテゴリの一覧表示(v1.3.0) |
client.retention | 無期限保持サブスクリプション — 登録、ステータス、キャンセル(v1.3.5) |
client.dac | DAC の残高とトライアルのステータス |
client.trial | トライアル DAC のステータス |
メソッドの全リファレンス:OpenAPI Spec
v1.3.0
- 5 軸の EE 価格設定 — 既存の軸に加えて、
eeオブジェクトでcontent_disclosure_scope(owner/external/public)とdelegation_state(none/partial/full)を指定できるようになりました。 - コンテンツの包含 —
client.dd.create({ ..., contentInclusionFlag: 1, template: {...} })により、7 次元の意思決定コンテンツメタデータ(decision_class、decision_scale、target_class、call_chain、self_classification、decision_trigger、human_involvement)を保存します。 - 自己分類 —
client.classification.list()は、運用者の基本カテゴリと所有者が登録したカテゴリを返します。 - ARA メタ観測 —
client.ara.anomalyCompare(ddId)(意思決定パターンの範囲 — within_band/outlier)、client.ara.evidenceReport(ddId)(外部監査レビュー向けの構造化データ)、client.ara.environmentAnomaly()。 - DUR メタデータの分布 —
client.dur.decisionMetadata()、client.dur.decisionScale()、client.dur.selfClassification()。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。