本日、オープンソースのエージェント兼 CLI である OpenWiki をリリースしました。コードベースのドキュメント生成とメンテナンスを自動化するツールです。
エージェントがより良いコードを書くには、作業中のリポジトリを理解している必要があります。主要なロジックがどこにあるか、ファイルがどのように接続されているか、コードベースが期待するパターンは何か。優れたドキュメントはエージェントにそのコンテキストを提供し、より的確なコード変更と、回避可能なミスの削減につながります。
問題は、ドキュメントを最新に保つのが難しいことです。初回の作成に時間がかかるのはもちろん、コードが変わるたびに更新するのはさらに大変です。PR が頻繁に発生する大規模リポジトリでは、ドキュメントはすぐに古くなってしまいます。
OpenWiki はその作業を自動で行います。リポジトリの Wiki を作成し、その Wiki をコーディングエージェントに接続し、コードの変更に合わせて自動更新します。
エージェントにとっての Wiki の価値
私たちは、コードベース Wiki に関する既存の取り組み(DeepWiki、AutoWiki、Karpathy 氏の LLM Wiki のコンセプトなど)から着想を得ました。共通する考え方はシンプルです。Wiki は、すべてのコンテキストを 1 つの巨大なファイルに詰め込むことなく、人間とエージェントがコードベースを構造的に理解する方法を提供します。
これは重要です。なぜなら、ほとんどのコーディングエージェントは既に AGENTS.md や CLAUDE.md といったファイルを指示書として読み込んでいるからです。これらのファイルは便利ですが、数百ページに及ぶリポジトリのドキュメントを置く場所としては適していません。エージェントを適切なコンテキストへ導き、その後はエージェントが必要なものを取得させるべきです。
OpenWiki はそのモデルに従います。リポジトリの Wiki を生成し、エージェントの指示ファイルにその Wiki への参照を追加します。その後、コーディングエージェントは自動的にドキュメントを発見して利用できるようになります。
はじめに
OpenWiki はコマンドラインから簡単に実行できるように設計されています。
NPM でインストールします。
npm install -g openwiki
次に実行します。
openwiki --init

init コマンドはモデルプロバイダーと API キーを尋ね、その後リポジトリのドキュメントを生成します。
OpenWiki は OpenRouter、Fireworks、Baseten、OpenAI、Anthropic など、オープンおよびクローズドの両方のモデルプロバイダーをサポートしています。デフォルトでは OpenRouter とオープンモデルを使用しますが、自分のセットアップに最適なプロバイダーを設定できます。
OpenWiki は DeepAgents をベースに構築されているため、LangSmith へのトレーシングもサポートしています。LangSmith の API キーを指定すると、OpenWiki は実行を LangSmith プロジェクトにトレースし、エージェントがドキュメントの生成や更新時に何を行ったかを詳細に確認できます。
OpenWiki とコーディングエージェントの連携方法
Wiki を生成した後、OpenWiki はリポジトリのエージェント指示ファイルを更新します。リポジトリが AGENTS.md、CLAUDE.md、またはその両方を使用している場合、OpenWiki は生成された Wiki への参照を追加し、エージェントがいつそれを使用すべきかを説明します。
このアプローチを採用した理由は、Wiki 全体を指示ファイルに含めるとコンテキストが大きくなりすぎるからです。大規模なリポジトリでは、Wiki は何百ものファイルに及ぶ可能性があります。それらすべてをエージェントの実行ごとに読み込むのは非効率で、メンテナンスも困難です。
短い参照の方がうまく機能します。コーディングエージェントは既に指示ファイルを読み込んでいます。OpenWiki が参照を追加すれば、エージェントはワークフローを変更することなく、リポジトリのコンテキストが必要なときに Wiki を見つけられるようになります。
Wiki を最新に保つ
ドキュメントを一度生成するのも便利ですが、それを最新に保つことが OpenWiki の真の価値です。
OpenWiki にはスケジュールで実行できる GitHub Action が含まれています(例:1 日 1 回)。このアクションは更新フラグを付けて OpenWiki を実行します。OpenWiki は前回の実行以降にコミットされた内容を確認し、git diff を使って変更を把握し、関連するコンテキストで Wiki を更新します。
つまり、このワークフローはバックグラウンドで動作できます。コードベースが変更されるたびに、OpenWiki がドキュメントを更新します。コーディングエージェントは既存の指示ファイルの参照を通じて、常に最新の Wiki を取得します。
まずはコードベース向けに
この最初のリリースは、コードベース向けの Wiki に焦点を当てています。目的は、開発者が手動で詳細なドキュメントを作成・維持することなく、エージェントが作業中のリポジトリを理解しやすくすることです。
将来的には、OpenWiki のコンセプトをより広く適用できると考えています。エージェントはコーディングだけでなく、さまざまな作業において永続的なコンテキストを必要とします。コードベースのドキュメントは最初のユースケースですが、同じパターンが他のワークフローでもエージェントの有用なコンテキスト維持に役立つでしょう。
試してみる
OpenWiki はオープンソースで、今すぐ利用可能です。
インストールして openwiki --init を実行すれば、数分でリポジトリの Wiki を生成できます。
こちらのリポジトリをご覧ください: https://github.com/langchain-ai/openwiki
ウォークスルー動画もご視聴ください: https://youtu.be/nIVu3zfYprI





