CLAUDE LABEN
MODEL — Claude Opus 4.8とHaiku 4.5がMessages APIで利用可能になり、コーディングやエージェント処理に使えますCODE — Claude Codeが/rewindで/clear前の会話に戻れるようになり、MCPの信頼性とOAuthの再試行も改善されましたCODE — ストリーミング時のCPU使用が約37%削減され、長時間セッションの安定性が向上しましたCLOUD — ClaudeがMicrosoft Foundry(Azure)で一般提供され、Azureネイティブで利用できるようになりましたSECURITY — 静的APIキーをWIF(短命・スコープ付き資格情報)へ置き換えられるようになりましたPOLICY — 米政府がMythos 5モデルを約100社・連邦機関へ限定提供することを許可しましたMODEL — Claude Opus 4.8とHaiku 4.5がMessages APIで利用可能になり、コーディングやエージェント処理に使えますCODE — Claude Codeが/rewindで/clear前の会話に戻れるようになり、MCPの信頼性とOAuthの再試行も改善されましたCODE — ストリーミング時のCPU使用が約37%削減され、長時間セッションの安定性が向上しましたCLOUD — ClaudeがMicrosoft Foundry(Azure)で一般提供され、Azureネイティブで利用できるようになりましたSECURITY — 静的APIキーをWIF(短命・スコープ付き資格情報)へ置き換えられるようになりましたPOLICY — 米政府がMythos 5モデルを約100社・連邦機関へ限定提供することを許可しました
記事一覧/Cowork
Cowork/2026-06-30上級

3日前のローカルミラーで判断していた — 無人タスクが古い作業コピーを信じて二重作業する事故を止める

速度のために使い回す永続クローンは、いつの間にかリモートとずれます。同期を確かめないまま「この記事はもう直したか」を読みに行くと、無人タスクは古い木を信じて二重編集や空振り成功を起こします。HEAD 突き合わせと書き込み可否のプリフライト、自己修復の再クローンをbashで実装します。

Cowork30スケジュールタスク15自動化63git15信頼性4

プレミアム記事

無人で回しているスケジュールタスクが「成功」とログに残しているのに、出来上がったものが一つ前の世界線のまま、ということがあります。私自身、個人開発で4つのAIブログ(Dolice Labs)をCoworkのスケジュールタスクで自動運用していて、ある朝のログでひやりとしました。「この記事はもう加筆済みか」を手元のクローンで確かめてから作業に入ったのですが、その手元のクローンが3日前のもので、実際にはすでにリモート側で別のランが同じ記事を更新し終えていたのです。あと一歩で、同じ記事を二重に書き換えるところでした。

エラーは一つも出ていません。git clone も成功し、ファイルも読めて、品質ゲートも通る。それでも判断の土台がずれていました。この種の事故は「失敗」ではなく「古い真実に基づく正しい処理」として起きるので、例外ハンドリングでは捕まりません。ここでは、永続クローンを「キャッシュ」として正しく扱い、意思決定の前に鮮度を契約として確かめる方法をまとめます。

なぜ永続クローンは黙ってずれるのか

速度のために、多くの自動化は作業リポジトリを毎回 clone し直さず、/tmp/repos/{site} のような場所に残して git pull --rebase で差分更新します。これは正しい最適化です。問題は、その永続クローンが「いつの時点のリモートか」を、後続の処理が暗黙に「最新」と信じてしまうことにあります。ずれは主に3経路で入ります。

1つ目は、別のランがすでに前進させているケースです。複数のスケジュール枠(朝の生成・昼の加筆・夜の復旧)が同じリポジトリを触る構成だと、自分が最後に pull してから他のランが push しています。手元の木はその push を知りません。

2つ目は、所有者が変わって pull 自体が静かに失敗するケースです。CoworkのVMではセッションをまたぐと /tmp/repos/nobody:nogroup 所有のまま残ることがあり、git pull も書き込みも弾かれます。リカバリで || true を付けていると、失敗したのに処理が前に進み、結果として古い木で判断します。

3つ目は、rebase が中途半端に終わっているケースです。前回のランが競合や中断で rebase を完了できず、デタッチドな状態や中途コミットを残していると、git log は一見もっともらしいのに最新ではありません。

いずれも共通するのは、読めるけれど古いという点です。だからこそ「読めたか」ではなく「最新と一致しているか」を確かめる必要があります。

stale な木の上での判断は、なぜ静かに壊れるのか

無人タスクが手元の木を読むのは、たいてい「処理」より前の「判断」のためです。たとえば次のような問いです。

判断の問いstale な木だと起きること
この slug はもう存在するかリモートで追加済みの記事を「無い」と誤認し、重複 slug を作る
この記事はもう加筆・修正したかすでに直っているのに「未対応」と見て二重に書き換える
日英の本数は一致しているか古いカウントで一致と判断し、実際の不一致を見逃す
直近で同じ題材を出したか古いログ・古い記事一覧で「未出」と誤判定し、題材が被る

判断が誤ると、その後の処理がどれだけ正しく動いても結果は壊れます。しかも壊れ方が「正常終了」なので、ログには Status: SUCCESS と残ります。私が肝に銘じているのは、検証されていない木の上で下した判断は、たとえ結論が正しく見えても無効として扱うという原則です。判断の前に木の鮮度を保証する。これを順序の問題として設計します。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
永続クローンが stale になる3経路(push後の他ランによる前進・所有者の nobody 化・rebase 半端)と、それぞれが意思決定読みをどう汚染するか
git ls-remote による local==remote HEAD 突き合わせ+ .git 書き込みプローブを1秒で済ませるプリフライト関数の実装
stale を検知したら pull --rebase で追いつき、不可なら $HOME へ fresh clone して自己修復する判断フローと、検証前の木で下した判断を無効化する設計
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

Cowork2026-06-29
古い入力で無音劣化させない — 無人パイプラインの入力フレッシュネス契約
スケジュール実行の自動パイプラインが、空や古い参照データを読んで静かに劣化した成果物を出す事故を防ぐための設計。鮮度・非空・由来を契約として検証するゲートをbashで実装し、私自身がCoworkで踏んだ落とし穴も共有します。
Cowork2026-06-23
無人の記事生成タスクが『ほぼ同じ記事』を二度書く前に止める重複検出ゲート
Cowork のスケジュールタスクで毎日記事を生成していると、無人ゆえに数日前と中身がほぼ重なる記事を作ってしまいます。公開直前に slug の類似度と当日ログを照合して重複を止めるゲートを、実際に誤公開を防いだ実装とともにお届けします。
Cowork2026-06-13
Cowork スケジュールタスク運用の実際 — 朝のダイジェストと週次レポートを無人で回すまで
Claude Cowork のスケジュールタスクで定期実行・リマインダー・自動レポートを設定する手順を、cron 式の基本から無人実行に耐えるプロンプト設計、複数タスクの時間帯設計まで、運用で掴んだ勘所とともにお届けします。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →