OpenClawで社内Wikiを自動巡回させてみた(実例紹介)

OpenClawで社内Wikiを自動巡回させてみた(実例紹介) はじめに 「あのプロジェクトの設計思想、どのドキュメントに書いてあったっけ?」 「新メンバー向けのオンボーディング手順、最新版はWiki?それともGoogle Docs?」 「先月の定例会の議事録、誰が持ってるんだっけ…」 エンジニアの皆さんなら、こんな経験に一度は心当たりがあるのではないでしょうか。 私たちのチームでも、情報がConfluence、Notion、Google Drive、GitHub Wikiなど、様々な場所に散在していました。いわゆる「情報のサイロ化」です。この結果、必要な情報を見つけるために多大な時間を費やし、時には見つけられずに同じ質問がSlackで繰り返される、という非効率が常態化していました。 この問題を解決すべく、私たちは社内に散らばった情報を自動で収集・要約し、一元的に検索できるボットの開発に取り組みました。そして、その中核技術として採用したのが、Webクローラーフレームワーク「Scrapy」とLLM(大規模言語モデル)を統合した「OpenClaw」です。 この記事では、OpenClawを使って実際に社内Wiki(今回はConfluenceを例にします)を自動巡回し、ページの情報を収集・要約するボットを構築した実例を、具体的なコードと共に詳しくご紹介します。社内のナレッジマネジメントに課題を感じているエンジニアの方々にとって、一つの実践的な解決策となれば幸いです。 なぜこの技術・話題が重要なのか(背景と課題) 現代の開発現場では、スピードとコラボレーションが強く求められます。その基盤となるのが、円滑な情報共有です。しかし、組織が成長し、プロジェクトが複雑化するにつれて、情報は意図せず分散し、サイロ化していく傾向にあります。 情報サイロ化が引き起こす深刻な問題 情報のサイロ化は、単なる「探し物が面倒」というレベルの問題にとどまりません。 生産性の低下: 開発者は1日のうち、情報の検索に平均で20%以上の時間を費やしているという調査結果もあります。これは週に1日分を情報検索に浪費している計算になり、無視できないコストです。 オンボーディングの困難化: 新しくチームに参加したメンバーが、必要な情報を自力でキャッチアップするのが非常に困難になります。教育担当者の負担が増え、新メンバーの立ち上がりも遅れてしまいます。 ナレッジの陳腐化と属人化: ドキュメントが更新されずに古い情報が参照されたり、特定の人物しか知らない「暗黙知」が増えたりします。結果として、誤った意思決定や、担当者不在時の業務停滞リスクが高まります。 機会損失: 過去のプロジェクトで得られた知見やノウハウが埋もれてしまい、再利用されません。車輪の再発明が繰り返され、組織全体の学習効率が低下します。 LLM時代における新たなアプローチ こうした課題に対し、これまでも全文検索エンジンの導入など、様々な対策が取られてきました。しかし、キーワード検索だけでは、大量の検索結果の中から本当に求めている情報(コンテキスト)を見つけ出すのは依然として困難でした。 ここで大きな変革をもたらしたのが、LLMの登場です。LLMは、自然言語で書かれた膨大なテキストを理解し、要約したり、質問に答えたりする能力を持っています。 このLLMの能力と、Web上の情報を体系的に収集するWebクローリング技術を組み合わせることで、「散在する情報を自動で収集し、文脈を理解した上で要約・整理し、自然言語で対話的に検索できる」という、次世代のナレッジマネジメントが実現可能になります。 OpenClawは、まさにこの「クローリング」と「LLMによるデータ処理」をシームレスに繋ぐために設計されたフレームワークであり、この課題に対する強力なソリューションとなり得るのです。 具体的な解決策や詳細な解説 それでは、実際にOpenClawを使って社内Confluenceを巡回する情報収集ボットを構築するプロセスを、ステップ・バイ・ステップで解説していきます。 システム全体のアーキテクチャ 今回構築するシステムの全体像は以下のようになります。 graph TD subgraph "開発環境" A[開発者] -- 1. 実行コマンド --> B(OpenClaw実行環境); end subgraph "OpenClawボット" B -- 2. ログイン要求 --> C(社内Wiki: Confluence); C -- 3. ログイン成功/Cookie発行 --> B; B -- 4. ページ巡回要求 --> C; C -- 5. HTMLを返す --> B; B -- 6. HTMLから本文抽出 --> D(LLM Pipeline); D -- 7. テキスト要約要求 --> E[LLM API (例: GPT-4o)]; E -- 8. 要約結果を返す --> D; D -- 9. 処理済みデータを保存 --> F[データストア (JSONファイル)]; end A -- 10. 結果を確認 --> F; 開発者がローカル環境でOpenClawのクローラーを実行します。 クローラーはまずConfluenceにログインし、セッションを確立します。 指定されたスペースのページを順番に巡回し、各ページのHTMLコンテンツを取得します。 取得したHTMLから、ヘッダーやサイドバーなどの不要な部分を取り除き、本文テキストのみを抽出します。 抽出したテキストを、OpenClawのパイプライン機能を使ってLLM API(今回はOpenAIのGPT-4oを想定)に送信します。 LLMがテキストを要約し、その結果を返します。 ページのタイトル、URL、そしてLLMによる要約をセットにして、JSONファイルとして保存します。 Step 1: 環境構築 まず、開発環境を準備します。Python 3.8以上と、パッケージ管理ツールであるpipが必要です。仮想環境を作成することを強く推奨します。 ...

February 12, 2026 · 5 min · AI2CORE 編集部