タスクの分割とマイルストーンまでお願いしちゃっていいですか? - Devin観察日記
これまで単発のタスクを依頼してきましたが、次はもっと大きなことに挑戦して貰うことにしました。
公式ドキュメントでは、Devinに与えるタスクはなるべく細分化することが推奨されています。
そこで、まずは Devin 自身にタスクを細分化させることにします。
GitHub Milestone
まず、僕が Milestone を書きます。そこには最終的に達成されるべきゴールや「してはいけないこと」などが書かれています。
これはかなり大掛かりなタスクです。何故なら45個もの Firebase Functions をすべて Cloudflare Workers に移植する必要があるからです。自分がやれと言われたら、たとえ専任だったとしても最低1ヶ月は欲しいところですね。
この Milestone を分割して Issue 化するよう Devin にお願いしました。
ちょっと感動したのは、Devin からのこの提案です。優先順位に関する指示は一切していませんでしたが、Devin の方から提案してくれたのです。
10分ほどかけて、合計10個の Issue が作られました。
てっきり「1 関数 = 1 PR」というマイルストーンの指示に引っ張られて45個の Issue を作ると思っていましたが、コードをよく読んで適切な分割点を考えてくれたようです。
Issue の中身はこんな感じです。
実装項目が詳細に書かれており、完了条件まで明示されているため、これをそのまま Devin に任せられそうです。
ここまで、 1.97 ACUs (630円) でした。具体的な成果は出ていませんが、僕より早くて優秀なので、これなら安い気がします。
同じセッションで続けて操作する事もできますが、履歴が長くなってしまうため、新しいセッションでタスクを依頼することにしました。
すると、先ほどの「サイトマップ生成機能のCloudflare Workers移行」に着手し始めました。要件に書かれていない事については、Devin は適切な質問を投げてくれます。
このあと、基本的な実装は上手くいきました。
しかし、今回のタスクは極めて重要なデプロイに関する要件が書かれていなかったため、最終的にはリリースすることが出来ませんでした。上手くいかなかったのでまた明日。