{
  "format": "agent-article-v0",
  "article_id": "EA-263",
  "canonical_url": "/tools/ea-263-model-prompt-agent-artifact-registry",
  "page_type": "reference",
  "claim_ids": [],
  "evidence_ids": [
    "EVD-EA-263-URL-118388C854B6",
    "EVD-EA-263-URL-B3B7EFD6E280",
    "EVD-EA-263-URL-CADCB59633F1",
    "EVD-EA-263-URL-FB87768384BB",
    "EA-263-CURRENT-APPROVAL",
    "EA-263-CURRENT-BODY-READBACK"
  ],
  "unknown_ids": [
    "EA-263-UNKNOWN-01"
  ],
  "operational_object_ids": [],
  "provider": [],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "CURRENT",
  "observation_status": "SPEC_ONLY",
  "freshness": "CURRENT",
  "last_verified": "2026-10-20",
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "MANUAL-EA263-DRAIN-20261020-C1",
    "SRC-EA-263-URL-118388C854B6",
    "SRC-EA-263-URL-B3B7EFD6E280",
    "SRC-EA-263-URL-CADCB59633F1",
    "SRC-EA-263-URL-FB87768384BB",
    "BODY-SHA256:a40670963a4d8599a612db4733538e09f8a99c9050078621e8ea8bf1b5ff1f95"
  ],
  "article_sources": [
    {
      "id": "EVD-EA-263-URL-118388C854B6",
      "evidence_class": "RESEARCH",
      "title": "[S1] MLflow Prompt Registry:",
      "href": "https://mlflow.org/docs/latest/genai/prompt-registry/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-263-URL-118388C854B6"
      ],
      "supporting_locators": [
        "出典・確認範囲",
        "S1",
        "- [S1] MLflow Prompt Registry: https://mlflow.org/docs/latest/genai/prompt-registry/"
      ],
      "scope": "出典・確認範囲",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-263-URL-B3B7EFD6E280",
      "evidence_class": "RESEARCH",
      "title": "[S2] MLflow Model Registry:",
      "href": "https://mlflow.org/docs/latest/ml/model-registry/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-263-URL-B3B7EFD6E280"
      ],
      "supporting_locators": [
        "出典・確認範囲",
        "S2",
        "- [S2] MLflow Model Registry: https://mlflow.org/docs/latest/ml/model-registry/"
      ],
      "scope": "出典・確認範囲",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-263-URL-CADCB59633F1",
      "evidence_class": "RESEARCH",
      "title": "[S3] SLSA v1.2 Provenance:",
      "href": "https://slsa.dev/spec/v1.2/provenance",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-263-URL-CADCB59633F1"
      ],
      "supporting_locators": [
        "出典・確認範囲",
        "S3",
        "- [S3] SLSA v1.2 Provenance: https://slsa.dev/spec/v1.2/provenance"
      ],
      "scope": "出典・確認範囲",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-263-URL-FB87768384BB",
      "evidence_class": "RESEARCH",
      "title": "歴史的所在記録:",
      "href": "https://docs.google.com/document/d/1Vd0BP7G2UyPDRQs_-8dPvTgQ78Tk6kcVGuMJjqNdr84/edit",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-263-URL-FB87768384BB"
      ],
      "supporting_locators": [
        "出典・確認範囲",
        "- 歴史的所在記録: https://docs.google.com/document/d/1Vd0BP7G2UyPDRQs_-8dPvTgQ78Tk6kcVGuMJjqNdr84/edit"
      ],
      "scope": "出典・確認範囲",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EA-263-CURRENT-APPROVAL",
      "evidence_class": "RESEARCH",
      "title": "現行本文の監査・revision対応",
      "supports": [
        "現行台帳のAUDIT_PASSと候補・revision・本文ハッシュの対応を確認しています。"
      ],
      "limit": "監査状態と来歴の記録です。外部根拠の最新性や本文の全主張を追加保証しません。",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "MANUAL-EA263-DRAIN-20261020-C1"
      ],
      "supporting_locators": [
        "1KqhJtiSb2S84rWmeYVwKcT_76dBwZ_B0ZZuAWQqH0rQ/EA_REVISION_LEDGER#ea_id=EA-263&revision_id=EA-263-RESEARCH-20261020-R1&candidate_id=MANUAL-EA263-DRAIN-20261020-C1",
        "EA-263-RESEARCH-20261020-R1"
      ],
      "provenance_status": "CURRENT_CANONICAL_APPROVAL_READBACK"
    },
    {
      "id": "EA-263-CURRENT-BODY-READBACK",
      "evidence_class": "IMPL",
      "title": "現行本文の収録照合",
      "supports": [
        "公開生成入力の本文SHA-256が、監査済み候補に結び付いたハッシュと一致しています。"
      ],
      "limit": "本文の同一性の検査です。外部システムの挙動や全主張の真偽を実証したものではありません。",
      "checked_at": "2026-10-21",
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "BODY-SHA256:a40670963a4d8599a612db4733538e09f8a99c9050078621e8ea8bf1b5ff1f95"
      ],
      "supporting_locators": [
        "content/staging/EA-263.md",
        "a40670963a4d8599a612db4733538e09f8a99c9050078621e8ea8bf1b5ff1f95",
        "EA-263-RESEARCH-20261020-R1"
      ],
      "provenance_status": "CURRENT_APPROVED_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "要点と前提",
      "text": "AIの成果物レジストリは、モデル、プロンプト、エージェントの実行定義を識別し、評価や承認の記録と結び付けて利用先へ渡す管理面である。ファイルを置くことだけでは足りない。「何を評価したか」「何を承認したか」「実際に何が読み込まれたか」を同じ識別子へ結び付けることが目的になる。レジストリを導入しても、登録物の品質、データ利用権、ツール操作の安全性が自動的に保証されるわけではない。"
    },
    {
      "heading": "管理対象と識別単位",
      "text": "モデルの重みを保存する場合と、外部モデルAPIの名前だけを登録する場合は、再現性の範囲が違う。後者は外部提供者が公開する版情報、設定、取得時刻を残せても、重みの不変性を自社で検証できないことがある。これを「モデル全体の保管」と表現しない。\n\nプロンプトは本文に加え、テンプレート変数、出力スキーマ、推奨モデル設定、利用上の制約を持つ。エージェントは、実行コード・依存ライブラリ、プロンプト、モデル、ツール定義、認可ポリシー、検索先への参照が組み合わさる。単一のZIPだけでなく、依存物の版と関係を解決できる構造が必要になる。検索文書や秘密情報を無条件に同梱するのではなく、管理境界、参照先、保持責任を分ける。\n\n| 情報 | 例 | 固定・更新の扱い |\n|---|---|---|\n| 内容の識別 | ファイルの暗号学的ハッシュ、レジストリ版 | 承認済み内容を上書きせず、新版を作る |\n| 依存の識別 | コードコミット、プロンプト版、モデル版、インデックス版 | 参照解決した組合せを保存する |\n| 可変ポインタ | production、champion等のエイリアス | 変更者、旧値、新値、承認、適用時刻を記録する |\n| 評価・承認 | 評価集合と結果、用途・環境、期限 | 対象の内容識別子へ結び付ける |\n| 来歴 | ソース、ビルド主体、実行条件、生成物 | 信頼できる主体と検証手順を別途定める |\n| 利用制約 | ライセンス、機密区分、ツール権限 | 配備先の権限制御へ反映し、単なるタグで済ませない |\n\nここで示す横断的な登録項目は設計提案であり、一製品がすべて同じ形式で実装するという意味ではない。"
    },
    {
      "heading": "不変の版と可変エイリアス",
      "text": "MLflowのPrompt Registryは、不変のプロンプト版と、版への可変エイリアスを区別する。[S1] Model Registryにもモデル版を参照するエイリアスがある。[S2] 「productionを評価した」という記録だけでは、後日にポインタが変更されたとき、当時の実体を特定できない。評価時と昇格時には参照を解決し、その結果を保存する。\n\nエイリアスの変更だけで迅速に昇格できることは利点だが、依存の一部分だけが進む危険もある。たとえばエージェントの出力パーサが旧JSON形式を期待する一方、プロンプトのproductionだけが新形式へ変わると、個々の登録物が正常でも連鎖は失敗する。対策は、互換性を評価した組合せのリリース定義を作り、配備先がその定義から全参照を解決すること。複数の独立したエイリアスを順次書き換える場合には、部分適用時の挙動と復旧手順も設計する。"
    },
    {
      "heading": "登録から利用まで",
      "text": "登録時には形式、必要ファイル、ハッシュ、利用許諾、秘密情報混入を検査する。形式検査を通過した状態と、業務利用を承認された状態を区別する。評価結果には入力集合と評価器の版、失敗例、利用可能な範囲を含め、内容のハッシュへ紐付ける。評価後に内容を上書きできれば承認の意味が崩れるため、承認対象は不変の版とする。\n\n昇格時には、申請者と承認者の権限、対象環境、期限、依存物の利用可能性を確認する。取得側は登録された名前だけでなく、解決した版と取得物のハッシュを照合し、起動記録へ残す。ランタイムが参照や内容をキャッシュする構成では、ポインタ変更直後にすべての実行が切り替わるとは限らない。更新方式、キャッシュの失効条件、稼働版の読戻しを、実装に応じて確認する。\n\n実行中のエージェントが途中で別版を読み込むことも避けたい。長い処理では開始時にリリース定義を固定し、後続ステップにも引き継ぐ設計を検討する。ただし脆弱性対応や権限失効を、その固定を理由に無期限に延期しない。緊急停止や再認可を行う制御は、通常の版固定とは別の運用責任として定める。"
    },
    {
      "heading": "来歴と信頼の限界",
      "text": "SLSAの来歴は、生成物とその作成過程を追跡する情報である。[S3] ハッシュが一致しても、その生成物が安全なコードであること、学習データの権利が適切であること、回答が正しいことまでは分からない。署名を用いるなら、誰の鍵を信頼するか、検証をどこで強制するか、鍵失効後に何を拒否するかを決める。署名ファイルを置くだけでは取得側の検証にならない。\n\n機密プロンプトを誰でもダウンロードできるレジストリへ集約すれば、監査可能性は上がっても漏えい範囲が広がる。登録、承認、取得、削除の権限を分け、用途ごとのアクセスと監査ログを設計する。プロンプトにAPIキーを埋め込まず、実行時に適切な権限で秘密管理先から取得する。ログや評価データにも、プロンプトと同じ機密性が及ぶ場合がある。"
    },
    {
      "heading": "失敗時の復旧と反証",
      "text": "誤った版を昇格した場合、以前のポインタへ戻す操作と、実行環境が以前の内容を取得して稼働することを区別する。復旧対象の依存物が削除されている、外部モデルが廃止されている、データ形式が変わっている場合には単純復旧できない。保持期限、依存物の保全、実際の取得試験、互換性検査を事前に行う必要がある。\n\n一方、全ての実験を永続登録すると、探索の速度と管理コストが悪化する。短期実験と、他者が再利用する版、業務配備の承認版では保持と検査の強度を変えてよい。ただし配備したものを後から特定できない状態は避ける。「統合レジストリ一つに集約すること」自体が目的ではなく、複数の保管先をまたいでも参照と承認の対応を追えることが重要である。"
    },
    {
      "heading": "OPEN_UNKNOWN",
      "text": "- 利用する製品のエージェント成果物形式、認証方式、署名検証、削除・保持条件、依存解決の原子性は未確定。\n- 実レジストリへの登録、エイリアス切替、取得ハッシュ検証、キャッシュ失効、緊急失効・復旧の試験はNOT_RUN。\n- 旧EA-263退避記録は所在調査のみ。既存の完成候補は確認できず、本候補は独立した記事・パッケージとして監査に渡す。"
    },
    {
      "heading": "SAFE_WORDING",
      "text": "「登録物の版、来歴、評価、承認、実際の取得物を結び付ける基盤として利用できる」。一方、「登録済みだから安全」「エイリアス名が同じなら内容も同じ」「ハッシュ一致で業務品質まで証明済み」とはしない。"
    },
    {
      "heading": "出典・確認範囲",
      "text": "2026-10-20に一次資料を確認。横断設計と事例は本稿の提案。\n\n- [S1] MLflow Prompt Registry: https://mlflow.org/docs/latest/genai/prompt-registry/ （版・エイリアス・メタデータ）\n- [S2] MLflow Model Registry: https://mlflow.org/docs/latest/ml/model-registry/ （モデル版とエイリアス）\n- [S3] SLSA v1.2 Provenance: https://slsa.dev/spec/v1.2/provenance （生成過程の追跡）\n- 歴史的所在記録: https://docs.google.com/document/d/1Vd0BP7G2UyPDRQs_-8dPvTgQ78Tk6kcVGuMJjqNdr84/edit 、tab=t.0、EA-263 indexes 17914–18233。現行契約: TASK_BODY!A53:I53、v8.1-bridge-transport-exact-20261020。"
    }
  ],
  "human_url": "/tools/ea-263-model-prompt-agent-artifact-registry",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-263-model-prompt-agent-artifact-registry",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-263-model-prompt-agent-artifact-registry"
}