🔖

AI時代のタスク駆動開発の体験が非常に良いので共有します!〜タスクを投げるだけでPR作成から動作確認までを並列稼働

に公開

はじめに

こんにちは!株式会社Digeonでインターンをしているfunaと申します。
今回は私がwebシステム開発において、非常に強力だと感じているタスク駆動開発について皆さんに紹介します。

なぜこの記事を書いたか

シンプルに、案件での開発体験が非常に良く、一緒の案件に入っている社員さんからも褒めてもらえました。
そして、この素晴らしい体験はエンジニアである以上広く共有するべきだと思ったのでこの記事を書きました。

結論・全体像

詳細なタスク(事象・原因・実装方針)を作り、タスクとskillsをプロンプトに入れて指示します。すると、ワークツリー作成からPR作成、CI/CD監視、動作確認やスクショ撮影までAIが全自動処理してくれます。
これらを並列で回すことで、開発体験がとても良くなります。

前提

利用ツール

本記事では、特定のツールに依存しない思想の部分を特にお伝えしたいと思っています。ただ、具体的なイメージを持っていただくために、私の利用しているツールを紹介します。

  • タスク管理: linear(linear MCP)
  • AI : Codex App
  • その他: GitHub, Chrome MCP

フロー1: タスク作成

このタスク作成が人間が監査制御する最も重要な工程です。
ここで、AIによって作成されるPRの質が決まります。
しかし、タスクを手動で作成するわけではありません。安心してください。
Linear MCPを用いてタスク作成をします。

案件ごとや会社ごとのルールはあると思いますので、linear用のskillsを作成することをお勧めします。
例: タスクを作成するときは、自分をアサインして、〇〇というラベルをつけてstatusはtodoにして的な

以下に、実践例を具体例を交えて示します。

ある機能の追加をするとします。

  1. 要件や設計書などその機能に関わる周辺知識を読むように指示します。
  2. 追加したい機能や修正したいバグについて実装方針を示してくださいと指示します。
    ※バグを修正する時、バグの原因を確定させることを意識してください。AIを使う使わないに関わらずすべき行為ではありますが、ここを間違えるとそれっぽい無意味なPRができます。
  3. 出力された実装方針や原因調査について壁打ちし、詳細を詰めます。ここでAIに任せて良いくらいまで詳細を詰めた後、linearのタスクの作成を指示します。そうするとskillsに従ってlinearが作成されます。

タスク駆動開発においてはこの繰り返しです。
自分の普段のタスクの簡単なサンプルを以下に示します。

フロー2: タスクからPR作成

タスクが溜まれば、AIに投げていきます。
私はCodex appを用いているので、アプリを開き、タスク駆動開発用のskillsを指定し、Linearのタスクのurlを投げます。
それを複数のスレッドを作成しては投げてを繰り返してタスク作成に戻ります。

するとあら不思議、自然とPRが作成されていきます。
タスク駆動開発用のskillsに従ってworktree作成→修正→commit&push→PR作成&テンプレに沿ってdescription作成→CICD監視&修正→chrome mcpで動作確認&スクリーンショット→ユーザーに通知まで行ってくれます!
このタスク駆動開発用skillsは私が内容を共有するよりも、一度自分で一個一個自分のやり方で指示してからここまでの流れをskillsにしてくださいというのが一番良いと思います!

つまずきポイント

  1. レビューがネック

    大量にPRが作成されます。レビューが追いつかず、コンフリクトが発生します。それによりさらにPRが溜まります。
    この解決策としてcodexのスケジューラーにて、1時間毎で作成したPRにコンフリクト発生の有無を確認し、あれば自動修正を設定しています。
    これにより、稼働時間の制約等が原因のコンフリクト発生を防いでいます。
    この運用では、AIによるコンフリクトの修正で意図せぬコードの書き換えが発生する可能性があります。そのため人間による最終的なレビューの精度がより重要になります。

  2. ハードウェアの制約による並列稼働の限界

    パソコンのメモリ限界が発生します。1タスクにつき1worktree、1開発環境を構築しているからです。私のmacでは5・6個が限界です。解決策としては性能の良いpcを購入するか、クラウド環境で動作させることだと思います。

  3. codexのトークンの消費量の多さ
    全てAIで自動化するよりも、人間が行った方がコストパフォーマンスが良い場合があります。並列実行や動作確認まで行っていることが原因なので、単一実行かつ動作確認は手動で行うなどは、かなりコスパは良いと思います。

まとめ

タスク駆動開発とは、単にコードをAIに書かせることではなく、「タスクの解像度を極限まで高めることで、その後の工程を全て自動化のレールに乗せる思想」です。
最初は初期設定など時間がかかりますが、一度AIを並列稼働させると、自分がレビューアとしてプロジェクト全体を俯瞰できる感覚になります。
まだまだツールや環境の制約はありますが、この「AIを並列で使いこなす体験」はこれからのエンジニアにとって必須のスキルになると思います。
ぜひ、皆さんも自分なりの「タスク駆動」を試してみてください。

株式会社Digeon

Discussion