01. アイデア・背景
解決したい課題
Section titled “解決したい課題”1. Confluence の HTML はノイズが多い
Section titled “1. Confluence の HTML はノイズが多い”Confluence API から取得できる HTML には、LLM にとって不要な情報が多く含まれています。
実際の Confluence コンテンツの例:
<h2>機能仕様</h2><p>ログイン機能は以下の要件を満たす必要があります:</p><ul> <li>メールアドレスとパスワードでの認証</li> <li><strong>2要素認証</strong>をサポート</li></ul><ac:structured-macro ac:name="info"> <ac:rich-text-body> <p>セキュリティ要件についてはXXXを参照</p> </ac:rich-text-body></ac:structured-macro>LLM への影響:
- トークン数が無駄に増える(コスト増)
- 本質的な情報が埋もれる
- HTML タグを文章として解釈してしまう
- Confluence マクロの構文がノイズになる
2. トークンコストが増加する
Section titled “2. トークンコストが増加する”HTML タグを含んだまま LLM に渡すと:
- 変換前(生 HTML): 約 150 トークン
- 変換後(Markdown): 約 80 トークン
- 削減率: 約 47%
大規模ドキュメントでは、この差がコストに直結します。
| ページサイズ | HTML | Markdown | 削減率 |
|---|---|---|---|
| 小(1KB) | 300 tokens | 180 tokens | 40% |
| 中(5KB) | 1,500 tokens | 800 tokens | 47% |
| 大(20KB) | 6,000 tokens | 3,200 tokens | 47% |
3. LLM の理解精度が低下する
Section titled “3. LLM の理解精度が低下する”HTML ノイズがあると:
- 要約の品質が低下する
- 検索精度が下がる
- RAG(検索拡張生成)でのベクトル化時にノイズが混入する
解決アプローチ
Section titled “解決アプローチ”クリーンな Markdown に変換
Section titled “クリーンな Markdown に変換”変換例:
## 機能仕様
ログイン機能は以下の要件を満たす必要があります:
- メールアドレスとパスワードでの認証- **2要素認証**をサポート
> ℹ️ Info: セキュリティ要件についてはXXXを参照効果:
- トークン削減: 約50%
- 読みやすい
- LLM が理解しやすい
- 構造を保持
graph TB
A[Confluence HTML] --> B[HTML Parser]
B --> C[Remove Unwanted Elements]
C --> D[Expand Confluence Macros]
D --> E[Convert to Markdown]
E --> F[Post Process]
F --> G[Clean Markdown]
単体でも十分価値がある使用ケース
Section titled “単体でも十分価値がある使用ケース”1. AI チャットで Confluence 読み込み
Section titled “1. AI チャットで Confluence 読み込み”- 現状: HTML タグだらけで読みにくい
- 改善: クリーンな Markdown で理解しやすい
2. ドキュメント要約ツール
Section titled “2. ドキュメント要約ツール”- 現状: HTML ノイズで要約精度が低い
- 改善: 本質的な内容だけを要約
3. 検索インデックス作成
Section titled “3. 検索インデックス作成”- 現状: HTML タグも検索対象になる
- 改善: テキスト部分だけをインデックス化
4. レポート生成
Section titled “4. レポート生成”- 現状: HTML をそのまま含めると見づらい
- 改善: 整形された Markdown で出力
5. RAG(検索拡張生成)
Section titled “5. RAG(検索拡張生成)”- 現状: ベクトル化時に HTML がノイズ
- 改善: クリーンなテキストで精度向上
期待される効果
Section titled “期待される効果”1. コスト削減
Section titled “1. コスト削減”- LLM API 料金が約半分に
- 処理時間の短縮
- トークン数の最適化
2. 精度向上
Section titled “2. 精度向上”- LLM の理解度が向上
- 検索精度の向上
- 要約品質の向上
3. 開発効率
Section titled “3. 開発効率”- 実装時間: 3-5日で基本機能完成
- 保守性: 共有ロジックで一元管理
- 拡張性: 新しいツールで簡単に活用
将来的な拡張可能性
Section titled “将来的な拡張可能性”Context Aggregator との統合
Section titled “Context Aggregator との統合”graph LR
A[JIRA Ticket] --> B[Context Aggregator]
B --> C[Confluence Search]
C --> D[confluence-md]
D --> E[Clean Markdown]
E --> F[Scoring & Summarization]
JIRA チケットから関連情報を集約する際、内部で confluence-md を使用することで:
- ノイズのない正確な要約
- 関連性の高い情報だけ抽出
- 引用元付きで信頼性確保