今からでも遅くない!まだDevinと遊んでいない技術意思決定者へ
こんにちは!
ourly株式会社 執行役員CTO(@tigers_loveng)の相澤です。
最近、社内外で「Devinくん」との共同開発(?)がじわじわと盛り上がっているのをよく目にしています。
僕自身もDevinを使い始めて約1ヶ月ほど経過しましたが、かなり便利で「もっと早く触っておけばよかった…!」と思う場面も少なくありません。
この記事では、まだDevinを触ったことがない/触ってみたいがコストの問題で迷っている技術意思決定者の方へ向けて、実際に使って感じたメリットや上手な付き合い方をまとめてみました。
特に、結局のところ費用対効果がどうなのかという部分が意思決定者にとっては大いに気になるところだと思い、そこも含めて書いたのでぜひ最後までご覧いただけると幸いです。
Devinとは何者か?
Devinそのものが何かについてはすでに多くの記事で解説されているので僕からはしません。
Findy ToolsにDevinのページがあったのでぜひそちらを見てみてください。
𝕏や企業のテックブログなどを眺めていると、Devinの評価として「ジュニアエンジニア」と言われていることが多いです。
確かに、Devinがアウトプットするコードやレビューの指摘に対する対応などはジュニアレベルと言ってもそこまで違和感はないです。
ただ、補って余りあるドキュメント力、調査力、推論力、フィードバックの吸収力など、いわゆるソフトスキルのような領域ではもっと高いレベルにあると感じています。
個人的なイメージとしては、「一流コンサル出身のジュニアエンジニア」という表現がしっくりきます。
人間と同じく、きちんとオンボーディングして指示を与えてあげれば参画初日から導入効果を感じることができるほど優秀なので、ぜひ早めに使ってみることをオススメします。
Devinくんありがとう事例
ここからは僕がこの1ヶ月で体験した「Devinに任せて良かったこと」をいくつか紹介します。
1. 変更行数が100~200行前後のゴールが明確なタスク
これは他社事例でもよく言われていることですが、Devinはゴールが明確で曖昧さが少ないタスクほど威力を発揮します。
例えば「このメソッドにパラメータを追加して、テストも書いてね」みたいなタスクは、変更範囲も明確で要件がブレにくいですよね。そういうタスクだとサクッとプルリクが上がってくるので、レビュー側としても圧倒的に楽です。
ちなみにどのくらいサクッとかというと、依頼した後コーヒーを入れて帰ってきたらすでにPRが出ている状態(数分程度)です笑
記念すべきDevinくんへの依頼第一号
この1ヶ月任せてみたタスクの例としては以下のようなものです。
- String型のカラムに対するモデルのバリデーション追加
- データ抽出を行うメソッドで、抽出条件が足りなかったので追加
- 既存のAPIのレスポンスにデータを追加
他社事例では以下の記事がとても参考になりました!
2. ライブラリのアップデート調査
RubyやRailsなど使用している言語やフレームワーク、Gemfileやpackage.jsonで管理しているライブラリのアップデート時の調査って地味に大変ですよね...?
特にライブラリ自体が依存している他のライブラリに破壊的変更がないか、ソースコードへの影響がないかなど単純にアップデート対象のライブラリだけを調べれば良い訳ではないので、対象が増えれば増えるほど重たくなってきます。
そこでこういったタスクもDevinに任せてみたらどうだろう?と思い、実験してみたのですが、やはりAIということもあり、調査や情報をまとめる能力はピカイチだなという感じのアウトプットでした!
ソースコードへの影響範囲などは少し物足りないところもありましたが、アップデートに必要な情報(破壊的変更の有無、他ライブラリとの互換性の有無...etc)をきちんと抽出し、めちゃくちゃ見やすい形でGithub Issueにまとめてくれました。
最終的なチェックはもちろん人間の手でする必要がありますが、最初の道筋や大枠の調査をしてくれるだけで随分と作業のハードルが下がるのを実感しています。
他社事例では以下の記事がとても参考になりました!
3. CIがこけたときの単純な修正
これはとある日、イベントに参加するため会社を出る直前に「急いでPR投げないと!」と作業をしていたときの話です。
ギリギリまで作業してPRを出してから電車に乗ってSlackを見るとCIがコケている...!
CIのログを見るとめっちゃ単純なミスによるエラーで、すぐ直せるけどPCで作業できる状況ではなかったので、Devinに頼むことにしました。
スマホで急いで入力したので、こ「の」PR→こ「と」PR とタイポしてます
すぐに修正のPRが作成されたため、Githubのアプリでレビューを行い、マージすることができました。
自分がPCを触らなくてもコードが書けるという体験は、実際に自分の身で経験するとかなりの衝撃でした。自分が持て余していた時間でもっとコードを生み出せることが分かり、ワクワク感がハンパなかったことも覚えています。
4. 単体テストの実装
これもとある日、娘を寝かしつけた後、仕事を再開して実装していた時。
ちょっと複雑なロジックを実装していて、いくつかのシンプルなメソッドに分割できたのですが、疲れもあって、眠いなぁ...テスト書かないとなぁ...でも眠いなぁ...という状態。
そこで、Devinに頼むことにしました。
23時前で眠いとか甘っちょれぇこと言ってんじゃねぇという声は一旦無視します
引数と返却値の型はdocで明記してるし、一つ一つのメソッドはそんな複雑な処理じゃないからDevinでもテスト書けそうだなと考えました。
そしてメソッドだけ実装したPRを作成し、Devinにテストの依頼をして寝ることにしました。
翌日起きて確認すると、テストを追加するPRが作成されており、必要なテストケースが網羅された状態で実装されていました!
今回は先にメソッドを実装してしまいましたが、TDDで進める際にもIOの型と入力値に対する期待値の情報を渡して先にテストを実装してもらえば、ロジックに集中して実装することができます。
なんならその後の本体の実装もDevinにやってもらうというのもアリだと思います。
で、費用対効果は?
実際に使っていて特に感じるのが、Devinはコストパフォーマンスがかなりいいという点です。
- 最小で250ACUs(≒75,000円)ほどのリソースが割り当てられる
- 1ACU = 2ドル なので、1タスクあたりにかかるコスト感が明確
- 前述のような得意領域のタスク(100~200行程度)なら10ACUs弱(≒3,000円)でこなしてくれることが多い
これをもし(一般的な)業務委託のエンジニアにお願いする場合を想像してみると、タスクの背景や目標を説明して、依頼内容を明確化して…とやっているうちに1時間くらいはすぐに飛ぶことも少なくありません。
月単価100万円のエンジニアが160時間稼働とすると、時給換算で6,250円ほど。30分程度で終わるタスクでも3,000円を超える計算になるので、(タスクを選べば)Devinのほうがコスト面では優秀と感じるケースが多いです。
さらに言えば、Devinは学習に対して素直なので、フィードバックをちゃんと吸収してくれるのが大きな強みです。また、24時間365日働ける上に、EMに必要な4つのマネジメント領域でいうところのピープルマネジメントが一切必要ないところも魅力的です。
Devinくんはどんなにつまらないタスクを渡しても一切文句は言いません笑。
注意点としては、Teamプランだと最大2500ACUsまでしか利用枠を拡大できないため、大人数でやたらめったら試すとあっという間に使い切ってしまう可能性があります。
他社CTOとも話していたのですが、ある程度の組織規模ではまずはCTO, マネージャー, テックリードのレイヤーからメンバーに順番に下ろしていくのが良いと思います。
使っているうちに愛着が湧いてくる
Devinは各社で「Devinくん」と呼ばれていたりするように、どこか“1人のメンバー”として扱われている雰囲気があります。
僕自身も「自分がFBしたことをしっかり覚えてくれる」ので、少しずつ“育っていく感”を感じるようになりました。
言わば育成ゲームに近い感覚で、「何を依頼したらどう成長するのか?」と考えるのが純粋に面白いんですよね。このあたりは、実際に触ってみた人じゃないと伝わらない良さだと思います。
Devinをうまく使うコツ
最後に、私が試行錯誤する中で見えてきた「Devinをうまく使うためのポイント」を共有します。
-
最初の依頼は丁寧に
- いきなり細かいルールを全部理解してくれるわけではないので、OJTのイメージで段階的に教えていきましょう。
- 具体的には「このプロジェクトではコミットメッセージのフォーマットはこうしてね」とか、「Pull Requestのテンプレートはこれを使って」などを明示するだけでもかなりスムーズです。
-
タスク分解と実装方針の確認フローを挟む
- いきなり「この機能を作って」と投げると、思わぬ方向に走ってしまうことがあるので、まずは「どう分解して実装するか」をDevin自身にまとめさせるのがおすすめです。
- その後に「じゃあそのプランでいこう!」とOKを出してからPRを作ってもらうと、無駄なACU消費をグッと減らせます。
-
テストや静的解析で失敗したときは原因分析&修正方針を聞く
- 何度も同じ修正→削除→修正…と繰り返していると、それだけでACUを消費してしまうので、事前に失敗→原因分析→修正方針の確認というフローを設けておくと安心です。
- そうすることでDevinも学習し、同じミスを繰り返しにくくなるのでおすすめ。
その他のTips
- Devinに関する情報収集は2月末の時点ではChatGPTのo1 proのDeep ReSearchよりも𝕏のGrok3のDeep Researchの方がより具体的で有用な情報を教えてくれました
- Devinはブラウザ操作も可能なのでモバイルオーダーさせるなんてことも可能みたいです笑
まとめ
もし「AIエンジニアに興味はあるけど、まだ踏み切れてない」という方がいれば、一度Devinを試してみる価値は十分にあると感じています。
- 最初の準備(初期FBの出し方)でつまずかなければ、小さいタスクや調査系タスクはあっという間にこなしてくれる
- 費用対効果が高く、育てる楽しみもある
- 24時間365日稼働可能で、不測の事態やちょっとしたミスをいつでもカバーしてくれる
個人的には「仕事の一部をDevinくんに頼めるようになった」というだけで、開発チーム全体の速度や安心感がグッと増したと感じています。
もちろんまだ改善の余地はあるし、やらせないほうが良いタスクもありますが、“小さい成功体験”から徐々に使い方のコツを掴んでいくのが一番だと思います。
まだDevinくんと遊んでいない方は、ぜひ手を動かして体験してみてください!
それでは今回はこのへんで。最後まで読んでいただき、ありがとうございました!
Discussion