Skip to content

01. アイデア・背景

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 マクロの構文がノイズになる

HTML タグを含んだまま LLM に渡すと:

  • 変換前(生 HTML): 約 150 トークン
  • 変換後(Markdown): 約 80 トークン
  • 削減率: 約 47%

大規模ドキュメントでは、この差がコストに直結します。

ページサイズHTMLMarkdown削減率
小(1KB)300 tokens180 tokens40%
中(5KB)1,500 tokens800 tokens47%
大(20KB)6,000 tokens3,200 tokens47%

HTML ノイズがあると:

  • 要約の品質が低下する
  • 検索精度が下がる
  • RAG(検索拡張生成)でのベクトル化時にノイズが混入する

変換例:

## 機能仕様
ログイン機能は以下の要件を満たす必要があります:
- メールアドレスとパスワードでの認証
- **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 で理解しやすい
  • 現状: HTML ノイズで要約精度が低い
  • 改善: 本質的な内容だけを要約
  • 現状: HTML タグも検索対象になる
  • 改善: テキスト部分だけをインデックス化
  • 現状: HTML をそのまま含めると見づらい
  • 改善: 整形された Markdown で出力
  • 現状: ベクトル化時に HTML がノイズ
  • 改善: クリーンなテキストで精度向上
  • LLM API 料金が約半分に
  • 処理時間の短縮
  • トークン数の最適化
  • LLM の理解度が向上
  • 検索精度の向上
  • 要約品質の向上
  • 実装時間: 3-5日で基本機能完成
  • 保守性: 共有ロジックで一元管理
  • 拡張性: 新しいツールで簡単に活用
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 を使用することで:

  • ノイズのない正確な要約
  • 関連性の高い情報だけ抽出
  • 引用元付きで信頼性確保