2026年5月4日月曜日

第53回:作戦変更。AIに「効果が大きいものを選ばせる」のをやめて、キューを機械的に潰す

1. はじめに

独力+AI活用で月商1億円を目指している。

最近、開発の進め方について少し作戦を変えることにした。

これまでは、Cursorに対して、

初期公開や正式公開に一番効果が大きい作業を選んで進めてください。

という指示をしていた。

一見、これは正しい。

限られた時間で開発するなら、効果が大きいものからやるべきである。
優先順位を考えて、重要なものから進める。
プロジェクトマネジメントとしても自然な考え方である。

しかし、実際に運用してみると問題が出てきた。

Cursorが「どれを選ぶか」で止まりやすい。
PR状態確認、CI確認、次に何をすべきかの棚卸しに寄りすぎる。
報告は増えるが、実装消化の速度が落ちる。

つまり、優先順位判断をAIに任せすぎると、AIが判断作業に寄ってしまい、実装が進まないことがある。

そこで今回、作戦を変える。

「効果が大きいものを選ぶ」ではなく、まずキューを機械的に潰す。


2. 今の問題:選定で止まる

最近のCursorの動きを見ていると、実装そのものよりも、状態確認に時間を使いすぎている場面があった。

たとえば、

  • どのPRを先に見るべきか

  • どのPRがまだ未マージか

  • CIが赤なのか

  • どれが次に重要そうか

  • どの作業が正式公開に効きそうか

  • 何を選ぶべきか

こういう整理で止まってしまう。

もちろん、これは不要な作業ではない。

PR状態確認も必要である。
CI状況確認も必要である。
次に何をやるかの判断も必要である。

ただし、そればかりになると困る。

こちらが欲しいのは、最終的には実装消化である。
未マージPRをmainへ反映すること。
残課題を閉じること。
ブロックされているものを明確にすること。
小さくても前に進めること。

状態確認だけで終わるなら、開発速度は上がらない。


3. 「最も効果が大きい作業を選ぶ」は、AIには重いことがある

人間のプロジェクト管理でも、優先順位判断は難しい。

何が一番効果が大きいのか。
何が今やるべきなのか。
何が後回しでよいのか。
何がブロックされているのか。
何を先にマージすべきなのか。

これは、プロジェクト全体の文脈を理解していないと判断しにくい。

AIはかなり優秀だが、ここを任せすぎると、毎回判断に時間を使う。

その結果、

次に何をやるべきか整理しました。

で終わってしまうことがある。

これは困る。

今必要なのは、きれいな整理だけではない。
実際に未完了のものを減らすことである。


4. まず未マージPRキューを潰す

そこで、まず最優先を変える。

新しい作業を選ぶ前に、未マージPRキューを潰す

すでに作業済みで、mainに入っていないものがあるなら、それを放置して新しい実装を増やしてはいけない。

未マージPRが残っていると、以下の問題が起きる。

  • 実装済みなのに本線に反映されない

  • 同じような修正を別PRで重ねる

  • PR同士が競合する

  • どれが最新状態か分かりにくくなる

  • docsや進捗報告とmainの実態がズレる

だから、まずはPRキューを片付ける。

順番としては、

  1. 既に作業済みでmain未反映のPR

  2. 初期公開・正式公開に関係するPR

  3. 開発運用ルール系PR

  4. QA・試験系PR

  5. その他

この順でよい。

重要なのは、CIやGitHub Actionsの問題でマージできない場合でも、そこで止まらないことだ。

ローカルでできる確認をする。
マージ可能性を判断する。
CI復旧待ちとして記録する。
そして次のPRへ進む。

CIが使えないことを理由に、状態確認だけで1セッションを終わらせない。


5. PRごとの処理を定型化する

未マージPRを見るときも、毎回迷わせない。

PRごとにやることを固定する。

  • mainとの差分確認

  • conflict確認

  • local build

  • local lint

  • 関連E2E

  • skipがある場合は理由を明記

  • マージ可能か判断

  • マージできるならマージ

  • CIやActions上限でマージできないなら、CI復旧待ちとして記録

  • 次のPRへ進む

この型でよい。

重要なのは、AIが「どうしましょうか」と止まらないことだ。

確認できるところまで確認する。
マージできるなら進める。
できないなら理由を残して次へ行く。

これで、滞留が減る。


6. PRキューが片付いたら、残課題を上から潰す

未マージPRが片付いたら、次は残課題一覧である。

これまでは、残課題一覧の中から「効果が大きいもの」を選ばせようとしていた。

しかし、当面はその方針をやめる。

上から順に見る。

もちろん、完全に何も考えずに上からやるわけではない。

各項目を見て、次のように処理する。

実装可能なら実装する

小さく切れるなら、featureブランチを切って、最小縦切りで実装する。

関連画面、関連データ、必要最低限の確認を行い、残課題の状態を更新する。

巨大すぎるなら分割する

巨大だから何もしない、は禁止にする。

巨大な場合は、最初の最小サブタスクだけ切り出して実装する。
残りは分割して残す。

Blockedなら理由を書く

前提が未解決なら、Blockedにする。

ただし、ただ「できません」ではなく、なぜできないのか、何が必要なのかを書く。

今やる価値が薄いならDeferredにする

現時点では正式公開に不要なら、Keep DeferredやBacklogとして理由を残す。

そして次へ進む。

重要なのは、迷って止まらないことである。


