コンテンツにスキップ

EvoSpikeNet SDK 変更履歴

[!NOTE] 最新の実装状況は 機能実装ステータス (Remaining Functionality) を参照してください。

[2.3.1] - 2026-04-20

📘 ドキュメント更新(分散ASR/Whisper統合)

  • SDK_API_REFERENCE.md に、分散環境でのASR切替(VIDEO_ANALYSIS_ASR_BACKEND)およびWhisper関連環境変数の運用メモを追記
  • SDK_DOCUMENTATION_INDEX.md に新サンプル distributed_video_asr_demo.py を追加
  • Docs/BUILD_GUIDE.md の分散ノード構成に model-server(任意)とWhisper有効化手順を追記

🧪 サンプル追加

  • Docs/sdk/distributed_video_asr_demo.py
  • 複数ノードへのヘルスチェック
  • submit_prompt() / poll_for_result() による分散シミュレーション動作確認
  • --audio-path 指定による音声入力付き検証

⚠️ API互換性

  • SDKの公開メソッドシグネチャ変更はありません(サーバー側構成変更のみ)。

[2.3.0] - 2026-03-19

🧬 Phase E-3 コネクトーム本番化・自動同期

sync_connectome.py — 自動同期パイプライン(E-3-1)

  • apply_delta(base_path, delta_path, result_path): 差分 JSON(added/removed シナプスリスト)を既存 NPZ に適用し、アトミック書き込みで新 NPZ を生成
  • apply_delta_with_validation(base_path, delta_path, result_path, *, rollback_dir, ei_ratio_range): apply_delta に加え、適用後の E/I 比を cell_types ベースで検証。範囲外の場合は rollback_dir にバックアップを作成して ConnectomeSyncValidationError を送出
  • fetch_cave_synapses_with_retry(url, params, max_retries, backoff_factor): HTTP 429 指数バックオフリトライ付き CAVE API シナプス取得
  • fetch_delta_from_cave(config_path, cache_path, cave_url, ...): CAVE API から差分データを取得してキャッシュ保存
  • sync_connectome(config_path, cache_path, output_path, *, dry_run, ...): フル同期オーケストレーター。status: "success" | "dry_run" | "no_update" を返す
  • ConnectomeSyncValidationError: E/I 比バリデーション失敗時の例外クラス
  • CLI: python scripts/sync_connectome.py --cache X.npz --output Y.npz [--dry-run]

brain_routing.py — HCP 遅延アウェア Zenoh ルーティング(E-3-3)

  • compute_delay_matrix(manifest, config_path): HCP 実測値と connectome_config.yamlhcp_delays セクションからノード間遅延行列 {src: {dst: ms}} を生成(0.5–20.0 ms にクランプ)
  • optimize_routing_delays(manifest, delay_matrix): 遅延が小さいほど高優先度とする priority スコア(0→1)を各エッジに付与し、routing_edges リストを降順ソートして返す
  • build_hcp_routing_table(config_path): build_manifest()compute_delay_matrix()optimize_routing_delays() を統合し {delay_matrix, routing_plan, zenoh_topics} を返す
  • HCPDelayRouter(session, config_path): セッションが None でも動作するグレースフルデグラデーション実装
  • load_routing_table(): ルーティングテーブルをメモリにロード
  • apply_hcp_delays(node_id, data): データペイロードに遅延プロファイルを付与
  • publish_delays(node_id): Zenoh トピック brain_routing/delays/{node_id} に発行
  • publish_all(): 全ノード一括発行
  • Zenoh トピック: brain_routing/delays/{node_id}

