メインコンテンツへスキップ
Forgeは、v1.3で新たに導入されたStarfortのポリシーテスト機能です。v1.2では答えられなかった問い — 自分のGuard Policyは本当に期待どおりに判定しているのか? — に答えます。各入力と、その入力が受けるべき判定をペアにしたTest Datasetを登録し、Project Guardianに対してExperimentを実行すると、actionクラスごとのaccuracyが算出されます。失敗したケースは、ポリシーを手動で改善するためのシグナルになります。
Forgeナビゲーション項目とAdd Dataset、Run ExperimentボタンがハイライトされたProject GuardianのForgeタブ
Forgeは測定と可視化を行うだけで、ポリシーを代わりに修正することはありません。評価はexpected actionとactual actionの決定論的(deterministic)な比較であり(LLMによる判定なし)、ポリシーの修正は通常のGuard Policyの編集・バージョン管理フローをそのまま使います。

Test Dataset

Test DatasetProject Guardian(ポリシーをテストする対象)に従属します。1つのGuardianに複数のdatasetを持てます — 例:「PII攻撃パターン」「正常入力」「エッジケース」。Dataset名は所属Guardian内で一意であり、Guardianを削除するとそのdatasetとすべての結果も一緒に削除されます。 Datasetの各itemは2つの部分で構成されます:
部分内容
入力Guardianに送信するコンテンツ — マルチターン会話(user / assistantメッセージの順序配列)。v1.3はテキストのみをサポートします。
期待判定値Guardianが下すべき判定 — 最終actionPASS / MASK / BLOCK)と、任意で該当すべきポリシーコードおよび自由テキストのreason
v1.3の評価は最終actionのみを比較します。ポリシーコードとreasonは失敗ケース分析のためにすべての結果とともに保存されますが、スコアには影響しません。

Datasetの登録

プロジェクトのGuardianでForgeを開き、datasetを作成します:
1

名前と説明

名前はそのProject Guardian内で一意である必要があります。
2

Guardian Action List

このdatasetが評価対象とするactionの集合(例: Pass / Mask / Block)— クラス別accuracyはこの基準で算出されます。
3

Itemのアップロード

CSVまたはJSONLファイル — 各レコードが1つのitem(input + expected_output)です。
4

Goal(任意)

0〜100%のaccuracy目標値。設定すると、このdatasetのすべてのExperimentにPASS / FAILの判定が付きます: Total Accuracy ≥ GoalならPASS。
アップロードされたJSONLファイルと列マッピングを示すAdd Test DatasetダイアログのDataset Fileステップ
Goal 80%とPASS、MASK、BLOCKが選択されたAdd Test DatasetダイアログのEvaluationステップ
Datasetはバージョン管理されます。編集や再アップロードで新しいバージョンが作成され、以前のバージョンも保存されます。Experimentは任意のバージョン(デフォルト = 最新)で実行できます。

Experiment

Experimentは、選択したポリシー構成で1つのTest DatasetをProject Guardianに通し、結果を採点する1回の実行です。以下を設定します:
入力備考
Dataset(+ バージョン)Datasetが対象Guardian、Goal、Action Listを決定します。バージョンのデフォルトは最新です。
名前 / 説明任意 — 名前を指定しない場合、process typeとポリシー構成から自動命名されます。
Policyの選択互いに異なるポリシー1つ以上、それぞれにバージョン1つを指定(デフォルト = そのポリシーの最新バージョン)。同じポリシーを2回選ぶことはできません — 1つのポリシーのバージョン間比較は、別々のExperimentを実行して並べて比較します。
Process type・model configGuardianがサポートするprocess typeから1つ(デフォルト = 先頭)。Model configはGuardianの設定値が事前入力され、この実行に限りoverrideできます。
PII Basicポリシーのバージョン0.1.0とinput process typeが選択されたRun ExperimentダイアログのConfigurationステップ
実行は**同期(synchronous)**です。完了までblockingされ(RUNNINGCOMPLETEDまたはERROR)、完了時に結果が表示されます。結果・トレース・スコアは永続保存され、過去のExperimentをいつでも再照会できます。

採点方法

各itemはレスポンスが到着した瞬間に判定されます — expected action vs actual action、正解か不正解か。Experimentは以下を報告します:
  • Total Accuracy — actionが一致したitem数 / 全item数。
  • Pass / Mask / Block Accuracy — datasetのAction Listにあるクラスごとの、expected action基準の正解率。
  • PASS / FAIL — datasetにGoalがある場合のみ: Total Accuracy ≥ GoalならPASS。
処理6件、不一致4件、Total Accuracy 33%、FAIL判定とactionごとの精度を示すRun Experimentの結果ステップ

結果の保存先

ExperimentのトレースはOpticonGuardian › dataset › Experimentの階層で記録され、本番トラフィックとは厳密に分離されます: forge environmentタグ(本番トレースはdefault)、Experiment名 = session、dataset名 = user ID。本番のPASS / MASK / BLOCKメトリクスがテスト実行で汚染されることはなく、特定のExperimentのトレースだけを正確にフィルタリングできます。StarfortのExperiment履歴には、Forgeからトリガーした実行のみが表示されます。

失敗ケースからポリシーを改善する

Forgeは、従来は本番トラフィックの事後分析に頼っていたループを、事前検証で閉じます:
1

失敗ケースを見つける

accuracyが低いExperimentで失敗したitem(accuracy = 0)を開き、各トレースを確認します — 入力、expected action、actual action。
2

診断

パターンを探します: 欠落しているPIIカテゴリ、過検出/見逃しのあるtopicなど。
3

ポリシーの修正

Guard Policyを修正し、新しいバージョンを発行します — 通常の編集・バージョン管理フローそのままです。
4

再実行して比較

同じdatasetで新バージョンのExperimentを実行します。Runを並べて比較するとaccuracyの変化が見え — リグレッションを本番トラフィックに到達する前に捕捉できます。

権限

操作必要な権限
Dataset・Experimentの照会Project Member以上
Datasetの登録/編集、Experimentの実行test-execute IAM権限
Datasetの削除Project Admin以上
Guard Policyの修正・適用Project Admin以上(通常のポリシー編集と同じ)
v1.3のForgeは意図的にテキスト専用・rule-basedです。ファイル/画像のdataset、LLM-as-judge評価、自動ポリシー最適化はこのバージョンの範囲外です。