🙌

Devin Wiki を利用して、システム運用を行ってみる

に公開

こんにちは

アルダグラムでエンジニアをしている安政です。

最近、システムの要件や仕様などの知見があまり残っていないシステムのお客様対応をすることが多くなりました。

基本的にはKANNA以外のシステム運用は外部の会社に委託をしているのですが、委託先の会社さん自体も変更したばかりのこともあり、仕様の調査などに時間がかかる状況です。

今回は、知見が残っていないシステムの保守業務を行うにあたり、どのような AI サービスを用いて、システムの全体像を把握したか、内部仕様の調査を効率化しているかについて簡単に共有したいと思います。

活用しているサービス

弊社では、KANNA の開発に Devin という AI サービスを利用しています。

主にコードレビューや簡単なPRの作成などに活用をしております。

Devin の機能として、Deep Wiki というサービスが、リリースされました。

https://docs.devin.ai/work-with-devin/deepwiki

Deep Wiki の中では、リポジトリを自動でインデックス化され、アーキテクチャ図やソースへのリンク、コードベースの概要を含む Wiki を作成してくれます。

利用方法は簡単で、リポジトリを紐づけると、10分程度で Wiki が生成されます。

活用事例

システムのアーキテクチャの把握

今回の事例のサービスはメインプロダクトである KANNA と API を利用して、連携を行うことでユーザーに価値を届けるようなサービスです。

KANNA と連携する際の認証部分のフロー図や叩いているエンドポイントなどの情報の可視化が行われます。

また、全体的なレイヤー構成なども示してくださります。

ただ、実際のシステムの動作を知っていないと理解しづらいことは否めません。

コアのビジネスロジックの把握

ソースコードからビジネスロジックを示してくれます。

このシステムでは、承認フローを作成したのちに、診断書・管理シートに設定を行い、保証書を発行するというのが、メインのロジックなのですが、以下のように可視化してくれました。

また、関連するソースコードへのリンクを記載していただけるので、ソースを追う足がかりとすることができます。

Ask Devin(β)

お客様からの問い合わせがあった際や改修の方針を決める際には “Ask Devin”という機能を用いることで、自然言語で問い合わせることができます。

例えば、診断書のステータスの種類について知りたい場合、以下のような回答が返ってきます。

それぞれのステータスの意味や用途、ソースコード上の記載場所が明示され、システム内での利用例なども提示していただけます。

パフォーマンス面の課題なども提示していただけます。

実際にこの課題は外部の会社とも認識しており、改修を予定している箇所を提示していただけました。

お客様から来た問い合わせをそのまま投げてみます。

問題の分析、根本原因、問題点、調査手順などを返してくれます。

今回は問題点の指摘通りトランザクションに課題があった形でした。

総論

Devin Wiki を活用することで、ある程度のシステム概要の把握やソースコードの調査などは行うことができそうです。

ただ、実際のシステムのユースケースなどは把握することでより理解が深まるので、ユーザーがどのように使うのかを実際の画面で動かして理解することが改めて必要だと感じました。

また、このシステムではバックエンドとフロントエンドのリポジトリが分かれています。

Devin Wiki の活用という点では、モノレポ構成にすることでより幅が広がるのではないかと予想しています。

今回は記載していないのですが、 Claude や Cursor などでリポジトリを読み込ませると同じようなことを返してくれることは確認できています。

今後、システムに関する仕様書などが少ないシステムの担当になった方は、ぜひ Devin くんたちと仲良くなり業務を進めることをお勧めします。

アルダグラム Tech Blog

Discussion