henryqin1997/statem

CLI runbook for agent long run.

何を解決するか

StateM は、長時間実行される AI エージェントの不安定性を解決し、複雑なワークフローが単一の巨大なプロンプトに崩壊するのを防ぎます。エージェントが目標を忘れ、進捗の検証ができず、プロシージャルな状態がモデルの揮発性のあるチャット履歴にのみ保存されているため、セッションを再開できないという問題を解決します。

動作方法

StateM は、エージェントのワークフローをバージョン管理された「ランブック」(YAML ファイル)に移動するコマンドライン状態機械を実装しています。このランブックは、状態(ノード)のグラフと合法な遷移(エッジ)を定義します。

  • 状態管理: メモリに頼るのではなく、エージェントは CLI に問い合わせて現在の状態、利用可能な遷移、必要なアクションを取得します。
  • 実行可能なゲート: 遷移は「before_transfer」チェック(シェルコマンド、チェックリスト、LLMレビューなど)で保護されており、次の状態に移行する前にこれらのチェックを通過する必要があります。
  • 耐久性のある履歴: すべての遷移、証拠、タイムスタンプがディスクに永続化され、コンテキストのリフレッシュやセッションのクリア後も作業を再開できます。
  • 動的チェック: エージェントは実行時にランブックに事前に定義されていないタスク固有の検証ステップを登録できます。

対象ユーザー

複雑なマルチステップタスク(コード作成やシステムデプロイなど)を実行する自律型 AI エージェントを開発している開発者向けです。信頼性、監査可能性、厳格な検証が求められる場面に最適です。

特徴

  • 明確なフェーズ境界: 計画、実行、レビュー、回復を明確に分離された管理可能な状態として扱います。
  • 実行可能な遷移ゲート: 実世界のチェック(例:pytest の終了コード)を使用して、無効な状態遷移をブロックします。
  • 耐久性のあるランタイム履歴: 状態と結果をローカルに永続化し、コンテキストウィンドウの制限やクラッシュに対してもエージェントが生存します。
  • ホスト非依存: シェルコマンドを実行できる任意のエージェントと互換性があり、Claude Code および Codex との既存の統合も提供されています。
  • コンテキストライフサイクルサポート: 長時間実行されるサイクルワークフロー向けに、再開およびコンパクションプロンプトを生成するためのツールを提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト