Devinを使ってみた感想&活用Tips
「AIエンジニア」のDevinをちょこちょこ触ってみたので、所感や工夫ポイントなどをまとめてみました。
Devinってどんなもの?
DevinはCognition Labsが開発した、いわゆる“AIエンジニア”です。
「設計・コーディング・デバッグ・テスト・デプロイまで、一通りの開発作業をやってくれる」というのがいちばんのポイント。
普通のコード生成AIと違って、“エンジニアの仕事をAIに任せる” っていうコンセプトで設計されているらしいです。
実際に自然言語で「この機能を追加して」といった指示を出すと、どんなコードが必要か考えながら作業してくれるのが特徴的。
Devinを使ってみた所感
実際にDevinを試してみて、個人的に感じたことをまとめるとこんな感じです。
-
指示がざっくりだとやりとりが増える
ざっくり「これやっといて!」って投げると、「これはこういう仕様で合ってますか?」みたいに丁寧に確認が返ってきて、意外と時間を食ったりします。 -
逆に細かく説明するとスムーズ
仕様やスコープをしっかり伝えれば、最短ルートで作業してくれる印象。
人間の新人エンジニアに仕事を振るときと同じで、丁寧に指示をすると早い、みたいな感じですね。
あと、作業の途中で「想定と違うな…」って思ったら、ズルズル続けるより一旦セッションを切ってやり直す方がいいかも。大幅に方針変更が必要なら、話を仕切り直した方が混乱しにくいです。
工夫すると良さそうなポイント
1. なるべくタスクを小さくして渡す
大きな機能全部をドーンとお願いすると、どうしても途中でブレやすいです。
「ここだけ対応して」「次はここを修正して」みたいに、こまめにタスクを切って渡すのがおすすめ。
2. 「なんか違うな…」と思ったら早めに仕切り直す
Devinと複数回やりとりを続けたが提案してくる方針がなんか違う…というときは、無理に修正案をねじ込むより、新しくセッションを立ち上げたほうが混乱しない印象です。
途中の会話履歴を巻き取って再度指示し直す方が、より意図が伝わることが多かったですね。
3. スコープ外のファイルには手を出さないように明示する
Devinは意外と積極的に関連箇所を修正しようとするので、勝手に関係ない部分まで書き換わってしまうリスクも。
あらかじめ「このファイル以外は変更しないで」みたいな制限を設定しておくと、より安心して任せられます。
Devinが得意そうなケース
-
ページネーションを後から実装したので、他のページにも広げたい
似たようなコードをコピペするのって地味に面倒ですよね。Devinに「他のページにも同じ仕組みを追加して」ってお願いすれば、割とサクッとやってくれます。 -
同じような構造のAPIエンドポイントを複数追加したい
「このフォーマットのAPIを何個も実装してね!」みたいなときは、ある程度共通化してくれたりするのでラク。 -
積みタスクの最初の一歩を進めてほしい
「いっぱい貯まった雑多な修正、どこから手をつけるかもうイヤ…」って状態のときに指示すると、コードの下準備をしてくれるので、心理的ハードルが下がります。
そこから細かい微調整は人間が仕上げる感じで進めると、かなり楽になります。
まとめ
- Devinは、「設計からデプロイまでやってくれるAIエンジニア」という位置づけ
- 使うときは、新人エンジニアにタスクを振る感覚で、できるだけ細かい指示をするとスムーズ
- 途中で「違う!」と思ったら、一度切ってセッションをやり直すのが吉
- 「ここは触らないで!」と明示的に伝えると不要な変更が抑えられる
公式の推奨でも、「タスクの8割はDevinに任せて、残り2割を人間が仕上げるくらいがちょうどいい」 といわれているみたいで、個人的にもそのバランスがよさそうだなと感じました。
実際に触ってみると、めちゃくちゃ便利な部分もあれば、人間の手で調整したい部分もまだまだあるな〜という印象です。ただ、やっぱり面倒な作業を減らしてくれるのは大助かり。
特に、「最初の数行のコードを誰かに書いてほしい…!」みたいなシチュエーションでは、かなり使えると思いました。積みタスクにも気軽に手をつけられるし、作業のハードルがぐんと下がります。
今後もDevinを使い倒しつつ、新しい使い方やTipsが見つかったら追記していきたいと思います!
もし皆さんもDevinを使ってみたら、ぜひ感想や使い方のコツを教えてください〜。
Discussion