Muse Code 日本語ガイド

当サイトは Muse Code の利用者が運営する非公式の情報サイトです。Meta Platforms, Inc. とは関係がありません。「Muse Code」「Meta」は各社の商標です。

イベントログの構造 — 「再開できる」の実装

イベントソーシング型。冪等キーと副作用の方針判定まで、JSONLの実物から読み解きます。

Muse Code の売りのひとつが「落ちても中断地点から再開できる」ことです。その実装は muse exec --json の出力を見ると分かります。イベントソーシング型の設計になっています。

1件のイベント

{
  "schema_version": 1,
  "id": "018f0000-0000-7000-8000-00000000c362",
  "stream": { "kind": "session", "id": "b3880833-..." },
  "sequence": 12,
  "record_type": "event",
  "durability": "durable",
  "causation_id": "7a84409c-...",
  "payload_type": "task.lifecycle.scheduled",
  "payload_schema_version": 1,
  "payload": { ... }
}

各フィールドの意味

フィールド意味
stream所属するストリーム。session / run / task の3種類
sequenceストリーム内の連番。順序の再現に使う
record_typeevent / status / reconciliation
durabilitydurable(残す)か ephemeral(残さない)
causation_idこのイベントを引き起こしたコマンドのID
payload_typeイベントの種類(後述)
schema_versionスキーマの版。将来の互換性のため

特に durability の区別が効いています。途中経過の表示(run.output.delta など)は ephemeral で、記録には残りません。再開に必要な事実だけが durable として残ります。

タスクのライフサイクル

実際に観測できた遷移は次のとおりです。

task.lifecycle.proposed            提案された
task.lifecycle.accepted            受理された
task.lifecycle.scheduled           実行予定に入った
task.lifecycle.side_effect_intent  副作用の実行意図
task.lifecycle.started             開始
task.lifecycle.completed           完了
task.lifecycle.failed              失敗

単に「開始・終了」ではなく、提案 → 受理 → 予定 → 意図表明 → 開始 と細かく段階が分かれています。どこで落ちても、どこまで進んだかが分かる粒度です。

冪等キー

scheduled のイベントには idempotency_key が入ります。

"idempotency_key": "model:7a84409c-...:ce8ff758-..."

実行IDとタスクIDを組み合わせた文字列です。中断して再開したときに、同じモデル呼び出しを二度実行しないための仕組みです。「再開できる」という機能が、ログの体裁ではなく実行の同一性の担保として設計されていることが分かります。

副作用の方針判定

side_effect_intent というイベントには policy_decision というフィールドがあります。外部に影響する操作を実行する前に、方針による判定を通していることを示しています。承認モードやサンドボックスの設定は、ここで効いていると考えられます。

観測できたその他のイベント

  • runtime.command.accepted — コマンドの受理
  • session.run.linked — セッションと実行の紐付け
  • task.stream.linked — タスクストリームの紐付け
  • turn.input.user — ユーザー入力
  • run.lifecycle.started — 実行の開始
  • run.output.delta — 出力の断片(ephemeral)
  • run.terminal.completed — 実行の終了

ログをディスクに残したくない場合は --no-session-log を付けます。

関連する記事

インストーラを314行すべて読んだ

公式のワンライナーが実際に何をするのか。PATHを勝手に書き換える挙動と、その止め方まで。

読む

実際に入れて動かして分かったこと

Muse Code は Claude Code の個人ルールを読み込みます。認証なしで動く方法と、イベントログの中身も。

読む

認証なしで動く echo プロバイダ

アカウントも課金もなしに、CLIの挙動とログ形式を確認できます。導入検討の前段階に。

読む

Claude Code を実務で使えるようにする講座

運営元のASI株式会社は、自社の業務で定型自動処理を150本以上、AIコーディングエージェントで動かしています。その運用側の視点で、導入から自走できるまでを個別に伴走します。

講座の詳細を見る