Devinに$20だけ課金してみた
仕事でGithub CopilotのAgent modeを使うようになって、「AIエージェントめちゃくちゃ便利...」となっている。
AIなしで開発する時って、変なところ(とあるデータの受け渡しがうまくいかないとか、些細なことによるエラーが消えないとか)でつまづいてしまって本質的な開発が進まないままに時間が溶けることがよくあった。
「別にここに時間をかけたかったわけじゃないんだけどな〜!」みたいな。
でもそういう些細な問題はサクッとAIが解決してくれるので、取り組みたい本題の開発に注力できるようになった気がする。
最近また個人で作りたいアプリが出てきたので、せっかくなのでAIエージェントをバリバリ活用しつつ作ってみることにした。
ついでに他のAIエージェントも触ってみようと思い、まずはDevinに課金してみた、という話。
Devinとは
自立型のAIソフトウェアエンジニアで、あまり細かい指示を出さなくても一定の粒度のタスク(バグ修正やリファクタリングなど)を自律的にやってくれる。
ググればいくらでも出てくるので詳細は割愛。
公式ドキュメントにある、「Slackでとあるissueを修正するようにDevinにメンション飛ばす → Devinがプルリクを作り、Slackで作業完了した旨を投稿する」という動画は結構インパクトある。
下請けのエンジニアがいて、その人に仕事を振っているような感覚だ。
課金
$20のお試しプランみたいなものがあったので、それに課金してみた。
Devinでは、Devinが何かしら処理をする際にACU(Agent Compute Units)というものを消費する。
$20のプランでは9ACUもらえた。9ACUを超える処理をさせる場合は、再度課金が必要。
$20でどこまでできた?
本来「Devinにはジュニアエンジニアやインターン生がこなせるレベルのタスクを依頼し、実際に彼らにお願いする時と同様の明確で十分な指示を出す」ということを考慮してタスクをアサインするのが良いらしいが、その辺を全く読まずにDevinを使い始めてしまったということは断っておく。
- 「音楽を聴かせて(もしくは音楽ファイルを選択して)、その音楽のジャンル分けをしてくれるアプリをFlutterで作成」という旨の指示を出した
→2.41ACU消費し、10分ほどで一通りのアプリが完成した。(ジャンルの分類部はモックになっていた) - 作ったものをGitに新しいレポジトリを作ってpushするよう依頼
→0.81ACU消費 - 音楽ファイル選択時のエラー修正するよう依頼
→1.71ACU消費し、5分くらいで修正完了 - ジャンル判定部を、モックではなくTensorFlow Liteの既知モデルを使ったものに修正するよう依頼
→2.66ACU消費し、15分ほどで修正が完了
こんな感じで、判別するためのUIとロジックを用意してくれた。
試しにHard technoっぽい曲のジャンルを判定してみたところ。
あとは待機時間とか細かい質問とかで消費。
もっと小さいタスクなら2~3タスクくらいできそうな感じ。
Devinを使う流れ
まずやりたいことを記載すると、Devinがいろんな調査を開始する。
調査を終えたら、コードの実装方針などをまとめて提示してくれる。
方針をレビューして、実装方針をを了承するとDevinが実装し始める。
あとは待つだけ。
気づいたこと・感想
AIの待機時間もACUを消費するという点は新鮮だった。sleepと伝えればACU消費が止められるが...
てっきり何かタスクを振って作業してもらっている時だけACUを消費するものかと。
誤差みたいな金額かもしれないが、課金するとこういうところに敏感になってしまう。
他のAIだとプロンプトの処理中は追加の指示文を受けてくれないが、Devinの場合は作業実施中でも指示を出したり質問したりでき、柔軟に対応してくれるのが良い。実際に人に指示出し(どちらかというと無茶振り)しているような感覚。
実装時はWeb上や他のgithubリポジトリを探して使えそうなものをcloneしてくる、みたいなことをやってくれる。こういうことをしてくれるAIエージェントは経験したことがなかったので、ここはDevinの利点かも。
DeepWikiでリポジトリのwikiも自動で作成してくれる。
indexingを開始してから15分くらいで完成。
クラス図みたいなものも作ってくれる。何これ。もうこれに任せるのでいいじゃん。
コードはあるんだけどドキュメントが整備されていない(整備する余裕もない)みたいなプロジェクトに入ったときに結構困っているので、こういうのを使ってサクッと図付きのドキュメントを作って、それを見ながらキャッチアップしたい。
Github copilotでこういうことできるようにならないかな〜。
今度は「インターン生に任せるレベルの作業を振るべき」というところを念頭に置いて簡単なエラー修正とかを振ってみたいな。




この記事へのコメントはこちら