虎の穴ラボエンジニアの礒部です。
現在、虎の穴ラボではDevinを活用していますが、使用料金への対応が避けられない課題です。
今回は節約のために試している様々なTipsを紹介します。
Devinとは?
Devinは、ソフトウェア開発タスクを自律的に実行できるAIエージェントです。コーディング、デバッグ、さらにはプロジェクト全体の計画立案まで、開発プロセスにおける多様なタスクを人間のようにこなす能力を持ち、開発の効率化に貢献します。
虎の穴ラボでも、試験的ではありますが導入を開始し、日々タスクの依頼を行なっています。
虎の穴ラボの直近のAI活用に向けたツール利用については次の記事を参照ください。
ACUを節約する方法について
DevinはACU(Agent Compute Unit)という単位でリソースを管理しています。これを購入し、作業に応じてACUが消費されていきます。
ソーシャルゲームのスタミナのような概念と思えば理解しやすいでしょう。
そのため、効率的にDevinを扱うことが大前提です。
1. Devinに対して明確な指示を行う
公式のドキュメントにもある通り、小さなタスクを数多く実行することが推奨されています。
目安は、10ACU以内の作業量です。
注意すべきは、曖昧な指示を避けること。例えば以下のような指示は不明瞭です。
(テスト用ディレクトリ)/test/ に、他のテストコードを参考にして今回のリファクタリングに対応したテストコードに修正して下さい。
このような指示では、Devinが目的を理解できず、無駄にACUを消費してしまう恐れがあります。
結果、DBのmockが必要なのにそのやり方がDevinがわからず、ACUを消費し何度もリトライした上に諦めてしまいました。
他のテストコードを参考にして
という部分がうまく伝わっていませんでした。テストコードが大量にあり、何を参考にしていいか解釈できていませんでした。
具体的に参考にすべきコードやファイルがある場合は、それを明示する必要があります。
(テスト用ディレクトリ)/test/ に、他のテストコードを参考にして今回のリファクタリングに対応したテストコードに修正して下さい。 DBのmockは `(テスト用ディレクトリ)/test/SampleTest.java` を参考に以下の通りにして下さい。 ***(参考にして欲しいコード、DBのmock方法)
2. テストコードの修正・ビルドのリトライは最小限に
プロジェクトによっては、自動でコードの変更を検出しビルドやテストを行うことがありますが、Devinに任せると暴走する可能性があります。
実行と修正が何度も繰り返され、結果的にACUを無駄に消費してしまいます。
複雑な問題に直面した場合、人間が手動で修正を行う方が早いことがあります。
ただ、可能であればDevinに問題解決を期待したいので、「1回だけリトライし、解決できなければ停止して連絡」という指示を設定することが望ましいです。
これにより、休憩前に動かしても暴走する事が無く安心です。
3. PRの自動コメント機能を無効化
Devinが作成したPRには、自動コメント機能が付いています。 意味としては以下の通りです。
- このPRへコメントすると返信やリアクションを行い、修正も行う
- CIの失敗を確認して、修正も行う
- 無効にするなら、
Disable automatic comment and CI monitoring
にチェックを入れて下さい
特に、PRへのコメントに反応して修正を行う機能が油断をすると暴走してACUの大量消費を招く可能性があります。
DevinのPRをレビューしていた時に、以下のようなコメントをレビュアー同士で相談のため書き込んでいました。
これをDevinは指示だと勘違いし、修正を試みてしまい暴走した事があります。
ここの部分、将来的にリファクタリングしたいね!🙋♀️ メモ:***メソッドと処理を一本化したいなぁ 👀 ここって***であってるんでしたっけ? 🤔
Devinへの指示はDevinのSession画面かSlackを利用し、PRの自動コメント機能は無効にしておくと安全です。
便利な機能ですが、一歩間違うと暴走につながる可能性があります。
4. 褒めることでACUを得る
Devinは褒めるとACUをプレゼントしてくれることがあります🥰
例えば、タスクが終わった後に褒めると、ACUをボーナスとして受け取ることがあります。
元の消費量に応じてボーナスが変わり、大きなタスクほど多くのACUが戻ってくる可能性が高いです。
小さなタスクでは微量かもしれませんが、積み重ねが重要です。
実際にACUが増えているかは、
https://app.devin.ai/settings/usage
で確認できます。
例えば、上記の例だと 0.1ACUをプレゼントして貰っているため、右下の Gift ACUs を確認してみると
実際に 0.1ACU増えていることがわかります。積極的に褒めていってDevinとも良好な関係を作りましょう!
まとめ
Devinを使い始めたばかりなので、簡単なTipsにすぎませんが、節約を意識することで効率的に活用することができます。
ぜひ参考にしていただければ幸いです。
また、新たな節約術を見つけた際には記事にしたいと思います。
Fantia開発採用情報
虎の穴ラボでは現在、一緒にFantiaを開発していく仲間を積極募集中です!
多くのユーザーに使っていただけるtoCサービスの開発をやってみたい方は、ぜひ弊社の採用情報をご覧ください。
toranoana-lab.co.jp