はじめに

先日公開された Devin Wiki、ちょっと試してみるつもりで見てみたものの、あまりに凄すぎたのでこの感動を伝えたく、実際のブツをもとに紹介したいと思います。

Devin Wiki の使い方

何もする必要はありません。
Devin でアクセスできるリポジトリの中身を Deep に理解して、構成の理解を助けるための Wiki を作ってくれます。
Devin のアカウントを持っていないけど、すぐに体感したい方は、Public リポジトリであれば、だれでも無料で試すことができます。
Public リポジトリの、”github.com” を “deepwiki.com” に書き換えるだけで、以下のようなものを閲覧できます。


今回紹介するモノについて

私のチームではすでに Devin を採用し、Private リポジトリに連携していたため、ちょっと覗いてみたところ、かなり衝撃的なものが出来上がっていました。

今回、Deep Wiki の結果を紹介させていただくものは、弊社で提供している Sysdig 運用サービスの中で使っている機能の一部です。一部とは言いつつも、割とメインの機能です。
Sysdig 運用サービスとは、CNAPP (Cloud Native Application Protection Platform) サービスである Sysdig Secure の初期設定から、アラートが発生した際のトリアージ、アラート情報に補足の追加や日本語翻訳を施した通知、定期的なレポート提出などを行うサービスです。
https://cloudpack.jp/service/cloud-service/sysdig-maintenance.html
このトリアージおよびアラート通知機能には、AMS (Advanced Monitoring System) という弊社独自開発の一次運用の半自動化システムを活用しています。
AMS をベースに Sysdig から PagerDuty を介して発報されたアラートを処理します。

この部分は、去年の私自身の冬休みの宿題としてインフラレイヤーからアプリレイヤーにおいて、設計から構築・開発まで行ったものです。このシステム自体のセキュリティもしっかり行っているし、とくに特殊な構成をとっているわけでもないので、実物をベースに紹介させていただきます。

構成は、以下のような感じになっています。

  • インフラ
    Amazon EKS
  • アプリケーション
    Python (Flask)

クラウドリソースは Terraform でデプロイしています。EKS なので kubernates (k8s) マニフェストでコンテナリソースを定義しています。アプリケーションは前述のとおり、Python で記載し、幾つかの外部ライブラリを使用しています。
すなわち、.tf, .yaml, .py などなど、様々な種類のコードや設定ファイルで成り立っています。
リポジトリの READMEead.md も、有名どころの OSS のような充実はしていないです。
果たして、これで出来上がる Deep Wiki はどんなものだろうか。。。

実際のアウトプット

目次と 1.0 概要

(Google 翻訳で日本語化しています)
概要には、先述の内容を綺麗に文書化しています。
また、目次を眺めると、各レイヤごとのドキュメントから、セキュリティ構成、トラブルシューティングのような非機能要件のところまで書いてくれているようです。
いくつか個人的に注目したいところを紹介します。

1.1 システムアーキテクチャ

概要構成について、コンポーネント図やシーケンス図を交えて文書化しています。
注目ポイントとしては、ピンクのカーソル部分です。
開発経験のある方はイメージがつくと思いますが、外部コンポーネントかつプログラムから見て前工程となる PagerDuty は、コードには明示的に登場するものではありません。それでも、コメントや関数名・変数名などから推測して記載してくれています。

1.2 開発環境

一部、Google 日本語翻訳が可読性を下げていますが、エクシュトル = eksctl、舵 = helm です。本記事と本質的に関係ないため、以降、適宜修正して記載します。
このように、このシステム運用に必要なツール類や、デプロイパターン(image のビルド、リポジトリへの push、k8s マニュフェストの更新と適用)などを文書化します。

2.0 アプリケーション

アプリケーション構成にフォーカスしたドキュメントです。
ブロック図、シーケンス図、クラス図などが自動生成されます。
ハルシネーションは見つからなかったくらい、かなり高精度です。

2.1 Flask アプリケーション

さらにブレイクダウンしたドキュメントです。
Format response に対するエラーハンドリング漏れに気づくことができました!
なお、これらは関数名ではなく、処理内容から言語化してくれているようです。
とくに有効そうなのが依存関係です。モザイクかけていますが、バージョンまで記載してくれています。インベントリ管理にもなるようです。

2.3 外部統合

外部モジュールと連携した処理にフォーカスしたドキュメントです。
アプリケーション開発で注意が必要なところなので、有益なドキュメントです。

3.0 インフラストラクチャ

アプリケーションレイヤだけでなく、インフラレイヤも図を交えて可視化してくれます。
Devin Wiki の AI モデルがしっかりと AWS アーキテクチャのトレーニングをされていることが伺い知れる高レベルなものになっています。

3.1 AWS 環境

VPC や EKS などのコンポーネントごとの詳細ドキュメントも出力します。
繰り返しになりますが、Devin はコードだけでなく、クラウドも高度に学習済みのようです。

3.3 Kubernates リソース

AWS の ALB コストを圧縮するために、このシステムでは1個の ALB を、パス制御によって名前空間を分けた複数の k8s コンテナ上のアプリケーションで共有する少しトリッキーな構成にしていますが、しっかりと読み取ってくれているようです。

4.0 デプロイメント

先述のデプロイメントプロセスについても、しっかりと文書化しています。
本システムでは、Github Action を使って自動化しているところもあるのですが、まぁ自動化は動かなくなることもある想定の元に手順を書いておいたので、その辺りを汲み取ってくれているようです。

4.1 コンテナ化

コンテナイメージ生成からリポジトリに登録するところまでにフォーカスしたドキュメントです。README.md に手厚目に書いていたところなので、Deep Wiki も詳し目に書いてくれています。

4.2 Kubernates のデプロイメント

k8s のデプロイにフォーカスしたドキュメントです。
こちらも同じく、README.md にもそこそこ手厚く書いていたのですが、ローリングアップデート構成になっているため、サービス影響が出ないなど、さらに膨らませてくれています。

5.0 オペレーション

なんと、運用マニュアルも生成してくれます。
コードからの生成物になるため、もう少し加筆は必要なものの、これをベースにすることでかなりいいものに仕上げられそうです。

5.2 セキュリティ構成

念のため、具体的な実装値にはモザイクをかけていますが、このようにセキュリティ対策の概要も文書化してくれます。こちらも、リポジトリからのものになり、別途外部から行っている CSPM や CWPP などの対策までは載ってきていないですが、README.md に情報を集約しておけば、まとめて文書化してくれそうです。

5.3 トラブルシューティング

これ、感動レベルです!
コードを読み解き、推察される原因とその対策を記載してくれています。
これまでログメッセージを細かく書きまくっておく、そうしないと運用時に困るってところだった部分に対し、かなり強力な助けになりそうです。

まとめ

一部だけ貼るつもりが、ほぼ全ページを共有することになりました。
その分、Devin Wiki の凄さは伝わったかと思います。
文書化という、非常に重要だがおざなりにされがちだったところを、Devin Wiki は嫌がることもなく手伝ってくれます。

なお、アイレットでは、このような感じで積極的に生成 AI ツールを活用したインフラ構築からシステム開発も行っています。開発チームに限らず、このサービスの主幹のセキュリティチームでも Devin に限らず、様々な AI 活用を進めています。
セキュリティチームメンバーによるJAWSDAYS 2025 の登壇内容

ご興味のある方は、是非、ご相談ください!