コンテンツにスキップ

Context Frame

Context Frame は OS が各 Phase 訪問時に LLM に渡す読み取り専用のペイロードです。訪問ごとに再生成され、永続化されません。LLM が次の決定を行うために必要なすべてを含んでいます。

形式

{
  "current_phase": "<phase_name>",
  "current_phase_role": "<role>",
  "instructions": "<phase markdown body>",
  "input_artifact": {"type": "<artifact_type>", "data": { ... }},
  "execution": {
    "path": ["phase_a", "phase_b"],
    "current_visit": 1,
    "total_steps": 3
  },
  "candidate_outputs": [
    {
      "next_phase": "<phase_name> or end",
      "control_type": "transition | finish",
      "schema_name": "<artifact_type>",
      "artifact_schema": { ... },
      "description": "..."
    }
  ],
  "finish_criteria": [],
  "constraints": {
    "max_phase_visits": 25
  },
  "available_control_ops": [
    {"kind": "file", "description": "...", "example": { ... }}
  ],
  "output_language": "en"
}

フィールド

current_phasecurrent_phase_role

現在実行中の Phase の名前とオプションのロール。

instructions

Phase ファイルの完全な Markdown ボディ。frontmatter なし。 スキーマ情報の注入なし。ボディは人が書いたガイダンスをそのまま使用します。

input_artifact

この Phase が消費する artifact。preprocessor ステップが実行された後、artifact はその場でエンリッチされます。追加のキー(例: relevant_memoriespython ステップの出力)は宣言された into キーの下に現れます。

execution

これまでのランのトレース:

  • path — 順番に入った Phase。
  • current_visitcurrent_phase の訪問カウント。
  • total_steps — ランを通じての総 Phase 訪問数。

candidate_outputs

この Phase から OS が許可するトランジションのセット。各エントリーは以下を含みます:

  • next_phase — ターゲット Phase 名、または末端トランジションの end
  • control_typetransition または finish
  • schema_name — 期待される artifact 型。
  • artifact_schema — JSON スキーマフラグメント。
  • description — この候補を選ぶタイミングの一行サマリー。

LLM はこれらの 1 つを選ばなければなりません。幻覚の Phase 名は拒否されます。

finish_criteria

skill.md からの自由形式の箇条書きリスト。終了するかどうかを決定する Phase が使用します。

constraints.max_phase_visits

reyn.yaml または --max-phase-visits からの単一 Phase ごとの再訪問上限。null は無制限を意味します。

available_control_ops

LLM が出力できる Control IR op の種類のセット。説明と例付き。これが op の存在に関する唯一の情報源です。 Phase の Markdown は op の構文を説明してはなりません(P8)。

output_language

自然言語出力のターゲット言語。reyn.yaml または --output-language から。

フレームに含まれないもの

  • 他の Phase の artifact(必要な場合は file op またはサブ Skill を使用してください)。
  • イベントログ。
  • Memory や他の長期状態(入力 artifact に検索されたものだけ)。
  • LLM 自身の過去の出力(各呼び出しはステートレスです。preprocessor + このフレームが唯一のコンテキストです)。

この設計の理由

訪問ごとに新鮮なフレームを構築することで、すべての Phase を自己完結させます。訪問間に隠れた会話状態はありません。OS が注入するもののみです。これがランを再現可能にし、個々の Phase を Skill をまたいで再利用できる理由です。

関連情報