DeepWiki調査メモ

Table of Contents

背景・動機

Devin社が開発したDeepWikiが世間を賑わせていた。

https://deepwiki.com/

DeepWiki: あらゆるGitHubリポジトリに対応する最高のAIドキュメントジェネレーター にもあるとおり、DeepWikiは次のような機能を提供してくれている。 DeepWikiが生成するドキュメントは圧倒的に質が高く、まさしく顧客が求めていたものを提供してくれているなという感想。

  • レポジトリ内のドキュメントを自動生成
  • 対話型AIアシスタント
  • フローチャート生成

DeepWikiはDevinに契約していればPrivate Repoにも使えるが、個人がDevinを契約するのは流石にハードルが高い。

DeepWikiが自分にとってどれくらい使いものになるのか、またOSS版の AsyncFuncAI/deepwiki-open を使ってみて、どのくらいの精度で出力されるのか調査をした。

試したこと・やったこと

1. 普段よく使うOSSにDeepWikiを使う

普段よく使っていて、内部的にどう動いているのかある程度把握してるレポジトリをコード規模ごとに選定した。 書いてあることに嘘はないか、網羅性はどうか、実用に耐えうるかを確認した。

Chatで普段使ってる人しか知らなさそうなことを質問しまくって精度を確認した。 その結果、ドキュメントの質も網羅性も自分の用途では申し分がないことが確認できた。

2. DeepWikiに自分のPublic Repoを食わせてみる

それなりのコード量のある自分のPublic RepoをDeepWiki食わせてみた。

解説記事を書く手間が省けたし、自分しか知らないことをChatで対話しても明瞭に回答してくれた。

3. OSS版のAsyncFuncAI/deepwiki-openを試す

AsyncFuncAI/deepwiki-open をLocal立ち上げて動かしてみる。

記事公開日現在、DeepWikiで生成されたものとdeepwiki-openが生成したものを見比べてみた。 DeepWikiには多少劣るが、かなりのクオリティで出力されるようになった。

deepwiki-openにもチャット機能があるが、こちらも十分に機能してくれていることを確認した。

得られた結果・所感

DeepWikiのクオリティが圧倒的に高いことがわかったので、今後OSSコードリーディングにDeepWikiを利用していくことにした。

deepwiki-openは当初触った時、あまり網羅性がなく質の悪いアウトプットだったが、2週間くらい経って一気にクオリティが上がった。 AI関連ツールの進化は尋常じゃないくらい早いので2週間前に使ってイマイチだったからといって使えないと判断するのは早計だなと改めて感じた。

@ryoppippi がDeepWikiのbadgeを作れるOSSを作っていたので流行に乗って takeokunn/blogtakeokunn/nixos-configuration に配置した。(Thanks ryopi)

今後の展開・検討事項

Aiderに食わせる為のコーディング特化のDeepWikiを作りたいのでMastraで自作する。