WAT Note(III).

Devinを使ってみた

Tatsuroh Wakasugi
Tatsuroh Wakasugi

AI に関するツールとして、「Devin」が気になっていたので、今回はそれを使用してみた。

Devin とは

Devin1は、米国の Cognition 社が開発した完全自律型のソフトウェアエンジニアリング AIです。単なるコード生成ツールではなく、人間のエンジニアと同じように

  • 要件を理解し、計画を立てる
  • コードを書く
  • テストを実行する
  • バグを修正する
  • GitHub でプルリクエストを作成する
  • デプロイまで実行する

これらの作業を自律的に行うことができます。

従来のコーディングアシスタントとの違い

従来の Cursor や ChatGPT などのコーディングアシスタントは、開発者が書いているコードの補完や、質問に対するコード例の提供が主な機能でした。

一方、Devin は

  • プロジェクト全体を理解し、エンドツーエンドで作業
  • 自律的な判断でタスクを進行
  • 開発環境を自分で構築・操作
  • 外部リソース(Web 検索、API 呼び出し等)を活用

という点で大きく異なります。

実際の使い方

以下に、実際に Devin を使ってみた流れを紹介します。

アカウント作成

  1. Devin 公式ページ1 にアクセス

  1. 「Get Started」をクリック
  2. メールアドレスを入力してアカウントを作成

  1. 支払い情報を登録(本記事公開時点では無料プランはありません。利用するには最低でも 20 ドル分かかる Core Plan の購入が必要になります)

  1. 自分の Github 等のアカウントと連携する

基本的な使い方

簡単なタスクから始める

最初は以下のような簡単なタスクから始めましょう。

Devin には自然言語で指示を出します。

githubに新しいレポジトリを作り、そこにgolangを利用したToDoリストアプリを作成してください。
機能・特徴としては以下でお願いします。
- タスクの追加・削除・完了機能
- シンプルなWebインターフェース

すると以下のように、Devin が一からプロジェクトを作り、コード類を作成してくれます。

最終的に出来上がりました。

また上記のように、Devin は作業中の進捗を逐一報告してくれます。

  • 現在の作業内容
  • 完了したステップ
  • 次に実行予定のタスク
  • 発生した問題と解決策

などを表示してくれます。

(しかし、どうやら github にレポジトリを作成できる権限はないようで、コード類は手動で上げてくれと出ました・・)

そちらをあげて確認したところ、見事以下のような ToDo アプリが出来上がりました。

より高度な使い方

他の利用法として以下のようなものがあります。

既存プロジェクトの改修

自分の Github 上にあるレポジトリに対しての改修をさせることができます。

このリポジトリにテストコードを追加してください。
- カバレッジ80%以上を目指す
- CI/CDパイプラインも設定してください

実際に試したところ、以下のように対応してくれました。

バグ修正の依頼

また Issue が上がっている場合は、同様にその修正を依頼することもできます。

このプロジェクトで発生している以下の問題を修正してください。
- Issue #123: ログイン機能が正常に動作しない
- Issue #124: レスポンシブデザインが崩れる
- 修正後にプルリクエストを作成してください

使用時のポイント・注意点

Devin を利用する際は、以下に留意した方が良いと感じています。

成功のコツ

  1. 明確な指示:曖昧な指示よりも、具体的な要件を伝える
  2. 段階的なアプローチ:大きなプロジェクトは小さなタスクに分割
  3. 進捗確認:定期的に進捗を確認し、必要に応じて軌道修正
  4. 品質チェック:完成したコードは必ず自分でも確認

注意点

  1. ACU の消費量:複雑なタスクほど多くの ACU を消費
  2. セキュリティ:重要な情報は共有しない
  3. 依存関係:外部 API キーなどは別途設定が必要
  4. 最終確認:本番環境への適用前に必ずテストを実施

まとめ

Devin 2.0 は、従来のコーディングアシスタントの概念を大きく超えた、革新的な AI 開発エージェントです。無料プランはなく、利用には最低 20 ドル かかるようになっていますが、それでも利用する価値はあると思います。

完全に人間のエンジニアを置き換えるものではありませんが、適切に活用することで

  • 開発効率の大幅な向上
  • 単純作業からの解放
  • 新しい技術への学習支援
  • プロジェクトの迅速な実現

といったメリットが期待できます。

AI 技術が急速に発展する現在、Devin のような先進的なツールを早めに体験し、その可能性を理解することは、エンジニアとしての競争力向上につながるでしょう。

まずは簡単なタスクから始めて、徐々に Devin の能力を活用してみてください。きっと新しい開発体験に驚くはずです。


Footnotes

  1. Devin(公式ページ) 2