auto_node_mapper.py — Auto Node Mapper CLI

  • map_connectome(input_path, output_dir, config_path, *, dry_run, seed): コネクトーム JSON/NPZ をノード別 NPZ に分割保存し MappingResult を返す
  • stratified_sample: E/I 比を保持したランダムサンプリング(F-1 準拠)
  • spectral_coarsen: スペクトル縮退(F-2 準拠)
  • 出力: {output_dir}/{node_type}.npz + node_manifest.yaml
  • generate_manifest(output_dir, config_path): 既存 NPZ をスキャンして node_manifest.yaml を再生成
  • MappingResult / NodeMappingEntry: マッピング結果データクラス(to_dict() サポート)
  • node_manifest.yaml スキーマ: {schema_version: "1.0", generated_at, base_dataset, nodes: {node_type: {...}}}
  • CLI: python scripts/auto_node_mapper.py --input X.json --output-dir Y/ [--dry-run] [--seed 42]

evospikenet/evolution_engine.py — 遺伝子 E/I バリデーションフック(E-3-2)

  • _validate_genome() に connectome 遺伝子の E/I 比修復ロジックを追加: gene_type == "connectome" の遺伝子で E/I 比が [3.5, 5.0] 範囲外の場合、inhibitory_count を E/I = 4.25 になるよう自動修復

evospikenet/__init__.py — E-3 公開シンボル追加

  • HCPDelayRouter, compute_delay_matrix, optimize_routing_delays, build_hcp_routing_tablebrain_routing モジュールから公開エクスポートに追加

🧪 テスト追加

  • tests/e2e/test_connectome_e2e.py: E-3-4 全脳 E2E バリデーション(7 クラス 27 テスト)
  • tests/test_auto_node_mapper.py: Auto Node Mapper 単体テスト(10 テスト)
  • tests/test_sync_connectome_integration.py: 差分同期・ロールバック・429 リトライ統合テスト(6 テスト)
  • 回帰テスト修正: _make_celegans_mini_json() の重複エッジ生成バグ修正(adj.nnzdelays.shape の不一致解消)

⚠️ 変更点

  • datetime.datetime.utcnow()datetime.datetime.now(datetime.timezone.utc) に修正(Python 3.12 非推奨警告解消)

[2.2.0] - 2026-03-11

🐛 バグ修正

advanced_mutations.py — 構造変異エンジン整合性修正

  • genome.copy()copy.deepcopy(genome): EvoGenome.copy() メソッドが存在しなかったため、apply_mutations() が毎回 AttributeError で失敗していたバグを修正
  • chromosome.network_topologychromosome.topology: Chromosome データクラスの正しい属性名に全15箇所を修正(ConnectionImportanceAnalyzer を含む)
  • Chromosome コンストラクタ引数修正: _duplicate_module / _fuse_modules 内で使用していた存在しない引数 chromosome_id, network_topologymodule_type, topology, energy_allocation に修正
  • import copy 追加: copy.deepcopy() 使用に必要なモジュールインポートが欠落していたため追加

genome_pool.py — MutationEvent 構造体修正

  • MutationEvent コンストラクタ引数修正: _mutate_genome() 内で存在しないフィールド mutation_type, parameters_changed を使用していたバグを修正。正しい generation, description フィールドに変更

🚀 新機能

GenomePool — 世代自動スナップショット

  • snapshot_manager パラメータ追加: GenomePool.__init__(snapshot_manager: Optional[SnapshotManager] = None)SnapshotManager を注入可能に
  • evolve_generation() 後の自動スナップショット: 世代更新後に snapshot_manager.create_snapshot("post_generation_{N}") を自動呼び出し。失敗時は警告ログのみで継続

MutationEngineAdvancedMutationEngine パイプライン統合

  • advanced_engine パラメータ追加: MutationEngine.__init__(advanced_engine: Optional[AdvancedMutationEngine] = None) で高度変異エンジンをオプション統合
  • mutate_genome() ポストステップ: 基本変異完了後に advanced_engine.apply_mutations(mutated) を呼び出し、10種類の構造変異(レイヤ追加/削除、スキップ接続、プルーニング等)を適用

