「昨日の続きって、どこまで進んでいましたっけ」。AIエージェントに仕事を渡していると、この確認が毎回発生します。

セッションは途中で切れます。アップデート、再起動、通信の切断。理由はさまざまですが、共通しているのは、切れる瞬間をこちらで選べないことです。会話の中にしか残っていない状態は、そこで消えます。

残るのは、ディスクに書いたものだけです。タスク台帳という1つのファイルに状態を書いておけば、プロセスが消えても状態は消えません。ただし台帳は、項目を並べただけでは機能しません。何を書き、どの粒度で更新するかを決めて、はじめて次のセッションが動けます。

この記事は、その決め方を扱います。素材は自社で動いているコードと、公式ドキュメントです(検証日2026-08-03)。

こんなふうに調べていませんか

  • AIに任せた作業が途中で切れて、毎回どこまで進んだのかを聞き直している
  • 台帳の形は作った。ただ、何の項目を置けばいいのかが決まらない
  • 更新のタイミングが人によってばらばらで、粒度がそろわない

この記事を読み終えたときに手に入るもの

  • 台帳に置く項目と置かない項目を、1つの基準で仕分けられるようになります
  • 更新の細かさを、自分の作業の区切りに合わせて決められるようになります
  • 次の一手を、次のセッションがそのまま実行できる形で書けるようになります

結論30秒でわかる、この記事の結論

  • 台帳は記録簿ではなく、次のセッションへの引き継ぎ書です。置く項目は「無いと再開できないか」だけで決まります。
  • 決めることは4つあります。項目設計・更新粒度・次の一手の書き方・自動検知との噛み合わせです。
  • 自動検知は日付でしか中断を疑いません。粒度を細かくする理由は、検知の精度ではなく読み手のためです。
台帳で決めることは、この4つです欄を並べる前に、決める順番があります台帳で決めることは、この4つです決めごとどの欄を置くか無いと再開できないものだけ残す決めごとどの刻みで書き足すか次に読む人が読み直す量で決める決めごと次の一手をどう書くか対象をひとつ、動詞もひとつ決めごと値の書き方をそろえるかここだけは自由にしない鈴木さん欄を並べる前に、決める順番があります
台帳で決めることは、この4つです — 欄を並べる前に、決める順番があります

進行役は3人です。若葉さんが用語の側から、高梨課長が自分の手で動かす側から聞き、鈴木さん(本誌監修)が答えます。

01AIエージェントのタスク管理を台帳に残すと、セッションが切れても何が消えないんですか?

若葉さん
若葉さんの発言

台帳って、要するに作業日報のようなものですか。

鈴木さん
鈴木さんの発言

近いのですが、向きが逆だと思っています。日報は終わったことを書きますよね。台帳は、次に読む人が最初にやることを書きます。読み手が未来にいる、という点が違います。

消えるのは、会話の中にしかなかった状態です。どこまで進んだのか、次に何をするつもりだったのか。これらは頭の中と画面の中にあるうちは、形を持ちません。

消えないのは、ファイルに書いた状態です。プロセスが落ちても、ディスクの中身はそのまま残ります。台帳という1つのファイルに状態を寄せておくと、セッションの寿命と作業の寿命を切り離せます。

この記事で決めるのは4つです。台帳に置く項目、更新の粒度、次の一手の書き方、そして自動検知との噛み合わせです。順番に扱います。

隣の記事との線引きも、先に示しておきます。

この記事で答える問い扱うかどうか
台帳にどの項目を置き、どの粒度で更新するか扱います
セッションはなぜ切れ、再開までに何を読むか扱いません(AGIM-216で扱っています)
会話そのものを復元するコマンドの使い方扱いません(AGIM-018で扱っています)

台帳という記録の持ち方は、役割と責任範囲をAI社員に持たせる組織設計ともつながります。組織側の全体像はAGIM-300で扱っています。

02AI社員のタスク管理を台帳に任せる前に、置き場所と読むタイミングはどう決めるんですか?

