LLM出力契約チェック
AIが返すJSON、たまに形が崩れて後続が落ちていませんか。
無料ベータ・面談制/正式版は有料提供予定
前提:期待スキーマはJSON Schema風部分集合(type/required/properties/items/enumを解する)
- 所要時間: 30分
- 進め方: 現場の状況をヒアリングし、最初に効くツールと順番を一緒に決めます
- ご準備は不要です
概要
LLMの構造化出力は確率的に崩れます。必須キーの欠落・型違い・列挙外の値が下流に流れると、パース例外や誤動作が本番で初めて顕在化します。出力を受け取る境界で機械的に契約検査を挟み、崩れを下流に流さないための入口です。
効果
- 必須・型・列挙・配列の違反を出力前に機械検出し、契約違反のまま下流へ流すのを防ぐ。
- 軽微な崩れ(コードフェンス・末尾カンマ等)は寛容に救い、誤った不合格を減らす。
- 決定的(同入力同出力・鍵不要)なのでCIのブロッキングゲートにできる。
- 違反を「どこが・期待・実際」で具体提示し、修正箇所をすぐ特定できる。
インプット
- 検証対象の出力
- 期待スキーマ
汎用LLMとの違い
検証規則と、寛容なJSON抽出・軽修復の手順が bubo 独自の中核です。汎用LLMに整形を頼むのと違い、確率に頼らず同入力同出力で契約違反を漏れなく列挙し、軽微な崩れは救って誤った不合格も抑えます。
実際の入力と、返ってきた出力
同じLLM出力とスキーマを llm-output-contract にそのまま渡した実際の出力です(要約ではありません)。
LLM出力:
{"reasons": "risk score above threshold, unusual IP address", "risk_level": "high"}
期待スキーマ:
{"type": "object", "required": ["reasons", "score", "risk_level"],
"properties": {"reasons": {"type": "array"}, "score": {"type": "number"}, "risk_level": {"type": "string", "enum": ["low","medium","high"]}}}
verdict=block。2件検出 - missing — $.score が無い - type — $.reasons はarray期待だがstring recall=1.0。清潔な出力(スキーマ準拠)では verdict: pass、誤検出0件です。
本ツールは必須キー欠落・型不一致といったスキーマ逸脱を機械的に判定し、同じ入力に対して常に同じ判定(pass/block)を返すため、CIのゲートとして機械的にビルドを止められます。
社外秘のコードを、どう守るか
buboは入力を保存しません
ツールに渡したコード・仕様・データを、buboのサーバーは保存しません。bubo自身が学習に使うこともなく、処理はその場限りです。
AIに送るか・どこへ送るかは、あなたが握ります
標準のキーレス接続では、意味を読む処理は普段お使いのAIクライアントの中で実行されます。データの扱いは、お客様とそのプロバイダの既存のご契約のもとにあり、buboがAPIキーやコードをお預かりすることはありません。ご自身の契約するプロバイダを直接指定したい場合は、BYOK(Bring Your Own Key)として任意で設定できます。
AIに送らず動くツールも多くあります
多くのツールは決定的な静的解析だけで完結し、LLMに渡すのは必要な場面に限られます。AIに送る範囲を、あなた自身で絞り込めます。
ワンタイムコードは単回使用・有効期限7日・サーバーに平文保存はしません。発行したトークンは設定ファイルに直書きせず環境変数で参照します。既存のMCP設定がある場合も、壊さず冪等にマージします。
どう申し込み、どうつなぐのか
1. 面談を予約する
予約フォームから面談をお申し込みください。現在のQAの困りごとと、試したいツールをお聞かせいただきます。
2. 面談で適用先を一緒に決める
そろえたツールのうち、貴社の工程で効く順番をご一緒に見立てます。ワンタイムコードと接続コマンドは、面談後にあわせてお渡しします。
3. コード1つ、コマンド1行で接続
お受け取りしたワンタイムコードで、コマンドを1行実行(Windows / mac / Linux 各1行)。有効化・MCP設定(.mcp.json)生成・環境変数設定まで自動で完了します。あとはAIクライアント(Claude Code / Gemini CLI)を再起動するだけで、そのままQA方法論を呼び出せます。APIキーのご用意は不要です。ご自身の契約するLLMを使いたい場合は、BYOK(Bring Your Own Key)として任意で設定いただけます。