ブログ

業務で使えるAIツールを実体験〜DeepWiki / deepwiki-openハンズオン会参加レポート

こんにちは、愛知県瀬戸市で弟子プログラマをしているnoboです。

先日、社内で開催された「DeepWiki / deepwiki-open ハンズオン会」に参加してきました。
新しく参加したプロジェクトのコード読むのにも苦戦してる自分ですが、「リポジトリの中身をわかりやすくしてくれるツールがある」ことを知り、「これはちょっと触ってみたいぞ…!」と思い、参加してみました。
ソニックガーデン”弟子プログラマ”の先輩であるyasuさんが主催し、当日は7人の弟子プログラマがオンラインで集まりました。

以下、実際に触ってみて感じたことなどをレポートします!

DeepWikiってなに?

一言で言うと、「GitHubのリポジトリから、分かりやすいWikiを自動で作ってくれるやつ」です。
AIがコードを読んで、プロジェクトの構成とか、各モジュールの役割とかを図解と文字で説明してくれます。

たとえば、RailsのリポジトリをDeepWikiで見るとこんな感じです。
https://deepwiki.com/rails/rails

「ここがこのリポジトリのコアだよ」「このファイルたちが連携してるよ」みたいなことを、文字と図で見ることができ、自分でREADMEを読んで理解するよりも早く理解することができたので、「おお、めっちゃわかりやすい…!」と感動しました。
しかも、「このクラスってどこのファイルで定義している?」と聞くとAIが答えてくれるので、まるでリポジトリの中にガイドがいるみたいな感じです。

しかし、社内リポジトリには使えない問題

すごく便利なDeepWikiですが、社外サービスってことで、機密情報が入ってる社内のコードには直接使えないという課題が…。

そこで登場するのが deepwiki-openです!

DeepWikiのOSS版で、自分の環境(ローカルとか社内サーバー)で動かせるので、セキュリティ的にも安心感があります。
リポジトリの可視化やAIとのチャットもバッチリできます。
とはいえ、セットアップが少し難しいらしく…今回のハンズオンでは、みんなで実際にインストールして試してみようというテーマでした。

ハンズオンでやったこと

まずはDeepWikiの使い方をざっくり見て、どんな感じなのかを体験しました。
そのあと、いよいよdeepwiki-openのセットアップに挑戦!

READMEにあるように進めていくと、順調にセットアップすることができました。がつまずきポイントも…。

つまずきポイント

  • ・重めのリポジトリだと、解析に時間がめっちゃかかる
  • ・利用するモデルによっては、解析ができない場合がある
  • ・自分が公開しているリポジトリをOpenAIのGPT-4o-miniで解析すると、解析できないというエラーが発生。4oでは解析できました。

この会の主催のyasuさんの助けもあり、なんとか乗り切れました。
一人だったらエラーが出た時に諦めていたはず…。

deepwiki-openでリポジトリを解析した画面

使ってみて思ったこと

deepwiki-open、ちゃんと動かせるようになるとめちゃくちゃ便利だと感じました。
自分がまだあまり触ったことのないコードでも、READMEに書いてあるセットアップ手順以外のことを質問すれば回答してくれそうだし、実装する際に、「〇〇について書いてあるメソッドないかな」など、AIにチャットすることですぐに聞けるようになるので、理解がすごく早くなると思います。
ただ、AIとのチャットの精度はまだ低いと感じることもあるので、これからの開発に期待です。

また、

  • ・ プロジェクトに参加するメンバーに対してのオンボーディング
  • ・ 既存の実装を調べる

など、プロジェクトの参加初期に活かせそうだと思いました。
deepwiki-openは社内のナレッジを活用する方法としてすごく相性がいいと感じました。

まとめ

deepwiki-openは「DeepWikiほどの精度が出るのか?」とあまり期待していなかったのですが、思ったよりも精度が高かったのが印象的でした。また、deepwiki-openは「コードの中身を見える化してくれる強い味方」だと感じました。
今回主催してくださったyasuさんは、リポジトリをforkして自分好みにカスタマイズして使っていたので、OSSならではの「自分で作れる」というところがとても好印象でした。
リポジトリのIssuesやPull Requestsを見るとかなり活発に活動しているので、これからどんどん機能が追加され、より使いやすくなることが期待できて楽しみです。

まだまだ自分のコードリーディング力は発展途上ですが、このようなツールと組み合わせることで、もっと早く、深く理解できるようになれそうです。

新しいツールを個人で試すときもあるのですが、少し壁に当たるとそのまま諦めてしまうことが多いです。しかし今回のように先輩や仲間と一緒に取り組むことで、多くの知見を得ることができました。
参加してとても良かったです!

これからもいろいろ試して、少しずつスキルアップしていきます。

この記事を共有する