Fact-Check-X 統一エントリーポイント
本スキルは単なるオーケストレーションであり、3つのビジネスレイヤーを内包しません。以下の順序で兄弟スキルを呼び出します。
llm-answer-reference-compare:マルチプラットフォームの回答、引用、現場エビデンスの収集。fact-check-x-knowledge-compare:ローカル知識点の構造化比較(オプション)。fact-check-x-authoritative-verify:知識点ごとの並行権威検証とプラットフォームパフォーマンスレポート。
すべてのセマンティック分解とエビデンスの判断は、現在のスキルをホストするエージェントが実行します。スクリプトはモデルAPIを一切呼び出しません。
依存関係の特定
4つのスキルを同一ディレクトリに配置すると直接実行できます。または設定:
export FACTCHECK_SKILLS_DIR="<4つのスキルの親ディレクトリ>"
依存関係の確認:
python3 scripts/fact_check_x.py locate
完全なフロー
まず results.json を収集し、次に知識点の比較を準備します。
python3 scripts/fact_check_x.py prepare-comparison \
--results <results.json> \
--run-dir <run>
このコマンドは、元の回答と引用レポートを同期的に生成し、実行ディレクトリのトップレベルに 01-capture-report.html を作成し、deliverables を介してユーザー可視のパスを返します。呼び出し側は、まずこのパスを使用して実際のMarkdownファイルリンクを送信し、その後で知識点の比較を続行する必要があります。バッククオートで囲まれたパスだけを表示することは禁止されています。
デフォルトのインタラクティブモードでは、呼び出し側はこのフェーズの成果物を送信した後、ユーザーに「次のステップに進む」「現在の結果を修正する」「ここで終了し成果物を保持する」の選択を求め、次のステップに進む指示を受けてから次のフェーズに移行する必要があります。ユーザーが最初のリクエストで明示的に完全自動実行を要求した場合のみ連続実行が許可されますが、各フェーズの成果物は段階的に提示する必要があります。
現在のエージェントは <run>/comparison-task.json を読み取り、<run>/comparison-analysis.json に書き込み、その後実行します。
分解時には、原子性が知識点と各プラットフォームの claim の両方を制約します。1つの原文に複数の独立した義務、条件、オブジェクト、数値、または結果が含まれている場合は、それらを分割する必要があります。各 claim には現在の事実のみを保持します。プラットフォーム固有の実質的な新事実も、アンカーレスの知識点として別途作成する必要があり、広範な知識点に統合して深知晓アンカーを流用し検証を回避することはできません。
python3 scripts/fact_check_x.py complete-comparison \
--results <results.json> \
--run-dir <run>
このコマンドは、実行ディレクトリのトップレベルに 02-comparison-report.html を生成し、deliverables を介してパスを返します。呼び出し側はこれを独立したクリック可能なファイルとしてユーザーに提示する必要があります。レポートには「未検証」と明確にマークされた統合ドラフトが含まれている必要があります。デフォルトのインタラクティブモードでは、ユーザーが確認して続行した後にのみ権威検証フェーズに進みます。
各知識点の独立したクラウドリクエストを生成し、並行してエビデンスを収集します。
python3 scripts/fact_check_x.py prepare-authority --run-dir <run>
python3 scripts/fact_check_x.py search-authority --run-dir <run> --max-workers 12
検証免除対象でない知識点が存在するものの、ローカルに信頼できる検索設定がない場合、prepare-authority と search-authority は status=configuration_required、userPrompt、および configuration.command を返し、非ゼロステータスで終了します。呼び出し側はまずログインプロンプトを表示し、次にそのコマンドをフォアグラウンドで実行します。ユーザーは自動的に開かれる深知晓MaaSページでログインするだけで済みます。コンポーネントは既存の完全なKeyを自動的に再利用し、ない場合は Fact-Check-X 専用Keyを作成し、検証後に ~/.fact-check-x/credentials/trusted-search-key に保存します。Codex、Claude Code、WorkBuddy などのホストはこの設定を共有し、既存のKeyが検出された場合はログインをスキップします。設定が成功したら、呼び出し側は自動的に prepare-authority を再実行します。ユーザーにKeyをコピーさせたり、シェル設定を編集させたり、「設定済み」と返信させたり、深知晓ソースや通常の検索で回避させることは禁止されています。
信頼できる検索が401/403を返した場合のみ、既存のKeyを無効とみなし、自動設定プロセスに入ります。タイムアウト、ネットワーク切断、またはサービス例外の場合は、既存の設定を保持し、自動的に再試行します。再試行後も失敗する場合は、検索フェーズに留まり技術エラーを返します。ユーザーに再ログインを要求したり、手動の事実確認に切り替えたりすることはありません。
prepare-authority は authority-gate.json に書き込みます。信頼できる検索バッチが正常に完了し、ゲートステータスが searched になった後にのみ、finalize-authority の実行が許可されます。手動で evidence や result を書き込んでもバイパスできません。
現在のエージェントは authority/requests と authority/evidence を順次読み取り、判断結果を authority/assessments/<知識点ID>.json に書き込み、その後実行します。
検証免除モードでは、trustedAnchor.officialAnswer が現在の知識点の権威ある結論です。アンカーエビデンスリストはソースのトレーサビリティに使用され、タイトルや切り抜きの引用がその結論を逐語的に再現する必要はありません。プラットフォームの主張が officialAnswer と意味的に一致するか、またはそこから直接導き出せる場合、判断は supported となり、有効なアンカーエビデンスIDが引用されます。プラットフォームの主張が権威ある結論によってサポートされない実質的な事実を追加している場合、または判断が真に不可能な場合にのみ、insufficient が使用されます。知識点比較フェーズでの引用忠実性と、このフェーズでの事実正確性はそれぞれ独立して保持され、プラットフォーム自身の引用不足を理由に、権威ある結論によってすでに確認された主張の判断を拒否することはできません。
{
"authoritativeFinding": "権威あるエビデンスによってサポートされる知識点の結論",
"verdicts": {
"<プラットフォームID>": {
"verdict": "supported",
"reason": "主張は E1 と一致",
"evidenceIds": ["E1"]
}
}
}
verdict には supported、contradicted、または insufficient のみを使用できます。エビデンスIDは現在のエビデンスファイルに存在する必要があります。旧式のトップレベル verdict、officialAnswer、platformAssessment は拒否されます。
python3 scripts/fact_check_x.py finalize-authority --run-dir <run>
finalize-authority は権威検証後の最終回答を生成し、エビデンスが十分な知識点を確定回答に含め、エビデンスが不十分な知識点を evidenceGaps に書き込み、確定回答と正確率の分母から除外します。技術パイプラインが成功した場合、コマンドは status=completed を返し、呼び出し側は次のステップに進みます。技術コマンドが非ゼロステータスを返した場合のみ、現在のフェーズを停止して再試行します。
finalize-authority は判断が完了すると独立して 03-authority-report.html を生成し、deliverables を介してパスを返します。呼び出し側はまずこの権威レポートを提示する必要があります。デフォルトのインタラクティブモードでは、ステータスが completed でユーザーが続行を確認した後にのみ実行されます。
python3 scripts/fact_check_x.py deliver --results <results.json> --run-dir <run>
信頼できる検索が no_evidence を返した場合、insufficient_evidence として記録されます。空の結果は、今回判断可能な資料が入手できなかったことを示すだけで、直接「捏造」と判断することはできません。エビデンス境界の記録が完了したら、後続のレポート生成を続行します。
deliver は、実行ディレクトリのトップレベルに4つの独立した可読レポートを生成して返す必要があります。
01-capture-report.html:元の回答、参考文献、引用エビデンス。02-comparison-report.html:知識点の構造化比較。03-authority-report.html:知識点ごとの権威ある結論、公式エビデンス、各プラットフォームの判断。04-final-report.html:プラットフォームパフォーマンス、総合指標、主要な発見、完全なエビデンス。
いずれかのレポートが欠けている場合、05-complete-report-package.zip を生成または配信してはなりません。
最終的に保持されるもの:
capture/results.json、capture/report.html、capture/report.md。comparison-task.json、comparison-analysis.json、comparison.json、comparison.html。- 各知識点の独立した request、evidence、assessment、result。
authority/batch.json、verification.json、report.html、pipeline.json。- 4つのフェーズレポートと
05-complete-report-package.zip。
知識点比較のスキップ
知識点比較はオプションの機能です。構造化された知識点がすでに存在する場合、権威エビデンス検証モジュールのデータ契約に従って、単一知識点のリクエストを直接構築し、fact-check-x-authoritative-verify を単独で呼び出すことができます。統一エントリーポイントは、ユーザーに複数のAI回答を先に収集することを強制しません。
実行境界
- 元の回答フェーズでは収集のみ行い、検証は行いません。信頼できる検索の全文パラメータを使用して、プラットフォームがすでに提供している同一ソースの本文を補完することはできますが、新しい引用を追加したり置き換えたりすることはできません。
- 知識点比較では、元の回答と添付されたソースのみを比較し、インターネットで真実を探しません。
- クラウドレイヤーは現在の知識点のみを受信します。各プラットフォームの主張が同じ場合は主張をアップロードせず、異なる場合のみ差異をアップロードします。
- 深知晓がすでに有効な公式アンカーを持っている場合、重複して検索しません。
- 最終レポートは、権威エビデンス検証モジュール内の安定したレポートレンダラーを使用する必要があります。
配信ゲート
python3 tests/smoke_test.py
python3 "${CODEX_HOME:-$HOME/.codex}/skills/.system/skill-creator/scripts/quick_validate.py" .
完全な基準は検収基準を参照してください。