FitnessEvaluator._evaluate_robustness() — 実装置き換え

  • 以前の状態: 固定値 {noise_resistance: 0.7, failure_tolerance: 0.6, stability: 0.8} を返すプレースホルダー
  • 新実装(brain あり): Gaussian ノイズ注入(σ=0.2)による出力安定性測定 + 中間層の重みを10%マスクした障害許容性測定
  • 新実装(brain なし): スキップ接続数・再帰接続数・層深度による構造的プロキシ推定

rollback.pySnapshotManager 統合

  • rollback_to_snapshot(snapshot_id, manager, target_path) 新関数追加: SnapshotManager からスナップショットIDでメタデータを引き、既存の rollback_version() に委譲。TYPE_CHECKING ガードで循環インポート回避

📚 ドキュメント

  • SDK_API_REFERENCE.md: L5 自己進化 / 自己修復 API セクション追加
  • ADVANCED_EVOLUTION_PHASE5_6.md: 統合コード例を実装済み API に更新

[2.1.0] - 2026-01-23

🚀 新機能追加

AEG-Comm通信最適化統合

  • AEG-Comm通信制御: 3層セーフティアーキテクチャによるインテリジェント通信ゲーティング
  • 通信削減API: get_communication_stats(), set_aeg_comm_config() メソッド追加
  • 分散脳最適化: 分散シミュレーションでの通信効率85-93%削減
  • セキュリティ強化: スパイク暗号化とエラー回復機能

分散脳シミュレーション拡張

  • AEG-Comm設定: 分散脳ノード設定での通信最適化パラメータ
  • 通信統計監視: リアルタイム通信品質と削減率の監視
  • Zenoh統合強化: エラー回復と自動再接続機能

📊 性能改善

  • 分散脳シミュレーションの通信遅延84%削減
  • バッテリー駆動時間3倍延長
  • 通信ボリューム93%削減

[2.0.0] - 2026-01-15

🎉 メジャーリリース

EvoSpikeNet SDKの完全リニューアル版。Plan F Phase 5-6の高度な機能を統合し、分散脳シミュレーションのフルサポートを実現。

✨ 新機能

コア機能拡張

  • 🔄 遅延監視システム: get_latency_stats(), check_latency_target()
  • 💾 スナップショット管理: システム状態の保存・復元・検証・クリーンアップ
  • 📊 スケーラビリティテスト: ノードスケーラビリティとストレステスト
  • 🔧 ハードウェア最適化: モデル最適化とベンチマーク機能
  • 🛡️ 高可用性監視: ヘルスチェック・統計・アラート・メンテナンス
  • 🌐 非同期Zenoh通信: リアルタイム分散通信プロトコル
  • ⚖️ 分散コンセンサス: コンセンサス決定とノード状態管理

開発者体験向上

  • 🔒 完全型安全: 包括的な型ヒントとmypy対応
  • ⚡ 非同期サポート: async/awaitによる非同期処理
  • 📚 Jupyter統合強化: リッチ表示とマジックコマンド
  • 🧪 テストカバレッジ95%: 包括的な単体・統合テスト
  • 📖 ドキュメント完備: APIリファレンス・チュートリアル・開発者ガイド

🔄 変更点

