AIの作業計画を依存関係で確認する方法|順序・並行・所要時間を分ける

架空の5作業で前提IDと開始・終了を照合。循環、未定義ID、作業量8時間と並行条件下6時間、前提完了前の開始を分けて確認します。

AIものさし編集部

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開始から何時間後に開始開始から何時間後に終了確認する関係
A01最初に実行可能
B13Aの終了を待つ
C14Aの終了を待つ
D45Bの3時間後ではなく、Cの4時間後まで待つ
E56Dの終了を待つ

この条件の計算では、全体は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生成、実作業、担当者・設備の確保、実納期、画面表示は検証していません。

質問から自分に合うAIを探す