Devinが得意なこと・苦手なこと - 7ヶ月の運用から学んだこと
この記事は GMOペパボ EC事業部 アドベントカレンダー 2025 4日目の記事です。
はじめに
GMOペパボのEC事業部では、2025年5月からAIエージェント「Devin」を導入しました。当初は期待していたものの、期待に応えられないことが多く、利用場面が限定されていました。しかし、Claude Sonnet 4.5対応を境に状況が一変しました。内部モデルの変更により性能が劇的に向上し、利用範囲が大幅に広がっています。
本記事では、約7ヶ月の運用を通じて見えてきたDevinの得意なこと・苦手なこと、そしてClaude Sonnet 4.5がもたらした変化について解説します。
Devinとは
Devinは、Cognition AIが開発する自律型AIエージェントです。コードの実装だけでなく、要件の理解、計画の作成、テストの実行、デプロイまでを一貫して実行できる点が特徴です。
Devinの強み
明確な要件があるタスクで力を発揮
Devinが最も力を発揮するのは、明確な要件を持つ4〜8時間規模のタスクです。ジュニアエンジニアが担当するような、検証可能で実装パターンが明確なタスクに特に強みがあります。
具体的な得意領域
1. レガシーコードのアップデート
- 既存コードのフレームワーク移行
- 依存ライブラリのバージョンアップ
2. 脆弱性の修正
- 明確な修正方針があれば、迅速に対応可能
- 複数の脆弱性を並行して処理できる
3. テスト作成
- 既存コードに対するテストスイートを自動生成
- テストパターンが明確な場合に効果的
4. 明確な実装パターンのあるコード実装
- APIエンドポイントの実装
- データの作成・読取・更新・削除処理
- 定型的な処理の実装
5. コードレビュー
- 大規模コードベースの理解と文書化
- 一貫性のあるレビューコメントの提供
6. 非同期での並列タスク処理
- SlackワークフローやAPI経由でタスクを実行
- 複数のタスクを同時に進行可能
- 離席中でも作業が進む
- チーム全体でAIの実行状況を把握しやすい
7. 複数リポジトリにまたがる横断的なタスク
- 複数のリポジトリを横断して調査・実装が可能
- モノレポでない構成でも対応可能
8. サンドボックス環境での安全な実行
- 隔離された環境でコードを修正
- 実験的な変更を安全に試せる
シニアエンジニアの作業も一部支援可能
明確な枠組みがある場合、シニアエンジニアの以下のタスクも支援できます:
- 要件定義の初期ドラフト作成
- 技術ドキュメントの執筆
- 実装計画の作成
Devinの弱み
1. タスク途中での要件変更への対応が困難
Sonnet 4.5以降も、タスク途中での要件変更には依然として弱いです。
- 反復的な問題解決やコーチングでは性能が低下
- 人間のエンジニアは同様の状況で学習し性能が向上するのとは対照的
- タスクの方向転換が必要な場合、新しいタスクとして再定義する必要がある
対処法:
- 最初から要件をできるだけ明確に定義する
- タスクを小さく分割し、各タスクで明確なゴールを設定
- 途中で方向転換が必要になったら、現在のタスクを完了させてから新しいタスクを開始
2. チームメンバーへの感情的配慮ができない
- 人間のチームメンバーとの感情的なつながりや共感を示すことはできない
- コミュニケーションは純粋に機能的・技術的
3. ステークホルダーの管理ができない
- プロジェクトの利害関係者との調整や管理は人間が担当する必要がある
- ビジネス要求と技術的制約のバランス調整が苦手
4. 曖昧な要件への対応
- Sonnet 4.5以降は曖昧な依頼でもある程度対応できるようになった
- ただし、「良い感じにして」「いい感じのUIにして」などの美的判断は依然として苦手
- 明確な要件を伝える方が圧倒的に効率的
Sonnet 4.5対応で何が変わったか
Claude Sonnet 4.5への移行により、Devinの実用性が大幅に向上しました。
特に実感した改善点:
1. 長時間タスクへの対応力向上
- 以前は途中で行き詰まっていたタスクもスムーズに完遂
- 複雑なマルチステップタスクでも性能が安定
2. 自己検証能力の向上
- 自発的にテストを書き、自分のコードをテストするように
- バグを見つけて自己修正する能力が向上
3. コンテキスト管理の改善
- 長い会話でも文脈を保持
4. 曖昧な依頼への対応力向上
- 以前は明確な要件がないと動けなかった
- Sonnet 4.5以降は、多少曖昧な依頼でも自分で調査して実装できるようになった
- ただし、明確な要件を伝える方が依然として効果的
この変化により、当初の限定的な利用から、現在では開発プロセスの様々な場面でDevinを活用するようになりました。
私たちが学んだ活用のポイント
約7ヶ月の運用を通じて、Devinを効果的に活用するためのポイントが見えてきました。
1. タスクの明確化
Sonnet 4.5対応後、曖昧な依頼でもある程度対応できるようになりましたが、明確な要件を伝える方が圧倒的に効果的です。
2. 適切なタスクの選定
Sonnet 4.5対応後、Devinに任せられるタスクの範囲は広がりましたが、依然として向き不向きがあります。
Devinに任せて成功したタスク:
- 明確な実装パターンがある定型処理
- 既存コードへのテスト追加
- レガシーコードのリファクタリング(明確な方針がある場合)
- APIエンドポイントの実装
実際の成功例:
- 古いアプリケーションのフレームワークバージョンアップ
- セキュリティスキャンで検出された脆弱性の修正
人間の関与が多く必要なタスク:
- 創造的な判断が必要なUX設計
- ステークホルダーとの調整が必要な機能
- 美的判断を伴うUI実装
- 要件が不明確で探索的なタスク
- プロジェクトのアーキテクチャ設計
失敗例から学んだこと:
- 複数の機能を同時に実装するタスクは、途中で方向性が不明確になりやすい
- 「ユーザー体験を改善して」のような抽象的なタスクは、期待と異なる結果になることが多い
3. 人間とDevinの協働モデル
私たちが確立したワークフローは以下の通りです:
効果的なワークフロー:
- 人間が要件を明確化し、タスクを分割
- SlackワークフローでDevinにタスクを依頼
- Devinが実装を実行
- 人間がレビューし、方向性を調整
- 必要に応じて新しいタスクとして再定義
Slack経由の運用メリット:
- 複数のタスクを並列で進められる
- チーム全員がDevinの作業状況を把握できる
- 離席中や会議中でもDevinが作業を継続
- タスクの履歴がSlackに残り、後から振り返りやすい
まとめ
約7ヶ月の運用を通じて、Devinは明確な要件があるタスクで高い効果を発揮すること、そして非同期で複数のタスクを処理できることが大きな強みであることが分かりました。
内部モデルのSonnet 4.5対応により長時間タスクへの対応力が向上したことで、Devinの実用性が大きく向上しています。今後もSlackワークフローを活用した非同期タスク処理により、業務フローの改善を進めていきたいと考えています。
明日のアドベントカレンダーはEC事業部 やんまー の担当です。お楽しみに!
Discussion