このプロジェクトについて
Adrasteaは、自律的なタスクオーケストレーションのための「共生デュアルエンジン」アーキテクチャを提案するMITライセンスのPythonプロジェクト(3.10+)です。その中心的なアイデアは、予測可能な実行レイヤーと、問題が発生したときにのみ介入する推論レイヤーに作業を分割することです。
**System Alpha — 決定論的実行エンジン**
Alphaは、最初に起動するホストプロセスとして記述されています。ライフサイクルとブートストラップを処理し、環境を検証・安定化させた後にBetaを生成します。その責任範囲には、ローカルスクリプト、バイナリ、タスク定義をディスパッチするタスクスケジューラと、再現可能な実行を重視して標準I/O、エラーログ、プロセス寿命を管理するローカルプログラムランナーが含まれます。
RLプランナーは、レイテンシ、終了コード、リソース利用率、出力の妥当性などの結果に紐づいたスコアリング関数を使用してタスクシーケンスを誘導し、履歴および調整済みウェイトに基づいたパスファインディング・ヒューリスティックを用いて実行ブランチを選択します。また、Alphaはローカル推論ランタイム(`http://127.0.0.1:11434` のOllama)に接続し、パース、フォーマット抽出、ベースラインテキスト分析などのオフラインで低オーバーヘッドな操作を行います。
**System Beta — 確率論的決定および推論エンジン**
Betaは安定化後にAlphaによって生成され、非決定論的な問題に対する決定レイヤーとして機能します。Alphaのテレメトリ、ヘルスメトリクス、タスクの進捗を監視し、Alphaが処理されない例外、環境ドリフト、反復的な失敗状態、または実行ループに陥ったときに介入します。また、BetaはAlphaのRLプランナーで使用される報酬およびペナルティのウェイトを調整し、実行をより生産的なパスへと効果的に方向付ける責任を負います。
Betaは、4つのモードを持つ自律ループを実行します:idle/observe(受動的監視)、triage & unstick(ブロッキング条件の診断)、optimize(完了した実行パスから冗長性を排除)、およびdiscover & innovate(新しいタスクシーケンスと目的の仮説立案)。外部ツールやライブコンテキストのためにModel Context Protocol (MCP) サーバーと統合されており、深い推論、戦略的決定、コード生成、トラブルシューティングのためにフロンティアLLMや外部LLMに相談することが可能です。
**プロセス間通信**
AlphaとBetaは、ドメインソケット、名前付きパイプ、またはメッセージバスなどの低レイテンシ双方向チャネルを介して通信する並行プロセスとして動作し、構造化されたJSONまたはProtocol Bufferエンベロープを転送します。ドキュメント化されている制御信号には、`SIG_SPAWN`、`SIG_HEARTBEAT`、`SIG_SLEEP`、`SIG_WAKE`、`SIG_TELEMETRY`、`SIG_STUCK`、`SIG_INTERRUPT`、`SIG_DISPATCH`、`SIG_MUTATE`、`SIG_TUNE_WEIGHTS` が含まれます。これらは共同で、プロセスのブートストラップ、生存確認(liveness pings)、スリープ/ウェイク遷移、結果報告、スタック状態の通知、タスクの中止、キューへの注入、実行中のパラメータ変更、およびRLウェイトの更新をカバーします。
**Keep-aliveおよびロングスリープモード**
`KeepAliveProcess`コーディネーターにより、CPU、メモリ、およびトークンの使用量を削減するためにシステムを長時間スリープさせつつ、`127.0.0.1:8765` のAlpha IPC TCPサーバー、クライアントチャネル、および `DIRECTIVES.txt` ウォッチャーをアクティブに保つことができます。ハートビート、ウェイク、スリープ、ディスパッチの信号ルーティングは迅速に反応するように設計されており、バックグラウンドのBetaサブプロセスとタスクランナーは監視下に置かれ、予期せず終了した場合は復活します。また、受信したディレクティブやディスパッチ信号は、スリープタイマーを待たずに即座にシステムをウェイクさせます。
**CLI**
READMEには、`python -m adrastea.cli keepalive --sleep-interval 300`、`ping`、`sleep --duration 600`、`wake` などのコマンドが記載されています。前提条件として、ローカルのOllamaサーバー(`qwen3-coder:30b` やより軽量なインストラクションモデルなど)、MCPクライアント設定、PowerShell、Bash、Python、Nodeなどのローカル実行ランタイム、および非同期クロスプロセス・トランスポートが必要です。なお、READMEはアーキテクチャの意図を記述しており、keep-aliveに関する表現に「rudimentary(初歩的な)」という言葉が含まれています。ベンチマークやパフォーマンス数値は提供されていないため、記述されている動作は測定結果ではなく、プロジェクトの設計目標として扱う必要があります。貢献は、`main` ブランチに対するフォーク、フィーチャーブランチ、およびプルリクエストを通じて歓迎されています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.