API変更

  • EvoSpikeNetAPIClientクラスのメソッド拡張(25個以上の新エンドポイント)
  • 非同期メソッドの追加(generate_async(), submit_prompt_async()
  • WebSocketクライアントの導入(WebSocketClientクラス)
  • Jupyter統合クラスの強化(JupyterAPIClient

内部改善

  • リクエスト/レスポンスの型安全強化
  • エラーハンドリングの統一(EvoSpikeNetAPIError
  • 統計収集機能の追加
  • 接続プーリングの最適化

📚 ドキュメント

💡 サンプルコード

新しいサンプルコードを追加: - advanced_features_demo.py: 高度な機能の包括的デモ - async_operations_demo.py: 非同期処理のデモンストレーション - 既存サンプルの改善と拡張

[1.5.0] - 2025-12-21

🚀 機能追加

  • マルチモーダル処理: 画像・音声入力対応
  • バッチ処理: 複数プロンプトの一括処理
  • アーティファクト管理: モデル・ログ・設定の管理
  • リモートログ取得: SSH経由のリモートノードログ収集
  • 統計監視: クライアント使用統計の収集

🔧 改善

  • エラーハンドリングの強化
  • リトライメカニズムの実装
  • 接続タイムアウトの最適化
  • メモリ使用量の削減

[1.0.0] - 2025-10-15

🎯 初回リリース

  • 基本的なテキスト生成機能
  • 分散脳シミュレーションとの連携
  • REST APIクライアントの実装
  • Jupyter Notebook統合
  • 基本的なエラーハンドリング

バージョン管理ポリシー

セマンティックバージョニング

このプロジェクトはセマンティックバージョニングを採用しています:

  • MAJOR: 後方互換性のない変更
  • MINOR: 後方互換性のある新機能
  • PATCH: 後方互換性のあるバグ修正

リリースサイクル

  • メジャーリリース: 半年ごと(Plan Fフェーズ完了時)
  • マイナーリリース: 月1回(新機能追加時)
  • パッチリリース: 必要に応じて(バグ修正時)

サポート期間

  • 最新メジャーバージョン: 完全サポート
  • 1世代前メジャーバージョン: セキュリティ修正のみ
  • それ以前: サポート終了

移行ガイド

1.x → 2.0

破壊的変更

  1. コンストラクタ変更

    # 1.x
    client = EvoSpikeNetAPIClient("http://localhost:8000")
    
    # 2.0
    client = EvoSpikeNetAPIClient(base_url="http://localhost:8000")
    

  2. メソッドシグネチャ変更

    # 1.x
    result = client.generate("prompt", 100)
    
    # 2.0
    result = client.generate("prompt", max_length=100)
    

新機能の活用

  1. 非同期処理の導入

    # 同期処理
    result = client.generate("prompt")
    
    # 非同期処理(新規)
    result = await client.generate_async("prompt")
    

  2. 高度な機能の利用

    # スナップショット管理(新規)
    snapshot = client.create_snapshot("backup")
    
    # Zenoh通信(新規)
    client.connect_zenoh("node_id")
    

推奨移行手順

  1. 依存関係更新: pip install -e . --upgrade
  2. コードレビュー: コンストラクタとメソッド呼び出しの確認
  3. テスト実行: 既存テストの互換性確認
  4. 新機能導入: 段階的に高度な機能を導入
  5. パフォーマンス最適化: 非同期処理の活用

今後の予定

2.1.0 (2026 Q2予定)

  • ストリーミング応答: リアルタイムテキスト生成
  • カスタムモデル: ユーザー定義モデルのサポート
  • 拡張Zenoh: 高度な通信パターン
  • パフォーマンス最適化: メモリ使用量のさらなる削減

2.2.0 (2026 Q3予定)

  • 分散学習: フェデレーテッドラーニングサポート
  • モデルマーケットプレイス: 共有モデル管理
  • 高度な監視: 詳細なテレメトリ
  • プラグインシステム: カスタム拡張のサポート

3.0.0 (2026 Q4予定)

  • 量子対応: 量子コンピューティング統合
  • マルチクラウド: 複数クラウドプロバイダ対応
  • 自律最適化: AIによる自動最適化
  • エッジコンピューティング: IoTデバイス対応

貢献者

  • Masahiro Aoki: プロジェクトリード、SDKアーキテクチャ設計
  • EvoSpikeNetチーム: 分散脳シミュレーション統合
  • コミュニティ貢献者: テスト・ドキュメント・サンプルコード

フィードバック

この変更履歴やSDKについてのご質問・フィードバックは、GitHub IssuesまたはDiscussionsまでお願いします。 /Users/maoki/Documents/GitHub/EvoSpikeNet/docs/SDK_CHANGELOG.md