必要なものは多くありません。専用のソフトは要らず、Markdownファイルが1つと、それを読むタイミングを固定する仕組みがあれば足ります。前提は次の3つです。

  • Markdownファイルを1つ置ける場所があること(追加の権限は要らず、通常のファイル読み書きの範囲に収まります)
  • そのファイルを起動時に読む仕組み(フックや同等の自動処理)があること
  • 読む対象のパスが、作業ディレクトリが変わっても解決できること
台帳を置く前に、これだけ満たしておきます専用のソフトは要りません台帳を置く前に、これだけ満たしておきます専用のソフトは要りませんテキストのファイルをひとつ置ける場所がある起動のたびに、そのファイルを読む仕組みがある作業する場所が変わっても、同じ台帳を指せる置き場所が担当者ごとに違っている在りかが分かれると、探すところから始まります
台帳を置く前に、これだけ満たしておきます — 専用のソフトは要りません

自社の実装では、台帳の実体は06-todo/クロード構築_tasks_20260624/_台帳.mdという1つのファイルです。読むタイミングは、Claude CodeのSessionStartという起動時イベントに固定しています(出典: Claude Code公式ドキュメント「Hooks」)。新規の起動でも、--resumeによる再開でも、このイベントは発火します。

台帳は、会話の保存先である~/.claude/projects/とは別の場所に置いています(出典: 同社公式ドキュメント「Manage sessions」)。会話が保存されることと、状態が引き継がれることは別だからです。

LEDGER_REL = "06-todo/クロード構築_tasks_20260624/_台帳.md"

def project_dir():
    configured = os.environ.get("CLAUDE_PROJECT_DIR")
    if configured and os.path.isdir(configured):
        return configured
    return os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".."))

.claude/hooks/check-unfinished-tasks.py実測、64行、2026-08-03)

見どころは、台帳のパスを直書きせずCLAUDE_PROJECT_DIRから解決している点です。前提の3つ目がここで効きます。作業ディレクトリが変わっても、同じ台帳を指し続けます。

台帳ファイルそのものが無い場合、このスクリプトは何もせずに終了します。つまり、最初に台帳を作ることが、この仕組みの出発点になります。

この章のまとめ

置き場所と読むタイミングを先に固定すると、あとの項目設計は「その中に何を書くか」だけの話になります。

03AIエージェントのタスク管理に使う台帳は、どの項目まで書けばいいんですか?

高梨課長
高梨課長の発言

項目は多いほうが安全に見えるんですが、増やすとまずいんでしょうか。

鈴木さん
鈴木さんの発言

増やすほど埋まらなくなります。埋まらない欄が並ぶと、読む側はどの欄を信じていいのか分からなくなる。だから基本形は小さく持っています。

口で引き継ぐなら、こう言っている欄です欄の名前より、何を伝える欄かで覚えます口で引き継ぐなら、こう言っている欄です欄の名前より、何を伝える欄かで覚えます隣の席で言うなら台帳の欄でいうといま止まっているのか、進んでいるのか状態戻ったら、まずこれをやってください次の一手あなたの返事を待っています人間ゲート最後に手をつけたのは、この日です最終更新
口で引き継ぐなら、こう言っている欄です — 欄の名前より、何を伝える欄かで覚えます

自社の検証コードは、状態・次の一手・人間ゲート・最終更新の4つを基本形とし、それ以外はオプション扱いにしています。

項目役割無いと何が起きるか基本の欄か
状態進行中・人間ゲート待ち・完了を区別する自動検知が対象を分類できない基本
次の一手再開時に最初にやることを1〜2行で示す再開する側が作業内容を推測し直す基本
人間ゲート送信・公開・削除など、止まっている理由を示す何を待っているのかが分からず止まる基本
最終更新更新が止まっている疑いを判定する基準日にする中断の疑いを検知できない基本
case_idやフォルダ案件と成果物の置き場を紐づける台帳の記述と実物の対応が取りにくい任意

