2026.06.10 Search & Retrieval 12 min read MarianのAsk(RAG)は、ベクトル検索と全文検索を単純に混ぜていません。ACLフィルタ→バイナリ類似度による粗探索→int8ドット積によるリランク→Reciprocal Rank Fusionという4段パイプラインで、権限リークを構造的に防ぎながら複数の検索シグナルを統合します。本記事では各段の実装、RRFの式と定数(k=60、keyword重み0.85)、そしてフラグオフ時のグレースフルデグラデーション設計を解説します。
2026.06.05 Search & Retrieval 12 min read チャンク単位のRAGは「このドキュメント群は全体として何を言っているか」という広い質問に弱い。MarianはRAPTOR(Recursive Abstractive Processing for Tree-Organized Retrieval)方式の要約ツリーを実装し、リーフ(チャンク)から要約ノードを再帰的に積み上げます。本記事では、葉数加重のバイナリ重心、貪欲最近傍クラスタリング(branching=4)、全階層を一括スコアリングするcollapsed-tree検索、そしてmarian_file_tree_nodesテーブルへの永続化を解説します。
2026.06.02 Engineering 11 min read ドキュメントをRAGに載せる経路は「分割→埋め込み→格納」の3手に見えますが、運用で効くのは2回目以降の再インデックスです。Marianはチャンク内容のFNV-1aデュアルハッシュをembeddingsテーブルに併置し、変更のないチャンクの再埋め込みをスキップします。チャンクサイズの実定数(1400字/256トークン)、ファイル種別ごとの分割戦略、planReindexによる差分計画の実装を解説します。
2026.05.20 Architecture 10 min read RAGの「どのドキュメントをどの粒度でプロンプトに入れるか」は、普通ユーザーから見えないブラックボックスです。Marianのコンテキストエンジンはこれを明示的なデータ構造にしました。スコープ(notebook/vault)×ソースごとのグレイン(full/summary/excluded)の組み合わせからトークン見積もりつきのContextPlanを構築し、8,000トークンのソフト予算に対する消費をユーザーに見せます。計画と実行を分離するこの設計は、要約プランナー(single vs map-reduce)にも貫かれています。
2026.05.19 Engineering 11 min read 検索パイプラインに量子化やRAPTORのような変更を入れるとき、「壊れていないこと」をどう保証するか。LLM-as-a-judgeは遅く高くフレーキーで、CIゲートには不向きです。Marianはシード固定のシンセティックコーパス(24トピック×10チャンク、120クエリ)に対してrecall@k / MRR / nDCG / MAPを計算し、recall@10 >= 0.6を満たさなければCIを落とす決定的な評価ハーネスを実装しました。指標の実装からコーパス生成、ゲート設計までを解説します。