semantic-spacetime について
semantic-spacetime は、Semantic Spacetime(SST)をモデル化・分析するスキルです。エージェント間の共有された意味、意図の変化、因果関係を調べるため、読み取り専用 CLI でモデル検証、グラフ表示、意味距離の測定、スナップショット比較を行えます。
主な機能
- 01SST モデルの検証
- 02γ(3,4) 意味グラフの表示
- 03ノード間の重み付き距離の測定
- 04意味パスと軌跡の追跡
- 05スナップショット比較によるドリフト検出
活用シーン
- 01エージェント間の共有された意味の可視化
- 02時間経過に伴う意図の変化の追跡
- 03意味のドリフトや情報の断絶の特定
- 04イベント順序と因果関係の分析
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ magnus919/ agent-skills --skill semantic-spacetimeインストール後、Claude Code で/semantic-spacetimeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEREADME.mdevals/evals.jsonreferences/agent-coordination.mdapplications-infrastructure.mdbibliography.mddiagnosis-and-debugging.mdfoundations.mdglossary.mdpatterns.mdscripts/semantic-spacetime.pytemplates/sst-analysis.md.tmplsst-model.yaml.tmpltests/test_semantic_spacetime.pytrigger-probes.mdtests/fixtures/invalid-model.yamlsample-model.yaml詳細
セマンティック時空
セマンティック時空(SST)は、Mark Burgess による、時間とともに変化する意味の離散的なグラフ理論モデルです。セマンティック要素とは、自律エージェントとそのスカラーな約束からなる単位です。セマンティック時空とは、そのような要素の集合であり、状態、約束、または設定の局所的な変化を、時間の局所的な単位とします。時間は固有時間であり、グローバルクロックはありません(Burgess が Lamport に帰している先行関係の見方です)。因果関係は協調的です。各隣接関係では、両端で提示(+)と受諾(−)の約束が必要なため、空間は協調するノードとエッジで構成されます。2025 年の γ(3,4) 形式体系では、グラフに型が付けられます。3 つのノードメタタイプ(イベント、モノ、概念)が、4 つのリンクタイプ(0 = NEAR、±1 = LEADS TO、±2 = CONTAINS、±3 = EXPRESSES)で接続されます。部分グラフの吸収状態は情報を漏出させ、境界で志向性が生じます。SST は Promise Theory を基盤としています。約束に関する用語が必要な場合は、ここで再定義せず、promise-theory を読み込んでください。このスキルは簡易ルーターです。タスクが 必要に応じた読み込み の項目に該当する場合にのみ、詳細な資料を読み込んでください。
使用する場面
- エージェント間で共有される意味の基盤を設計または分析する必要がある場合 — このシステムにおいて「意味」が何を指すのか(概念、用語、約束が誰にとって何を意味するのか)をモデル化し、成果物として共有される意味の基盤を示す γ(3,4) マップを作成します。
- 時間とともに変化する意図や意味をモデル化する必要がある場合 — エージェント同士、エージェントと人間、またはエージェントとその指示の間における、軌跡、ドリフト、理解の収束をモデル化します。成果物は、観測記録を含むセマンティック軌跡です。
- 収束性があり、自己修復する協調を設計する必要がある場合 — 状態を望ましい意味と継続的に照らし合わせ、そこに向けて修復するループを設計します。このループを、局所的な変化を時間とするセマンティック要素としてモデル化します。
- 意味のドリフト、乖離、行き止まりを診断する必要がある場合 — 吸収状態、意味のギャップ、収束しないエージェントを分析します。成果物は、漏出する境界を特定したドリフトの分析結果です。
- 時空上の約束をマッピングする必要がある場合 — 軌跡、約束の伝播、エージェント間の因果関係を扱います。各約束をエッジとしてモデル化し、意図がグラフ内をどのように伝播するかを追跡します。
- エージェントの時間的な盲点を分析する必要がある場合 — エージェントが何が先に起きたかを判断できない、状態追跡、イベント順序、因果関係の失敗を分析します。共有クロックではなく、固有時間を使ってイベントの順序をモデル化します。
使用しない場面
- 物理学または相対性理論 — SST は量子重力や時空物理学の理論ではありません。多様体構造も運動量も仮定しません。物理学の問題には使用しないでください。そうした問題は物理学の領域に属します。
- 時間的・因果的な構造を伴わない、純粋なベクトル埋め込み、RAG、セマンティック検索 — 静的な埋め込みインデックスには固有時間も因果関係もなく、モデル化する軌跡もありません。代わりに、埋め込みツールまたはセマンティック検索ツール独自のスキルに案内してください。
- 強制可能な中央集権的制御 — 直接指示して遵守状況を確認できる場合、SST の協調的な約束の仕組みは洞察ではなく、余分な負担です(Promise Theory が定める境界も同様です)。制御と協調についての議論が必要な場合は、promise-theory に案内してください。
- 単純な単一エージェントへのプロンプト — 委任もモデル化が必要な意味空間もない、モデル 1 つとプロンプト 1 つの構成には、時空の用語は必要ありません。
- ツールのマニュアルまたはフレームワークのドキュメント — ツールを SST で捉えるよりも、そのツール独自のスキルに案内するほうが常に適切です。
必要に応じて読み込む
| 必要な内容 | 読み込むファイル |
|---|---|
| 形式モデルを再導出する:意味要素、意味時空間、固有時間、γ(3,4)の型付け規則、学習/知識の形式体系、プロミス基盤 | references/foundations.md |
| 収束システムを設計する前に、CFEngineとインフラストラクチャの系譜から学ぶ(収束の意味論、IaC/Kubernetes/GitOps/IBNの教訓、データとしてのプロミス維持、SLO、記録軸) | references/applications-infrastructure.md |
| SSTの観点からエージェントチームをモデル化する、またはエージェントの連携を設計する(Burgessのエージェントに関する論文、ドリフト/時間的盲点に関する文献、MCP/A2A基盤、統合パターン) | references/agent-coordination.md |
| 名前付きパターンを適用する:意味アンカー、軌跡、収束ループ、プロミス伝播、ドリフト検出、吸収状態検出、共有意味多様体、γ(3,4)モデリング、距離指標、調整 | references/patterns.md |
| 限定的な手順で意味ドリフト、乖離、行き詰まり(吸収状態)、意味のギャップを診断する | references/diagnosis-and-debugging.md |
| モデリングや診断中に見慣れない用語に遭遇したとき | references/glossary.md |
| 一次資料を探す、または確認する:主張の根拠となる論文、プロジェクトページ、関連研究 | references/bibliography.md |
クイックスタート
同梱の CLI(scripts/semantic-spacetime.py)は標準ライブラリのみを使用するため、インストールは不要で、任意の
python3 で実行できます。すべてのコマンドは読み取り専用です。
以下のコマンドはリポジトリのルートから実行してください。CLI は自身の場所を基準にファイルを解決しないため、
絶対パスを使えば、どのディレクトリからでも同じコマンドを実行できます。
- SST モデルを作成します。
templates/sst-model.yaml.tmplを作業用 ファイル(例:sst-model.yaml)にコピーし、サンプルの値を置き換えます。エージェント(id、role、promises)、 セマンティックノード(id、type は {event, thing, concept})、エッジ(from、to、link は -3..3)、acceptances、 trajectories、observations を宣言してください。# --- example ---と# --- end example ---の間にある機械判読可能なブロックには、完全で有効な モデルの例が示されています。同じモデルはtests/fixtures/sample-model.yamlに完全な形でコミットされています。 - sst-model-v1 形式に照らしてリントします — 終了コード 0 ではカバレッジの
概要が出力され、終了コード 1 では違反の名前が出力されます:
python3 semantic-spacetime/scripts/semantic-spacetime.py model lint semantic-spacetime/tests/fixtures/sample-model.yaml - γ(3,4) グラフをマッピングします(
--formatは text | mermaid | json のいずれかです):python3 semantic-spacetime/scripts/semantic-spacetime.py model map semantic-spacetime/tests/fixtures/sample-model.yaml --format mermaid - セマンティック距離を測定します — 重み付きホップ数です(各ホップの重みは
|link| + 1):
python3 semantic-spacetime/scripts/semantic-spacetime.py model distance semantic-spacetime/tests/fixtures/sample-model.yaml --from report-event --to drift-concept - 軌跡をトレースします — link の種類を注記したすべての単純パスを表示します。
サイクルは注記され、列挙は有限モデルであれば必ず終了します:
python3 semantic-spacetime/scripts/semantic-spacetime.py model trajectory semantic-spacetime/tests/fixtures/sample-model.yaml --from report-event --to drift-concept - 2 つのスナップショットを比較します — 追加、削除、変更されたセマンティック領域を表示します。同一の
スナップショットの場合は
no driftと報告されます。2 つのスナップショットファイルを指定してください (同じファイルを 2 回指定すると、ドリフトがない場合を確認できます):python3 semantic-spacetime/scripts/semantic-spacetime.py model drift semantic-spacetime/tests/fixtures/sample-model.yaml semantic-spacetime/tests/fixtures/sample-model.yaml - 機械判読可能な出力。 任意のコマンドに
--jsonを追加すると、単一の JSON オブジェクトが標準出力に出力されます。--dry-runは何もしないガードとしてどこでも使用できます。 - 分析レポートを作成します。
templates/sst-analysis.md.tmplを作業用 ファイル(例:sst-analysis.md)にコピーし、ひな形を埋めます。システムの説明 → セマンティック時空間マップ → ドリフト/分岐/吸収状態に関する所見 → 介入 → 検証/測定計画の順に記述します。 - エージェント間で意見が食い違う場合、ドリフトを診断します。 エージェントが分岐した場合は、その 意見の食い違いを観測として扱い、解釈間のセマンティック距離を測定し、情報の流れが止まる 吸収状態または情報が漏れる境界を特定します。
利用可能なスクリプト
このスキルにはスクリプトが1つ含まれており、ほかに確認するものはありません。すべてのコマンドは読み取り専用です(--dry-run はどこでも何もしないガードとして使用できます)。また、どのコマンドでも --json を指定すると、標準出力に単一の JSON オブジェクトが出力されます。
| スクリプト | 目的 | 実行方法 |
|---|---|---|
scripts/semantic-spacetime.py | sst-model-v1 形式の SST モデルをリント、マッピング、分析します。サブコマンド:model lint(スキーマに照らして検証)、model map --format text|mermaid|json(γ(3,4) グラフを描画)、model distance --from X --to Y(重み付きホップ数。各ホップの重みは |link| + 1)、model trajectory --from X --to Y(リンクタイプを含む単純パスを列挙)、model drift file-a file-b(2つのスナップショットを追加/削除/変更された領域に分けて差分表示)。モデルの作成後、または編集のたびに lint を実行し、問題なく終了するまで確認してください。その後、共有される意味の基盤をマッピングするとき、解釈間の距離を測定するとき、意図の伝播を追跡するとき、またはスナップショット間のドリフトを診断するときに、分析サブコマンドを使用します。 | python3 semantic-spacetime/scripts/semantic-spacetime.py model lint <model.yaml> |
終了コード:0 = 有効/網羅済み、1 = 指定された違反または存在しない/到達不能な ID、2 = 使用方法または IO エラー。
関連スキル
| スキル | 次の場合に参照してください…… |
|---|---|
| promise-theory | SST の基盤となる語彙(約束、申し出と受諾、収束、Downstream Principle、調整の診断)が必要な場合(references/foundations.md からも案内されています) |
| agent-evals-and-observability | 意味に関する主張の測定と検証を、評価、トレース、リリースゲートに変換する必要がある場合(references/foundations.md からも案内されています) |
| agent-council | エージェント間で共有される意味を交渉する手段として、構造化されたマルチエージェント討論を行いたい場合 |
| workflow-architect | セマンティック時空間に基づくワークフローを、再利用可能なスキルバンドルとして記述したい場合 |
| artifact-pyramids | SST の証拠(モデル、マップ、観測結果)を、要約 → 分析 → 証拠ドシエとして構成する必要がある場合 |
| agent-skills | このスキルが準拠している形式である Agent Skills 形式のスキルを作成または編集する場合 |
| cli-builder | SST モデル用の同梱 CLI を構築またはリファクタリングする場合(非対話型、--json、--dry-run という cli-builder の規約に準拠します) |
注意点
- 出典の誠実さ。 理論ファイルでは、すべての事実に関する主張に
[VERIFIED](調査中に取得した一次資料で確認済み)または[UNVERIFIED](二次資料に基づく、または推論による)のタグを付け、独自の統合にはEXTRAPOLATIONのラベルを付けています。この資料を再利用する際は、これらのマーカーをそのまま残してください。マーカーを黙って削除すると、主張の確実性が引き上げられてしまいます。references/foundations.md の出典に関するブロックを参照してください。 - この理論は半形式的で、査読を受けていません。 Burgess は査読付き出版を目指すことなく、この一連の資料を自費出版のノートとして公開しており、「一部の証明は読者に委ねられています」。SST は推論を補助するものとして使用し、証明システムとして使用しないでください。references/foundations.md の位置づけに関するセクションを参照してください。
- 局所時間 ≠ 大域時計。 固有時間は意味要素ごとに定まり、局所的な変化がその要素の時間単位となります。すべてのイベントを並べる共有時計はなく、大域的な順序は観測者に相対的なものにすぎません。references/foundations.md の固有時間に関するセクションを参照してください。
- 意味には測定が必要です。 適切なスケールで測定する前に意味を断定することはできません。「ダイナミクスは常にセマンティクスに優先する」(references/applications-infrastructure.md に記載された CFEngine 系譜の教訓)。SST では、空間的測定(試行を繰り返し、状態を一定に保つ)と時間的測定(継続的に適応させる)が、観測を安定させる 2 つの方法です。references/foundations.md の測定の二重性に関するセクションを参照してください。
- 約束の履行はデータとして保存する必要があります。 CFEngine 系譜で記録されている欠落、つまり約束が現在履行されているかどうかは報告する一方で、照会可能なデータとして約束の履行状況を一度も保存しないという問題に、SST の意味時間記録軸はまさに対処します(references/applications-infrastructure.md の「約束の履行をデータとして扱う」ことに関する欠落を参照してください)。観測結果をバージョン管理されたデータとして記録しなければ、信頼は蓄積されません。
前提条件
- Python 3(標準ライブラリのみ)。CLI のインストールは不要です。
- 分析対象のモデルファイル。
templates/sst-model.yaml.tmplをコピーし、サンプル値を置き換えてください(完全で有効なサンプルはtests/fixtures/sample-model.yamlにあります)。 - CLI は自身の場所を基準にファイルを解決しないため、どのディレクトリからでもコマンドを実行できます。実行する場所からの相対パスを使用してください。
制限事項
- この理論は半形式的で、査読を受けていません。CLI は作成したモデルの推論を補助するものであり、証明システムではありません(「注意点」を参照してください)。
distanceとtrajectoryは、ID が見つからない場合、または 2 つのノードをつなぐ経路がない場合に終了コード 1 で終了します。軌跡の列挙は単純経路(ノードの重複なし)のみを対象とし、有限モデルであれば必ず終了します。- CLI が読み取り、分析するのはモデルファイルのみです。実行中のエージェントを観測したり、稼働中のシステムを測定したり、観測結果を保存したりはしません。測定結果をバージョン管理されたデータとして記録することは、引き続き利用者の責任です。
終了条件
システムを意味的時空としてモデル化し、意味要素、γ(3,4) エッジ、軌跡、記録済みの受容を揃え、ドリフト/発散/吸収状態に関する所見を書き留め、検証・測定計画を示した時点で終了してください。ドリフトを診断する場合は、収束しないパスを 3 回実行した時点で終了し、同じモデルの再検討を繰り返すのではなく、根拠を報告してください。