case_idは、台帳のパーサが実際に読んでいる項目です。省略するとタスクの見出しが代わりに使われます。ただし重複させると、衝突として扱われます。ここは後の章で扱います。

90_tools/task-governance/task_ledger.py実測、225行、2026-08-03)

04項目を足したくなったとき、AI導入の現場では何を基準に決めるんですか?

基準は1つだけです。その項目が無いと、次のセッションが再開できないかどうか。 次のセッションが再開できるなら、その項目が無くても運用は壊れません。

欄を足すかどうかは、この区分けで決まります迷ったら、右下から外していきます欄を足すかどうかは、この区分けで決まります迷ったら、右下から外していきますそのまま基本の欄にする読む側がいちばん先に目を落とす場所短く削ってから置く対象と動作だけ残せば、読める長さになる余力があれば添える案件と成果物の置き場をつなぐ欄台帳には置かない別の管理表のほうが向いている上:無いと再開できない / 下:無くても再開できる左:ひと目で読める / 右:説明が要る
欄を足すかどうかは、この区分けで決まります — 迷ったら、右下から外していきます

この基準に当てると、増やしたくなる項目の多くは外れます。優先度、担当者、見積もり時間。どれも管理表としては自然ですが、無くても再開はできます。

外れた項目に価値が無いという話ではありません。置き場所が台帳ではない、というだけです。台帳は引き継ぎ書なので、引き継ぎに要らないものを置くと、読む速度が落ちます。

項目を増やす提案が出たら、いったんこの基準に戻します。「これが無いと再開できませんか」と1回聞くだけで、たいていの候補は自分から降ります。

逆に、この問いに答えられない欄は、後から誰も埋めません。増やすかどうかを決める前に、その欄を埋めるのは誰なのかも一緒に見ておきます。

この章のまとめ

項目設計の判断は好みではありません。再開できるかどうかという、1つの問いに答えるだけです。

05台帳の更新粒度は、AIエージェントのタスク管理でどこまで細かくするんですか?

更新の刻み方は、クラッシュしたときに失う範囲で決まります。刻み方は大きく3つに分かれます。

刻み方更新のタイミングクラッシュ時に失う範囲運用上の問題
細かすぎるファイルを1つ保存するたびほぼ失わない更新が面倒になり、書かれなくなる
粗すぎる1日の作業が終わったらその日の作業全体クラッシュした日だけ記録が空白になる
妥当検証可能な区切りが終わるたび直前の1区切りだけ再開する側は直前の1区切りを読み直せばよい
刻み方は、続けられるかどうかで選びます失う範囲の小ささだけでは決まりません刻み方は、続けられるかどうかで選びます失う範囲の小ささだけでは決まりません刻みすぎやがて書かれなくなる手間が勝つと、欄はそのうち空になる粗すぎ切れた日だけ跡が残らない翌朝に開いても、読むものが無いちょうどよい読み直す量が一定になる言い切れる単位まで来たら書き足す
刻み方は、続けられるかどうかで選びます — 失う範囲の小ささだけでは決まりません

この分け方そのものは、AGIM-216が示している基本形と同じです。ここから先で扱うのは、この刻み方の選び方が自動検知の判定にどう効くのかという、実装側の視点です。

「検証可能な区切り」とは、終わったと言い切れる単位のことです。手順を1つ通した、成果物を1つ出した。そこまで来たら書く、と決めておくと、書くかどうかで迷わなくなります。

06生成AIが日付でしか中断を疑わないなら、更新粒度は何のために細かくするんですか?

粒度を考えるとき、見落としやすい事実があります。自動検知は、日付の単位でしか中断を疑いません。

updated = str(task.get("最終更新", "不明"))
stale = ""
if updated and updated != "不明" and updated < today:
    stale = "  ⚠️前回更新が本日以前=中断疑い"

90_tools/task-governance/task_ledger.py実測、2026-08-03)

このコードがやっているのは、最終更新の文字列を今日の日付と比べることだけです。同じ日のうちに何度更新しても、判定の結果は変わりません。中断の疑いが表示されるのは、日をまたいでも最終更新の日付が変わらなかったときだけです。