7. 後回し一覧も、迷ったら上から見る

後回し機能一覧も同じである。

後回しだから絶対に触らない、ではない。

開発が進むと、以前は後回しでよかったものが、実は初期公開や正式公開に必要だったと分かることがある。

だから、詰まったら後回し一覧も上から見る。

  • 今も不要なら、Keep Deferred

  • 必要になっているなら、軽量ドラフト実装

  • 巨大なら、最小縦切りに分解

  • 依存があるなら、Blocked理由を書く

これでよい。

「後回し一覧だから見ない」ではなく、迷ったら上から確認して、判断を記録する


8. 作業上限を決める

AIが調査で長時間止まるのも問題である。

そこで、作業上限を決める。

目安としては以下である。

作業種別調査・対応上限
軽微UI・文言15〜30分
通常導線・空状態・ボタン30〜60分
build / E2E / データ不整合60〜90分
それ以上かかるものBlocked / Backlog化して次へ

もちろん厳密な時間管理は難しい。

ただ、思想としては重要である。

AIが1つの項目に長く詰まるなら、無理に粘らせない。
理由を書いて次へ進める。

これにより、全体の前進速度を保てる。


9. 「上から順」は完璧ではないが、今は有効

上から順に潰す方式は、理想的な優先順位管理ではない。

本来は、効果、緊急度、依存関係、リスク、工数を見て判断するのがよい。

しかし、今の問題はそこではない。

今の問題は、選定で止まることである。

どれが一番効果的かを考えすぎて、何も進まない。
PR状態確認だけで終わる。
次にやることの報告だけが増える。

この状態を壊すには、ある程度機械的に進めた方がよい。

上から見る。
できるならやる。
できないなら理由を書く。
次へ進む。

これは、今のフェーズではかなり有効だと思う。


10. AIに自由度を与えすぎると、止まりやすい

AIは自由に考えさせると、意外と止まることがある。

「最適なものを選んでください」
「効果が大きいものを進めてください」
「今一番重要なことを判断してください」

こういう指示は、人間には自然でも、AIには少し重いことがある。

AIは、候補を整理し、比較し、リスクを出し、結論を出そうとする。
その結果、実装ではなく整理に寄る。

だから、しばらくは自由度を下げる。

  • PRは上から処理

  • 残課題は上から確認

  • Blockedなら理由を書く

  • 巨大なら分割

  • Deferredなら理由を書く

  • 迷ったら次へ進む

この方が、実装消化の速度は上がるはずである。


11. 完了報告も変える

作戦を変えるなら、完了報告も変える必要がある。

今後は、完了報告で必ず以下を書かせたい。

  • 処理したPR番号、または残課題ID

  • 実装したのか

  • Blockedなのか

  • Deferredなのか

  • その判断理由

  • 実行したbuild / lint / E2E

  • skipがある場合のspec名、ケース名、理由

  • PR URL

  • merge有無

  • main反映有無

  • 次に処理すべきPRまたは残課題ID

  • 初期公開・正式公開への進捗影響

これにより、単なる「確認しました」では終わらせない。

必ず、処理結果を残す。


12. 通常指示も修正する

通常のCursor指示も変える必要がある。

これまでのように、

正式公開への効果が大きい順に選んでください。

ではなく、

原則として上から順に処理してください。
ただし、Blocked、巨大、前提未解決、現時点で不要なものは、理由を明記してスキップしてください。
「どれを選ぶか」で長時間止まることは禁止します。

という方向に変える。

後回し一覧も同じである。

迷う場合は上から確認する。
必要なら軽量ドラフト実装する。
不要ならKeep Deferredと理由を記録する。

この方が、AIにとって実行しやすい。


13. これは後退ではなく、運用最適化である

一見すると、「効果が大きいものを選ぶ」方が高度に見える。

逆に、「上から潰す」は雑に見えるかもしれない。

しかし、これは後退ではない。

今の課題に合わせた運用最適化である。

理想的な優先順位判断で止まるくらいなら、多少単純でも前に進めた方がよい。

特に、既に大量のPRや残課題がある状態では、まず滞留を減らすことが重要である。

選び続けるより、処理する。

これが今の方針である。


14. 今回の結論

Cursorへの指示方針を変えることにした。

これまでは、正式公開への効果が大きいものを選ばせる方針だった。

しかし、現状では、AIが選定、棚卸し、PR状態確認に寄りすぎて、実装消化の速度が落ちている。

そこで、当面はキュー消化方式にする。

未マージPRを上から潰す
↓
残課題一覧を上から潰す
↓
Blockedなら理由を書いて次へ
↓
巨大なら最小サブタスクに分解して進める
↓
後回し一覧も迷ったら上から確認する

この方式で、「何を選ぶか」で止まる時間を減らす。

もちろん、上から順が常に最適ではない。
しかし、今は選定で止まる方が問題である。

AIには、考えさせすぎるより、処理させる。

そのために、ルールを単純化する。

今回の作戦変更で、PR滞留と残課題消化の速度が上がることを期待している。

0 件のコメント:

コメントを投稿

注目の投稿

第3回:月商1000万円までのスケジュールを考える

月商1000万円までのスケジュールを考える 1. はじめに 月商1000万円を目指して、新規プロジェクトを進めている。 このブログでは、プロジェクトの具体的な企画内容は公開しない。 ただし、プロジェクトをどう進めているか、どこで悩んでいるか、どのように計画を立てているかは記録して...