2026年6月28日日曜日2026 年 6 月 28 日
- 本日は複数の検索/検証代替案の中でどの流れを選択するかを決めることを目標とする
chunkText をそのまま入力として保持した状態で、BM25、PostgreSQL フルテキスト検索、embedding、reranker、Qwen direct‑evidence validator をどう組み合わせるか判断する必要がある
- 当初は確定設計ではなく、ChatGPT から得た検索方式別の長所短所と
예/아니오 応答フローを判断材料として集めた状態だった
- その後、代替案別シミュレーションと総合比較表を基準に F 戦略を優先的に採用することにした
- F 戦略は
BM25 + embedding + reranker + Qwen direct‑evidence validator を接続する方式である
- すなわち、
chunkText を検索入力としてそのまま使用し、BM25 と embedding で候補を広く集めた後、reranker で再順位付けし、最後に Qwen が検索された JSONL が現在のコードチャンクと直接合致する根拠かどうかを検証する流れとみなす
- 次の検証は Qwen で
docs_chunks、api_mapping、label_prototypes を各テーブルごとに 50 件ずつテストする方式とする
- 各テーブルで合計 50 件程度のサンプルを関連ケースと非関連ケースに分けて入れ、
예 が出るべきケースと 아니오 が出るべきケースの応答がどう分かれるかを確認する予定
- このテストは検索がうまくいくかを見るだけでなく、検索された JSONL を Qwen direct‑evidence validator が実際のコードチャンクと直接合致する根拠として認めるか廃棄するかを確認する段階である
- 手作業で進めるため、実際にテストする量が思った以上に非常に多い
- Godot テスト項目を 50 件作成し、各項目ごとに
docs_chunks、api_mapping、label_prototypes の 3 テーブルをすべて確認する必要がある
- 共通関数/文法であれば Godot コードチャンクを一つ作成し、
docs_chunks の期待 예/期待 아니오 データ、api_mapping の期待 예/期待 아니오 データ、label_prototypes の期待 예/期待 아니오 データを作成したうえで、プロンプト+テストコード+6 件のデータを入れ、応答パターンがどう分かれるかを確認する必要がある
- 共通関数でなければ Godot 3 用コードと Godot 4 用コードを別々に作成しなければならず、実質的に作業量が二倍になる
- この結果を後で F1‑score などの分類指標でまとめるには、すべてのケースの true/false 結果を手作業で残す必要がある
- したがって 50 件を1日で全部終えるのは不可能と判断し、本日の目標は
5 件 に絞って進めることにした
- 5 件を埋めた後は単にテスト件数を増やすのではなく、これまでの
예/아니오 応答パターンを先に分析する方向に転換することにした
- 実際に 50 件中 5 件を実施した
- 5 件だけ実施しただけでも Godot 3 基準で作成した JSONL と Godot 4 基準で作成した JSONL の応答フローが変わる現象が見られた
- 特にバージョン差があるコードでは、Godot 3 基準 JSONL で Godot 4 コードを検査したときに共通文字列や migration 根拠のために
예 が出ることがあり、逆に Godot 4 基準 JSONL で Godot 3 コードを検査したときに source/target 文字列が混在すると結果が曖昧になることがあると考える
- そこで次のテストからは単に 6 件の応答が
예/아니오 で合っているかを見るのではなく、共通文法かバージョン差かを先に分けてから JSONL 作成基準バージョン と 検査コードバージョン を分離し、原始応答を記録する戦略に変更すべきだと思う
- この過程で単に検証プロンプトだけを修正する問題ではなく、プロンプト戦略とデータセット収集戦略も同時に変更する必要性を感じた
- 今後は JSONL を作成する段階から共通文法、Godot 3 専用根拠、Godot 4 専用根拠、migration 双方向根拠が混ざらないように収集/生成基準をさらに分離して設定すべきだと思う
- 一方、公式ドキュメントの Markdown → JSONL 変換も継続して進められ、本日基準で全体 1,570 件の Markdown のうち約 600 件が JSONL に変換された
- テスト記録ドキュメント: Qwen Godot コード JSONL 根拠マッチングテストチェックリスト
- スキーマ参照: Qwen テスト用 JSONL スキーマと用途
- 調査メモ: Retriever 検索代替 ChatGPT メモ
- 見本用分解ドキュメント: Retriever 検索代替分解ドキュメント
- 代替案別詳細ドキュメント: A 現在 full‑text, B BM25 only, C embedding only, D BM25 + embedding, E Qwen query profile, F reranker + validator
- 振り返り: docs/retrospectives/2026-06-28.md