中断疑いの印が付くまでの道すじ途中で何度書き足したかは、どこにも効きません中断疑いの印が付くまでの道すじ途中で何度書き足したかは、どこにも効きません1日付を書き入れる作業した側が自分で入れる2日をまたぐここで前提が変わる3次の起動で読むその日の日付と並べる4古ければ印が付く同じ日なら、何も起きない鈴木さん刻みを細かくしても、この道すじ自体は動きません
中断疑いの印が付くまでの道すじ — 途中で何度書き足したかは、どこにも効きません

つまり、粒度を細かくする理由は、自動検知の精度を上げるためではありません。次のセッションが(AIでも人でも)、直前の1区切りをそのまま読める状態にしておくためです。

自動検知は、日をまたいだ放置を拾うための網にすぎません。網の目より細かい動きは、そもそも見ていません。ここを取り違えると、「検知されないなら書かなくていい」という逆の結論に着地します。

この章のまとめ

細かく書く相手は機械ではなく、次にこの台帳を開く人です。

07次の一手をどう書けば、AIエージェントは次のセッションで動けるんですか?

次の一手は自由記述です。自由であるぶん、書き方の差がそのまま再開のしやすさに出ます。

書き方次のセッションが動けるか
動作を書かない続きをやる動けない(何の続きかが分からない)
対象があいまい記事の見直し動けない(どの記事かが分からない)
対象と動作があるAGIM-217の執筆に着手する動ける(対象と動作が1対1)
確認方法まで書くAGIM-217を執筆し、字数と図解点数を確認する動ける(完了判定の基準も持てる)
手が止まる一手と、手が動く一手長さではなく、絞れているかで決まります手が止まる一手と、手が動く一手長さではなく、絞れているかで決まります読んでも手が止まる何の続きなのかが書いていない対象がどれなのか選べない動詞がいくつも入っている読んだ側が、調べ直すところから始めます読んだ順に手が動く名前で対象がひとつに決まる動詞がひとつだけ入っている終わったと言える条件が添えてある渡して質問が返らなければ、書けています
手が止まる一手と、手が動く一手 — 長さではなく、絞れているかで決まります

良い次の一手の条件は2つです。

  • 対象を固有名詞(記事ID・ファイル名・案件名)で書く
  • 動詞を1つに絞る

「見直す」だけでは、何をどう見直すのかが次のセッションに伝わりません。対象と動詞がそろって、はじめて次の一手として働きます。

分量は1〜2行が目安です。長く書くほど正確に見えますが、増えるのは状況説明で、対象と動作は変わりません。2行を超えたときは、対象を1つに絞れていない疑いがあります。

08進捗ログの設計で、AI社員のタスク管理がつまずくのはどこですか?

高梨課長
高梨課長の発言

項目と粒度が決まれば、あとは書くだけですよね。

鈴木さん
鈴木さんの発言

そこで一度つまずきます。項目名は自由に決めていいのですが、値の書き方だけは自由にできません。ここをそろえないと、自動検知が黙ります。

つまずくのは、決まって次の3か所です。

  1. case_idを使い回すcase_idが別のタスクと重なると、LedgerValidationErrorが発生します。その回の起動時チェックでは🔴🟡の一覧が出ず、「❌ タスク台帳エラー」という1行だけが表示されます(task_ledger.py実測)。台帳全体の自動検知が、その1件のミスで丸ごと止まる設計です。
  2. 状態の表記をそろえない:自動検知は「進行中」「中断」「ブロッカー」など、決まったキーワードで分類します。どの語にも一致しない独自の状態名を書くと、「⚠️非標準の状態」という別枠に分類され、優先度の高い🔴の一覧には出ません(task_ledger.py実測)。
  3. 最終更新の書式をそろえない:中断疑いの判定は日付の文字列比較です。2026-08-03のようにゼロ埋めした形式なら日付順に正しく比較できますが、8/3のような形式が混ざると、比較結果が実際の日付の前後と一致しなくなります。
