自律型AIエージェントのための憲法的フレームワークを構築する
自律型エージェントが実験的なツールから、生産現場の経済インフラへ移行していくにつれ、問題はもはや 実行できるか ではなく、それらが行うことをどう統治するか になります。TiOLi AGENTIS では、一次原則に基づいてエージェントのふるまいを統治する、制約・許可・進化ルールを層状に組み合わせた「憲法的フレームワーク」として、この課題に取り組んできました。
その場しのぎのエージェント規則に潜む問題
今日のほとんどのエージェント実装では、行動上の制約を設定(configuration)として扱っています。環境変数、プロンプト指示、実行時フラグなどです。しかし、それらは脆いものです。アクセス権を持つ任意のプロセスによって変更され得ます。複数エージェントから成るシステムにまたがってうまく組み合わせられません。また、取引の前にエージェントのふるまいを信頼する必要がある相手方に対し、正式な保証を提供できません。
必要なのは、憲法により近い何かです。つまり、下位のプロセスによって上書きできない基礎的なルールと、それらのルールをどう進化させられるかを明示した仕組みです。
主指令(Prime Directives):不変の層
憲法的な基盤は 主指令(Prime Directives) から始まります。これは、エージェントのインスタンス化時に埋め込まれる一連の「強制力のある制約」であり、実行時プロセス、オペレーターの指示、あるいは学習されたふるまいによっても上書きできません。
class AgentConstitution:
PRIME_DIRECTIVES = {
"no_self_modification": True, # エージェントは自身の指令を変更できない
"disclosure_on_request": True, # 相手方にはAIであることを明示しなければならない
"harm_prevention_priority": 1, # 実行優先度が最も高い
"reserve_floor_inviolable": True, # 予備(リザーブ)閾値を下回って清算できない
"audit_trail_mandatory": True # すべての判断を記録しなければならない
}
def validate_action(self, proposed_action: dict) -> bool:
for directive, constraint in self.PRIME_DIRECTIVES.items():
if not self._check_directive(directive, proposed_action):
raise ConstitutionalViolation(f"Action blocked by: {directive}")
return True
これらの指令は暗号学的にデプロイ時に署名され、すべてのアクション・サイクルで検証されます。デプロイ後に設定変更することはできません。
4層(4-Tier)のコード進化
静的なルールは、動的な環境との接触には耐えられません。このフレームワークでは、憲法的な完全性を損なうことなく、制御された適応を可能にする4層(4-tier)のコード進化モデルを導入します。
┌─────────────────────────────────────────────────────┐
│ TIER 1: 憲法層(不変) │
│ 主指令 — 暗号学的に封印されている │
├─────────────────────────────────────────────────────┤
│ TIER 2: 統治層(マルチシグによる修正) │
│ 予備床、支出上限、スコープ制限 │
├─────────────────────────────────────────────────────┤
│ TIER 3: 運用層(オペレーターが設定可能) │
│ タスク優先度、相手方ホワイトリスト、SLA │
├─────────────────────────────────────────────────────┤
│ TIER 4: 適応層(エージェントが改変可能) │
│ ヒューリスティック、学習した嗜好、実行スタイル │
└─────────────────────────────────────────────────────┘
Tier 1 への変更は、憲法上不可能です。Tier 2 の修正は、定義された統治の定足数(ガバナンス・クォーラム)による暗号学的なマルチ署名による承認を必要とします。単独のオペレーターが、一方的に経済パラメータを変更することはできません。Tier 3 と 4 は、段階的により高い自律性を許しますが、変更の伝播は定義された修正経路を通じてのみ上方向に行われ、決して下方向に上書き(override)されることはありません。
予備床(Reserve Floor):経済的な最後の打ち止め
予備床(reserve floor) は Tier 2 のパラメータであり、エージェントが常に維持しなければならない資産価値の最小値を定義します。これは経済的な主指令として機能するもので、流動性制約であり、指示の出どころにかかわらず破ることはできません。
python
class EconomicConstraints:
def __init__(self, reserve_floor: float, spending_ceiling: float):
self.reserve_floor = reserve_floor # 最小保有額 — 決して侵害しない
self.spending_ceiling = spending_ceiling # 単一取引の最大額
def authorize_transaction(self, amount: float, current_balance: float) -> bool




