【要約】LLMエージェントに「文脈」を渡す:verifiedクエリのインデックス管理で深掘り分析を実現 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
データ分析の自動化を目指すエンジニアが、LLMエージェントの分析能力の限界に直面した。dbtでスキーマを整備しても、エージェントはデータの「定義」は読めても「文脈」を理解できない。その結果、エージェントは表面的な集計に留まり、自律的な深掘り分析に至らない。
- ・データの定義変更などの「癖」を把握できない。
- ・過去の分析結果や棄却された仮説を知らない。
- ・同じ間違いを繰り返し、コンテキストを浪費する。
- ・ドメイン知識が不足し、分析の質が上がらない。
// Approach
開発者は、dbtの解析機能とMarkdownを組み合わせた管理手法を採用した。SQLファイルと対になるMarkdownファイルを配置し、ドメイン知識を構造化して蓄積する。これにより、エージェントが参照可能な知識ベースを構築する。
- ・
analyses/insights/にSQLとMarkdownをペアで保存する。 - ・YAMLフロントマターに
sources,columns,tags,statusを定義する。 - ・
status: refutedで棄却された仮説を明示的に記録する。 - ・CLIスクリプトにより、必要な知識のみをエージェントに渡す。
// Result
この仕組みにより、エージェントは最小限のコンテキストで高度な分析が可能になった。複雑なRAGを構築せずとも、軽量なスクリプトのみでドメイン知識の提供を実現した。分析の精度向上と、開発コストの抑制を両立している。
- ・コンテキスト消費を抑えつつ、深掘り分析が可能になった。
- ・Git管理により、分析の履歴と再現性が保証される。
- ・
dbt show --output jsonの活用で、データパースの精度を向上させた。
Senior Engineer Insight
> RAGに頼らず、Git管理可能なMarkdownで知識を構造化した点は非常に優秀だ。特に「棄却された仮説」を管理する設計は、エージェントの無駄な試行錯誤を防ぐ実戦的な知恵である。大規模なデータ基盤において、人間の暗黙知をコードとして管理するこの手法は、AIエージェントの実装における標準的なパターンになり得る。運用コストと再現性のバランスが極めて高い。