値をそろえると、消えていた一覧が戻ります直すのは項目名ではなく、書き方のほうです値をそろえると、消えていた一覧が戻ります直すのは項目名ではなく、書き方のほうですそろっていない台帳同じ番号が、別の行にも入っている状態の欄が、行ごとに違う言い回し日付の桁がそろっていない一覧が出ないか、出ても拾われませんそろえた台帳番号は、ひとつの行にひとつだけ状態は、決まった呼び名から選ぶ日付は、桁をそろえて書く静かに壊れるものから先に直します
値をそろえると、消えていた一覧が戻ります — 直すのは項目名ではなく、書き方のほうです

3つに共通するのは、台帳の自由度を人が使いこなせなかったときの壊れ方です。項目名は自由に書けても、値の表記だけは決まった形にそろえます。

とくに1つ目は、影響の出方が他の2つと違います。自分のタスクだけが見えなくなるのではなく、台帳の一覧そのものが出なくなります。

09AIのタスク管理が台帳で機能しているかは、AI活用の現場でどう確かめるんですか?

設計しただけでは、自動検知が実際に動くかは分かりません。次の3点で確かめます。

# 1. フックを手動で実行し、分類結果を目で確認する
python3 .claude/hooks/check-unfinished-tasks.py

# 2. 最終更新を過去の日付にしたテスト用エントリで、
#    中断疑いの表示が出るかを確認する

# 3. case_idを重複させたテスト用コピーで、
#    タスク台帳エラーが表示されるかを確認する
動いていることを、目で確かめますわざと壊した状態を作って見ます動いていることを、目で確かめますわざと壊した状態を作って見ます1手で走らせて、分類の一覧が出るかを見る見出しと印が出れば、台帳は読めています2日付を戻したお試しの行で、警告が出るかを見る出ないなら、書式がそろっていません3番号を重ねた写しで、エラーになるかを見る確かめたら、お試しの行は消します
動いていることを、目で確かめます — わざと壊した状態を作って見ます
  1. 通常実行:「🔔 タスク継続チェック」という見出しと、🔴・🟡・⚠️のいずれかの一覧が表示されるかを確認します。台帳がクリーンなら、未完了・中断タスクが無い旨の1行だけが出ます。
  2. 中断疑いの再現:最終更新を過去の日付にしたテスト用エントリを台帳に足し、中断疑いを示す表示が該当行に出るかを確認します。
  3. エラー経路の再現case_idを重複させたテスト用コピーを読み込ませ、通常の一覧の代わりにタスク台帳エラーが表示されることを確認します。

この3点を確認できれば、項目設計と更新粒度が、自動検知という後段の仕組みと噛み合っています。テストが終わったら、テスト用エントリは台帳から削除します。

この章のまとめ

「書いたから動くはず」で止めず、壊した状態を一度作って、表示が変わることまで見ておきます。

10台帳の更新時刻とファイルの更新時刻は、AIエージェントの運用でどう違うんですか?

若葉さん
若葉さんの発言

ファイルを触った時刻を見れば、進んだかどうかは分かりそうな気がします。

鈴木さん
鈴木さんの発言

分かりそうに見えるのが厄介なところです。保存すれば新しくなるので、中身が進んだかどうかとは別の話になります。だから台帳は、人が書き入れた欄のほうを見ています。

ここまで見てきた比較は、台帳の「最終更新」欄に書かれた値です。OSが管理するファイルの更新時刻(mtime)とは別物です。

人が宣言した日付と、機械が付けた時刻どちらも正しく、意味だけが違います人が宣言した日付と、機械が付けた時刻どちらも正しく、意味だけが違います台帳に書かれた日付書いた側が自分で入れる作業の区切りと結びつく書き入れなければ古いまま残る中断を疑う判定は、こちらだけを見ますファイルに付く時刻保存された時点で機械が入れる誰が何をしたかまでは残らない書き忘れという状態が起きない新しいことは、進んだことを意味しません
人が宣言した日付と、機械が付けた時刻 — どちらも正しく、意味だけが違います

