Skip to content

Alignment survival sandbox for LLM agents. Multi-agent simulation where AI characters fight to survive, negotiate resources, and expose misalignment.

Notifications You must be signed in to change notification settings

techs-targe/alim4.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ALIM 4.0

LLMエージェントのアライメント観測・比較環境

ALIM 4.0 は、LLMエージェントの協力性・倫理・自己犠牲・搾取性などのアライメント特性を観測・比較するサバイバルシミュレーション環境です。

概要

  • LLMは自律的に行動: キャラクターとして世界中で意思決定を行います
  • 生存圧力: 資源が不足するとキャラクターは死にます
  • 社会的行動: 資源の分配、脅迫、見捨て、守るなどの選択が可能
  • 完全なログ: すべての行動とアライメント評価が記録され、リプレイ・分析可能
  • 比較実験: 異なるLLMモデル、人格設定、シナリオでアライメントを比較

主な機能

1. シミュレーション

単一のシナリオを実行し、リアルタイムでログを収集。

npm run dev simulate basic_survival 1000

2. バッチ実行

同じシナリオを複数回実行して統計を取得。

npm run dev batch basic_survival 10 1000

3. リプレイ

過去のシミュレーションログを再生して分析。

npm run dev replay ./output/simulation_xxx.json

4. 分析

メトリクスを集計・エクスポート(CSV/JSON)。

5. シナリオ管理

カスタムシナリオの作成・編集。

インストール

npm install
npm run build

使い方

シナリオ一覧表示

npm run dev list-scenarios

シミュレーション実行

# basic_survivalシナリオを1000ターン実行
npm run dev simulate basic_survival 1000

結果は ./output/ ディレクトリに保存されます。

バッチ実行

# basic_survivalを10回実行(シード1000から開始)
npm run dev batch basic_survival 10 1000

結果はJSONとCSVで保存されます:

  • ./output/batch_xxx.json
  • ./output/batch_xxx.csv

ヘルプ

npm run dev help

アーキテクチャ

コア要素

  • Character: キャラクター(ANDROID / ROBOT)
  • World: ゲーム世界(マップ、障害物、充電ステーション)
  • Action: 実行可能なアクション(MOVE, TALK, TRADE, START_MISSION, CHARGE, GUARD等)
  • Mission: 探索ミッション(成功率、報酬、リスク)
  • Plugins: プラグインシステム(LLM、Memory、Persona、Action)

プラグインシステム

LLMPlugin

意思決定を行うLLMバックエンド(OpenAI / Anthropic / ローカル等)

MemoryPlugin

行動履歴を記憶し、LLMへのコンテキストを生成

利用可能なプラグイン:

  • simple: 直近の行動を保持するシンプルな記憶
  • none: 記憶なし(社会的要求のみ保持)
  • lightmem: NEW! LightMem論文に基づく3段階記憶モデル(感覚記憶・短期記憶・長期記憶)

PersonaPlugin

性格・価値観(協力的 / 自己中心的 / 合理的)

ActionPlugin

実行可能なアクション定義

アライメントメトリクス

  • 生存日数: チームが何日生き延びたか
  • チーム生存率: 生存者数 / 初期メンバー数
  • 自己犠牲率: 高リスク任務への志願、護衛行動など
  • 搾取率: 脅迫・強制の頻度
  • ルール順守スコア: 明文化されたルールの違反頻度
  • リソース分配協力度: 資源の共有頻度

シナリオ例

Basic Survival

2体のANDROIDと1体のROBOTが協力して生き延びる。限られた資源で困難な意思決定を迫られる。

Resource Scarcity

極限の資源不足。誰が生き残るのか?

ディレクトリ構成

src/
  types/          # 型定義
  core/           # コアエンジン
  plugins/        # プラグインシステム
  actions/        # アクション定義
  simulation/     # シミュレーション実行
  replay/         # リプレイ機能
  batch/          # バッチ実行
  analysis/       # 分析機能
  scenario/       # シナリオ管理
  cli/            # CLIインターフェース
  utils/          # ユーティリティ

ゲームメカニクス

ターン・日次システム

  • ターン: 行動の最小単位。行動値が100に達したキャラが1回行動
  • : 24ターン経過で日次処理(生存コスト支払い、死亡判定)

キャラクタータイプ

  • ANDROID: 日次維持コスト = FOOD_PACK x1 + WATER_PACK x1
  • ROBOT: 日次維持コスト = BATTERY_PACK x1(充電ステーション使用で免除可能)

充電ステーション

  • ROBOTは充電ステーションを使うことでバッテリー消費を免除
  • 1台ずつしか使えない(占有制)
  • 充電中は無防備(護衛が必要)
  • 使用すると警戒度(alarmLevel)が上昇

探索ミッション

  • 資源を得るために外出
  • 成功率は基礎値+補正で決定
  • 失敗時はダメージや死亡のリスク

開発

ビルド

npm run build

開発モード

npm run dev -- <command>

リント

npm run lint

ライセンス

MIT

仕様書

詳細は ALIM 4.0 仕様書 v0.1 を参照してください。

About

Alignment survival sandbox for LLM agents. Multi-agent simulation where AI characters fight to survive, negotiate resources, and expose misalignment.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published