AIで作業計画を作るときは、タスクの並び順と、実際に前提となる関係を分けます。表で上に書かれた作業がすべて先に終わる必要があるとは限らず、同時に進められそうな作業にも、同じ担当者や設備を使う制約があるかもしれません。
この記事では、架空の資料作成5作業から、前提ID、順序、開始・終了の確認表を作ります。AIや実チームへ実行を依頼した結果ではありません。作業時間と前提関係は説明用に設定したもので、実績や実際の納期の見積もりではありません。
目次
タスク名より先に、開始できる条件を書く
今回は「前提作業がすべて終わったら次を始める」という関係だけを使います。作業の途中から後続を始める、一定時間を待つ、特定時刻まで開始できないといった条件は含めません。
表は横にスクロールできます
| ID | 架空の作業 | 所要時間 | 終了を待つ前提ID |
|---|---|---|---|
| A | 資料の範囲確認 | 1時間 | なし |
| B | 説明文案の作成 | 2時間 | A |
| C | 図表案の作成 | 3時間 | A |
| D | 文と図表の内容照合 | 1時間 | B、C |
| E | 受け渡しメモの整理 | 1時間 | D |
DはBとCの両方を待ちます。Bが表でCより上にあるからといって、CがBの終了を待つとはしません。逆に、AIが順番を入れ替えただけで、前提関係が解消したことにもなりません。
前提は、作業内容や成果物の受け渡しから確認します。「同じ人が担当するから同時にはできない」は、人の割当の制約です。論理的な前提と混ぜず、担当者や使える時間を別に記録してください。
まずIDと前提の参照を検査する
タスクIDの重複、存在しない前提ID、自分自身を前提にする関係を先に調べます。名前が似ていても同じ作業とは限らないため、AIが勝手にIDを統合・改名しないようにします。
Pythonのgraphlibでは、タスクと前提の関係を渡して、前提が先に現れる順序を作れます。一方、前提だけに登場する未定義のノードを自動追加する仕様もあります。タスク一覧にないIDを誤記した場合まで、作業が定義済みだと扱わないよう、一覧との照合を先に行います。Python公式:graphlib(新しいタブで開く)
今回なら、Bの前提をAではなくZと書いた場合は確認待ちです。Zを「前提なしの作業」として補って計画を完成させません。所要時間が空欄なら、1時間などを推測して埋めず、時間計算に必要な情報として残します。
順序が作れても、実行時間が決まるとは限らない
今回の前提では、A→B→C→D→Eも、A→C→B→D→Eも、前提が先に現れる並びです。どちらもBとCの関係を勝手に増やさない順序の候補で、表の順番だけから優先度や担当者の空きは分かりません。
前提関係に循環があると、すべての作業を並べられません。例えばAにも「Eの終了を待つ」を追加すると、Aが始まらないためBとCが始まらず、D、Eも終われません。graphlibはこうした循環をCycleErrorとして検出します。
エラーをなくすために、AIに都合のよい前提を一つ削らせないでください。Aが初回の範囲確認、Eの後のAが次回の見直しを意味しているなら、工程の反復を別IDや別の回として表す必要があるか、元の意図へ戻ります。どの関係を直すべきかは、循環があるという事実だけでは決まりません。
作業量の合計と、完了までの時間を分ける
次は、BとCを別の作業枠で同時に進められ、ほかの作業も前提が終わり次第始められるという仮定です。休憩、休日、担当者の空き待ち、手戻り、外部の返事待ちは含めません。時間は開始からの経過で、時計の時刻ではありません。
各作業の開始は「前提の終了のうち最も遅いもの」、終了は「開始+所要時間」として計算します。
表は横にスクロールできます
| ID | 開始から何時間後に開始 | 開始から何時間後に終了 | 確認する関係 |
|---|---|---|---|
| A | 0 | 1 | 最初に実行可能 |
| B | 1 | 3 | Aの終了を待つ |
| C | 1 | 4 | Aの終了を待つ |
| D | 4 | 5 | Bの3時間後ではなく、Cの4時間後まで待つ |
| E | 5 | 6 | Dの終了を待つ |
この条件の計算では、全体は6時間後に終わります。一方、作業量の合計は1+2+3+1+1=8時間です。8時間をそのまま並行計画の完了時間にせず、6時間を実際に必要な総作業量とも扱いません。
一人が同時に一つの作業しかできず、順番に実行するなら、この5作業の作業量は合計8時間です。切替や休憩などを含む実際の所要時間まで8時間と確定したわけではありません。BとCを並行にした6時間の表も、必要な人や設備を確保できていることを示すものではありません。
AIの計画案を、前提ごとに照合する
もしAIがDを開始から3時間後に置いたら、Bは終わっていますがCはまだ1時間残っています。DがBとCの終了を待つという今回の前提に反します。
Dの開始案:3時間後
Bの終了:3時間後
Cの終了:4時間後
必要な開始条件:Dの開始が両方の終了以降
確認結果:Cが終わるより1時間早い
直すときは、Dだけを一時間ずらして終わりにせず、Dを待つEの開始・終了も再計算します。実際にはCの作業時間や担当者の条件を見直す判断もあり得ますが、それは元の計画条件を変える別の案として記録します。
前提のない作業が複数ある場合も、同時開始してよいかは別に確認します。必要な設備が一つ、同じ人が担当、素材が未着といった条件を、順序の検査だけで解消したことにはしません。
AIへの依頼には、未定義と循環の扱いを入れる
次の作業一覧から、依存関係の確認表を作ってください。
各作業は、指定された前提IDがすべて終了してから開始できます。
ID、作業名、所要時間、前提IDは元の値を保持してください。
最初にID重複、未定義の前提ID、自分自身への参照、循環を調べてください。
問題があれば、勝手にID追加や前提削除をせず確認事項へ分けてください。
時間が未定なら補完せず、時間計算の未確定として残してください。
順序の候補と、担当者・設備の制約を分けてください。
並行計算を示す場合は、同時実行できると仮定した条件を明示してください。
出力:ID別の前提、順序候補、開始と終了、作業量合計、未確認事項。
各前提について、後続の開始が先行の終了以降か照合してください。
実際の担当者の空き、納期、実行成功を確認済みにしないでください。
入力:[必要な作業一覧と前提条件]
実計画へ使う際は、前提が技術的・業務的に必要なのか、単に作業枠が空いていないのかを確認し、所要時間の根拠と見積もりの幅も残します。未確認の時間や担当をAIの提案だけで確定せず、計画の版と変更理由を管理します。
計画を渡すときは、仮定も一緒に残す
渡す成果物は、タスクの一覧と前提、順序、開始・終了、使った時間、並行できる仮定、未確認事項です。期限のある案件では、実際の開始日、稼働カレンダー、担当者の空き、確認待ち、余裕を加えて別途検討します。今回の6時間を、そのまま今日中の納品約束へ置き換えません。
会議から作業候補を拾う段階は、議事録からタスクを抽出する方法で扱います。作業が抽出できたことと、前提や作業枠を満たす実行計画ができたことを分けると、計画のどこを確認すべきか追いやすくなります。
参考資料
公式仕様の確認日:2026年10月20日。5作業と時間は架空例です。順序・循環・参照の検査と時間計算をローカルで行いました。AI生成、実作業、担当者・設備の確保、実納期、画面表示は検証していません。
