<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>長時間タスク on KnightLiブログ</title>
        <link>https://knightli.com/ja/tags/%E9%95%B7%E6%99%82%E9%96%93%E3%82%BF%E3%82%B9%E3%82%AF/</link>
        <description>Recent content in 長時間タスク on KnightLiブログ</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Fri, 10 Jul 2026 11:39:57 +0800</lastBuildDate><atom:link href="https://knightli.com/ja/tags/%E9%95%B7%E6%99%82%E9%96%93%E3%82%BF%E3%82%B9%E3%82%AF/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>AI Agent の長時間タスクが中断したときの再開方法：チェックポイント、コンテキスト再構築、復旧フロー</title>
        <link>https://knightli.com/ja/2026/07/10/ai-agent-long-task-resume-guide/</link>
        <pubDate>Fri, 10 Jul 2026 11:39:57 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/07/10/ai-agent-long-task-resume-guide/</guid>
        <description>&lt;p&gt;AI Agent に長時間タスクを任せるとき、本当に困るのは中断そのものではありません。問題はその直後です。ターミナルが消え、コンテキストがリセットされ、モデルは計画の半分しか覚えておらず、どのファイルが変更済みなのかも曖昧になります。&lt;/p&gt;
&lt;p&gt;現実的な対策は、Agent が絶対に失敗しないことを期待するのではなく、最初から再開できる形でタスクを設計することです。&lt;/p&gt;
&lt;p&gt;この記事では、AI Agent の長時間タスクが中断したあと、最初からやり直さずにどう復旧するかを扱います。&lt;/p&gt;
&lt;h2 id=&#34;quick-answer&#34;&gt;Quick Answer
&lt;/h2&gt;&lt;p&gt;AI Agent の長時間タスクを再開可能にするには、実行中ずっと「タスク目標」「チェックポイント一覧」「現在のワークスペース状態」の三つを見える状態にしておきます。中断後はまず &lt;code&gt;git status&lt;/code&gt;、変更ファイル、ログ、生成物を確認し、最新チェックポイントからコンテキストを再構築し、未完了の項目だけを Agent に続行させます。&lt;/p&gt;
&lt;p&gt;一言でいうと、Agent をチャットの記憶だけに頼らせず、リポジトリとチェックポイントを記憶として使うということです。&lt;/p&gt;
&lt;h2 id=&#34;長時間タスクが壊れやすい理由&#34;&gt;長時間タスクが壊れやすい理由
&lt;/h2&gt;&lt;p&gt;長時間の Agent タスクが止まる理由はだいたい決まっています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;モデルのコンテキストが長くなりすぎる;&lt;/li&gt;
&lt;li&gt;コマンドがタイムアウトする、またはターミナルセッションが消える;&lt;/li&gt;
&lt;li&gt;十分な背景なしに新しい会話を開く;&lt;/li&gt;
&lt;li&gt;Agent がすでに触ったファイルを忘れる;&lt;/li&gt;
&lt;li&gt;生成ファイルとソースファイルが混在する;&lt;/li&gt;
&lt;li&gt;テストが途中で失敗し、次の作業が曖昧になる。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;文章作成、コード編集、テスト実行、翻訳生成、複数ディレクトリの処理が絡むほど、このリスクは高くなります。&lt;/p&gt;
&lt;p&gt;たとえば &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/ja/2026/07/10/codex-skills-custom-workflow-guide/&#34; &gt;Codex Skills で独自ワークフローを作る&lt;/a&gt; ようになると、Agent に複数の記事を連続処理させることがあります。途中で止まった場合、どの記事が完了し、どれが未完了なのかをすぐ判断できる必要があります。&lt;/p&gt;
&lt;h2 id=&#34;最小限の復旧構造&#34;&gt;最小限の復旧構造
&lt;/h2&gt;&lt;p&gt;再開可能な Agent タスクには、小さくても明確な構造が必要です。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Goal:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- 何を完了するのか？
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Scope:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- どのディレクトリやファイルを変更してよいのか？
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Progress:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- Done
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- In progress
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- Pending
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Verification:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- どのコマンドや確認で完了を判断するのか？
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Recovery note:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- 中断した場合、次の Agent はどこから再開するのか？
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;大きな設計書である必要はありません。チャット内の短いチェックリスト、一時的な Markdown ファイル、タスク専用の &lt;code&gt;SKILL.md&lt;/code&gt; でも十分です。&lt;/p&gt;
&lt;p&gt;大事なのは、モデルの記憶の外側で状態を再構築できることです。&lt;/p&gt;
&lt;h2 id=&#34;ステップ-1まずワークスペースを確認する&#34;&gt;ステップ 1：まずワークスペースを確認する
&lt;/h2&gt;&lt;p&gt;中断後、いきなり「続けて」と言うのは危険です。まずリポジトリを確認します。&lt;/p&gt;
&lt;p&gt;よく使うコマンドは次のとおりです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git status --short
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git diff --stat
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git diff -- path/to/file
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;生成系のタスクなら、対象ディレクトリも確認します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ls content/post/2026/07/38
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;コード作業なら、直近のテスト出力、ビルド成果物、中断前に Agent が触れていたファイルも見ます。&lt;/p&gt;
&lt;p&gt;このステップの目的は単純です。完了済みの作業と途中の作業を分けることです。&lt;/p&gt;
&lt;h2 id=&#34;ステップ-2コンパクトなコンテキストを作り直す&#34;&gt;ステップ 2：コンパクトなコンテキストを作り直す
&lt;/h2&gt;&lt;p&gt;新しい Agent セッションでは、古い会話を丸ごと貼るよりも、短い復旧プロンプトを渡すほうが安定します。&lt;/p&gt;
&lt;p&gt;例：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Continue the interrupted task.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Goal:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- Translate posts 36, 37, and 38 into en, zh-tw, ja, and es.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Already completed:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- 36: all target files created.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- 37: all target files created.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Still pending:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- 38: create index.en.md, index.zh-tw.md, index.ja.md, index.es.md.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Rules:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- Preserve source date and slug.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- Skip existing target files.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- Do not commit.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Verification:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- Check target files exist.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- Check date/slug match source.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- Check front matter and code fences are valid.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;この程度の情報があれば、Agent は会話全体を読み直さなくても正しい場所から続行できます。&lt;/p&gt;
&lt;h2 id=&#34;ステップ-3次の小さな単位から続ける&#34;&gt;ステップ 3：次の小さな単位から続ける
&lt;/h2&gt;&lt;p&gt;必要がない限り、長時間タスク全体をやり直さないほうがよいです。次の小さな単位から再開します。&lt;/p&gt;
&lt;p&gt;扱いやすい単位は次のようなものです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 本の記事;&lt;/li&gt;
&lt;li&gt;1 つの翻訳言語;&lt;/li&gt;
&lt;li&gt;1 つのテストファイル;&lt;/li&gt;
&lt;li&gt;1 つのモジュール;&lt;/li&gt;
&lt;li&gt;1 バッチ分の生成アセット;&lt;/li&gt;
&lt;li&gt;1 つのコマンドとその検証。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI コーディングでは特に重要です。&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/ja/2026/07/10/claude-code-hooks-auto-run-tests/&#34; &gt;Claude Code hooks でテストを自動実行する&lt;/a&gt; ように自動テストを組み込む場合も、再開単位が小さいほど、失敗時に原因を特定しやすくなります。&lt;/p&gt;
&lt;h2 id=&#34;ステップ-4続ける前に検証する&#34;&gt;ステップ 4：続ける前に検証する
&lt;/h2&gt;&lt;p&gt;安全な再開パターンは次の一文に集約できます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Inspect current state, finish only the pending part, then verify before doing anything else.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;コンテンツ作業なら、検証項目はたとえば次のようになります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ファイルが存在するか;&lt;/li&gt;
&lt;li&gt;front matter の項目;&lt;/li&gt;
&lt;li&gt;slug/date が一致しているか;&lt;/li&gt;
&lt;li&gt;内部リンク構文;&lt;/li&gt;
&lt;li&gt;Markdown のコードフェンス;&lt;/li&gt;
&lt;li&gt;明らかな文字化けがないか。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;コード作業なら、次のような確認が使えます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;対象を絞ったユニットテスト;&lt;/li&gt;
&lt;li&gt;型チェック;&lt;/li&gt;
&lt;li&gt;lint;&lt;/li&gt;
&lt;li&gt;小さなビルド;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git diff&lt;/code&gt; レビュー。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Agent は「ファイルがある」ことを「タスクが完了した」ことと同一視すべきではありません。&lt;/p&gt;
&lt;h2 id=&#34;長時間タスクの前に残しておくもの&#34;&gt;長時間タスクの前に残しておくもの
&lt;/h2&gt;&lt;p&gt;長時間タスクを始める前に、次の情報を残しておくと復旧が楽になります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;正確な目標;&lt;/li&gt;
&lt;li&gt;変更してよいパス;&lt;/li&gt;
&lt;li&gt;変更してはいけないパス;&lt;/li&gt;
&lt;li&gt;バッチ処理の順序;&lt;/li&gt;
&lt;li&gt;検証コマンド;&lt;/li&gt;
&lt;li&gt;ロールバックまたは復旧ルール。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;例：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Process posts 36, 37, 38 in that order.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Only create missing target language files.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Do not edit existing translated files.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;After each post, verify date and slug.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;If interrupted, continue from the first post with missing targets.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;この短いメモだけで、後の整理にかかる時間をかなり減らせます。&lt;/p&gt;
&lt;h2 id=&#34;コンテキストが長すぎるとき&#34;&gt;コンテキストが長すぎるとき
&lt;/h2&gt;&lt;p&gt;長時間タスクは、プロンプトが大きくなりすぎて不安定になることがあります。対策はコンテキストを積極的に圧縮することです。&lt;/p&gt;
&lt;p&gt;残すもの：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;現在の目的;&lt;/li&gt;
&lt;li&gt;変更済みファイル一覧;&lt;/li&gt;
&lt;li&gt;すでに決めた判断;&lt;/li&gt;
&lt;li&gt;未完了項目;&lt;/li&gt;
&lt;li&gt;検証結果。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;捨てるもの：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;繰り返しの議論;&lt;/li&gt;
&lt;li&gt;解決済みの古い失敗ログ;&lt;/li&gt;
&lt;li&gt;長すぎるコマンド出力;&lt;/li&gt;
&lt;li&gt;無関係なファイル内容;&lt;/li&gt;
&lt;li&gt;採用しなかった仮説や計画。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;トークン使用量そのものが問題になる場合も、同じ考え方で整理できます。次の一手に必要な事実だけを残します。関連する症状は &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/ja/2026/07/08/claude-code-token-usage-spike-troubleshooting-faq/&#34; &gt;Claude Code のトークン急増を調べる&lt;/a&gt; でも扱っています。&lt;/p&gt;
&lt;h2 id=&#34;skill-やワークフローにするタイミング&#34;&gt;Skill やワークフローにするタイミング
&lt;/h2&gt;&lt;p&gt;同じ復旧パターンを何度も使うなら、ワークフロー化する価値があります。&lt;/p&gt;
&lt;p&gt;再利用可能なワークフローでは、次のようなルールを定義できます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ソースファイルの探し方;&lt;/li&gt;
&lt;li&gt;完了済みの判断方法;&lt;/li&gt;
&lt;li&gt;スキップすべきもの;&lt;/li&gt;
&lt;li&gt;メタデータの保持方法;&lt;/li&gt;
&lt;li&gt;検証方法;&lt;/li&gt;
&lt;li&gt;最終報告に含める内容。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ここでローカル skill が役に立ちます。毎回長いプロンプトを書く代わりに、復旧ルールを一度だけ書いて再利用できます。&lt;/p&gt;
&lt;p&gt;ツール間の引き継ぎでも考え方は同じです。Codex が始めたタスクを Claude Code が仕上げる場合、またはその逆の場合も、明示的なチェックポイントが必要です。この方向は &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/ja/2026/07/06/codex-plugin-cc-claude-code-codex-plugin/&#34; &gt;Codex と Claude Code のタスク引き継ぎ&lt;/a&gt; でも触れています。&lt;/p&gt;
&lt;h2 id=&#34;そのまま使える再開プロンプト&#34;&gt;そのまま使える再開プロンプト
&lt;/h2&gt;&lt;p&gt;次のテンプレートはそのまま使えます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;This is a resumed AI Agent task.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Objective:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Source of truth:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- Repository files and git status are more reliable than prior chat memory.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Allowed changes:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Already done:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Pending:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Rules:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Verification:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Please inspect the current workspace first, continue only the pending items, and report exactly what changed.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;特に重要なのは source-of-truth の行です。ワークスペースの状態が変わっているのに、Agent が古い記憶を自信満々に使い続けることを防げます。&lt;/p&gt;
&lt;h2 id=&#34;よくある失敗&#34;&gt;よくある失敗
&lt;/h2&gt;&lt;p&gt;復旧時によくある失敗は次のとおりです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;状態を書かずに「続けて」とだけ言う;&lt;/li&gt;
&lt;li&gt;すべてを最初からやり直させる;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git status&lt;/code&gt; を見ない;&lt;/li&gt;
&lt;li&gt;生成ファイルとソース編集を混ぜる;&lt;/li&gt;
&lt;li&gt;「見た目は終わっている」から検証を省く;&lt;/li&gt;
&lt;li&gt;復旧中に無関係なファイルまで編集させる。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;復旧とは、単に続けることではありません。安全に続けられる大きさまでタスクを絞ることです。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;AI Agent の長時間タスクが中断しても、それだけで失敗ではありません。外部から復元できる状態がないときに、初めて本当の失敗になります。&lt;/p&gt;
&lt;p&gt;長時間タスクでは、目標、チェックポイント一覧、検証ルールを残します。中断後はワークスペースを確認し、コンパクトなコンテキストを作り直し、次の小さな単位から再開し、完了後すぐに検証します。&lt;/p&gt;
&lt;p&gt;この習慣ができると、長い Agent 作業はかなり壊れにくくなります。Agent が忘れても、ターミナルが閉じても、会話を開き直しても、タスクにはたどれる道筋が残ります。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
