🤖

Devinを使ってみた - 自律型AIエンジニアの実力と現状の課題・活用のヒント

2025/02/10に公開

総評

Devinを試してみたところ、すでにジュニアエンジニアレベル以上の実力を持っていると感じました。むしろ、自分より頭が良かったり、気が利く場面すらあるほどです。
このペースで進化すれば、1〜2年でシニアエンジニアレベルに到達する可能性もありそうです。

とはいえ、Devinが学習するだけでなく、人間側も「どのようなタスクをお願いするか」「どのように指示を出すか」を学習する必要があります。
現時点では、非エンジニアが直接使うのは難しく、エンジニアがレビューや指示、品質担保をする必要があります。

Devinとは?

Devinは、自立型エンジニアAIエージェントです。コーディング、デバッグ、タスクの自動化などをサポートし、開発チームの生産性向上を目指します。単なるコード補完ではなく、独立してタスクを進めたり、レビュー用の成果物を提出することも可能です。Nubank(ブラジルのデジタル銀行)の大規模リファクタリングなど、実際の導入事例もあり、開発効率の向上に貢献しています。

コスト感

Devinの利用コストは時給約 ¥1,200 ほど。
競合が登場すれば、今後もっと安くなる可能性もあると思います。

  • 1ヶ月: $500(約62.5時間)
    • 1 ACU(15分) = $2

Devinの設定・オンボーディング

オンボーディング開始

GitHubと連携する

repositoryのセットアップを開始

repositoryのセットアップ画面

DevinはVSCodeでコーディングする

Devinはブラウザ(Chrome)も使える

VSCode内のterminalで環境構築をセットアップしてあげる

成果の一部

  • 詳細画面の一部markdown化: ✅ 成功
  • バージョンアップ作業: ✅ 成功
  • マジックナンバーを使わないeslint対応: ❌ 失敗 → 影響範囲が大きすぎて時間がかかりすぎた
  • e2eテストのCI修正: ✅ 成功
  • e2eテストのモック化: ❌ 失敗 → 参考コードを渡したにも関わらずTypeScriptのエラーや型修正を繰り返してしまう。修正範囲が大きいことが失敗の原因だと思う。

成功している時のやりとり例

何回か指示しているが、割とスムーズにPR作成・マージまでできた(´∀`)

失敗している時のやりとり例

試行錯誤しすぎて時間かかり過ぎてるので、落ち着かせている。
反省点を自分で整理してもらってるけど、結局同じような失敗をしてるのでイライラしている(´・ω・`)

Devinを使う上でのポイント

💡 効率的な運用方法

  • 待機時間も課金対象
    → 節約したい場合は sleep を指示して休ませる(起こすのに90秒かかる)
  • 最初に「日本語でお願い」と伝える
  • スコープの小さいタスクを依頼する
    → 例: 「マジックナンバーの除去」は影響範囲が広すぎて失敗
  • タスクの流れや進行方法を最初に説明する
  • 動作確認方法を明確に伝える
    → 例: 「単体テスト・結合テストを実行」「ブラウザで確認」など
  • Webやインフラ寄りのタスクが得意
    → スマホアプリ開発はできない

⚠️ 注意点

  • 複数のbashセッションを使うと課金が2倍になる可能性
    → 例: mockサーバー起動別sessionでテスト実行
  • Slackの情報は権限的に見れないのでコピペして伝える
  • 意図せずコードを変更することがある
    git diff で差分確認を推奨
  • ファイル名を指定しても見つけられないことがある
    → フルパスを伝える
  • たまに嘘をつく(存在しないコマンドを提案する など)

Devinの良い点・悪い点

✅ 良い点

  • セットアップ環境のスナップショット機能
    → 毎回クリーンな環境でタスクを実行できる
  • 関連ファイルを自発的に確認してくれる
    → 例: 何も言わなくてもテスト失敗時に psql でDBを確認

❌ 悪い点

  • 指示が曖昧だとコストパフォーマンスが悪い
    → Devinの課金 + 自分の時給がかかるため、明確な指示を出すべき
  • 筋が悪い方法で進めてしまうことがある
    → そのままPRを作ってしまうことも
  • たまに英語に戻る
  • バグっぽい挙動がある
    • ': がChromeで入力できない
    • 一度記憶させた knowledge が反映されないことがある

まとめ

Devinはジュニアエンジニア以上の実力を持ち、適切に活用すれば大きな戦力になります。しかし、効率的に運用するには 人間側の学習と工夫 も必要です。
特に「スコープの小さいタスクをお願いする」「待機時間のコストを意識する」「指示を明確にする」」といったポイントを意識することで、より効果的に使えそうです。

今後、Devinがさらに進化し、シニアエンジニアレベルに到達する日も遠くないかもしれません。

CureApp テックブログ

Discussion