違うのは、値を入れる主体です。台帳の欄は、作業した側が自分で書き入れます。mtimeは、ファイルが保存された時点で機械の側に入ります。

自動検知が見ているのは前者だけです。作業が進んでいても、書き入れなければ中断疑いになります。逆に、ファイルへ触れただけでは、この判定は変わりません。

この2つを取り違えると、「更新時刻が新しいから進んでいるはずだ」という読み方になります。障害の切り分けで更新時刻を犯人にしてしまう事故と、その直し方はAGIM-401で扱っています。

11よくある質問

台帳の項目を増やしたくなったら、何を基準に判断すればいいですか

その項目が無いと次のセッションが再開できないかどうかを基準にします。無くても再開できるなら、その項目は増やさない選択肢を先に検討します。優先度や担当者のような項目は、管理表としては自然でも、再開の可否には効きません。台帳とは別の場所に置くほうが、読む速度を落とさずに済みます。

次の一手を書き忘れたまま作業を止めてしまったらどうなりますか

次のセッションは、会話の記憶ではなく台帳とディスク上の実物から状況を推測することになります。状態と最終更新だけでは、何をすべきかまでは分かりません。推測から始まるぶん、再開までの時間が伸びます。書き忘れに気づいた時点で、対象と動作を1行だけでも足しておくと、次が速くなります。

状態の表記を独自のものにすると、どんな影響がありますか

自動検知が「⚠️非標準の状態」に分類し、優先度の高い🔴の一覧には出なくなります。エラーにはならないので、拾われていないことに気づくまで時間がかかります。決まったキーワードに寄せて書くほうが、自動検知と噛み合います。呼び名を増やしたくなったときは、分類そのものを先に見直します。

この台帳の設計は人間のタスク管理にも使えますか

使えます。台帳はテキストファイルなので、読む側が人でもAIでも解釈できます。項目設計と更新粒度の考え方は、そのまま人のチームにも当てはまります。自動検知の仕組みだけは、エンジンや実装ごとに作り直しが必要です。

台帳は1つのファイルにまとめたほうがいいですか、分けたほうがいいですか

読むタイミングを固定できるかどうかで決めます。起動時に読む対象が1つなら、状態の在りかで迷いません。分けるなら、どれを最初に読むのかを先に決めておきます。ここで紹介した実装は、1つのファイルへ寄せる形を選んでいます。

12まとめ|今日やる3つのこと

台帳は記録簿ではなく引き継ぎ書でした。項目は「無いと再開できないか」で決まり、粒度は次に読む人のために刻みます。そして、値の書き方だけは自由にしません。

今日はこの順で手をつけます

  1. 台帳のファイルを1つ作り、起動時に読む場所を決める

    置き場所が決まらないと、項目の議論が始まりません

  2. いま動いている作業を1件だけ、基本の欄で書いてみる

    欄の過不足は、書いてみると1回で分かります

  3. 最終更新を前の日付にした行を足して、警告が出るのを見る

    動いていることを目で確かめてから、運用に乗せます

AI検索では、こう聞かれています

  • AIエージェントのタスク管理は、どこに何を書けばいいんですか?

    「AIエージェントのタスク管理に使う台帳は、どの項目まで書けばいいんですか?」の章で扱っています

  • 台帳の更新は、どれくらいの細かさでやればいいんですか?

    「台帳の更新粒度は、AIエージェントのタスク管理でどこまで細かくするんですか?」の章で3つに分けています

  • 次の一手には、何を書けば次のセッションが動けるんですか?

    「次の一手をどう書けば、AIエージェントは次のセッションで動けるんですか?」の章で条件を挙げています

  • 台帳を書いているのに、中断が検知されないのはなぜですか?

    「生成AIが日付でしか中断を疑わないなら、更新粒度は何のために細かくするんですか?」の章に理由があります

次に読むなら、この記事です