メインコンテンツへスキップ
← 記事一覧に戻る
·運用·7 min read

AIに記事運用を任せたら影の艦隊が並走していた——Cowork×content-executor二重稼働を棚卸しして一本化した記録

Claude CodeAIエージェント自動化ガバナンス個人開発
AIに記事運用を任せたら影の艦隊が並走していた——Cowork×content-executor二重稼働を棚卸しして一本化した記録

AIに業務を任せていたら、知らないうちに複数のAIエージェントが同じリポジトリへ書き込んでいた——これは「過剰投資の失敗」ではなく、「任せ方の設計が追いついていなかった」という話です。

結論

masatoman.netの記事公開ルートがcontent-executor(クラウド定期実行)とCowork aff-crew(aff-writer/aff-engineer/night-publisher)の2本立てになっていた。その結果、push衝突・記事の二重生成・旧CTAの混入・新コンセプトとの不整合が同時多発した。2026-06-23に全Cowork aff-crewを停止し、content-executor一本に集約した。

「AIに任せたら何かがおかしい」と感じたときの原因の多くは、書き込みパスが複数あることだった。

この記事の前提(自分の状況・スタック・実験条件)

  • 運用サイト: masatoman.net(Next.js 16 + MDX + Vercel)
  • AI自動化ツール: content-executor(Claude Code × GitHub Actions × Supabase)、Coworkエージェント群
  • 記録日: 2026-06-23(dev_journalのseverity=highエントリ)
  • この記事で数字として出てくるのは、すべてdev_journalに記録した観測値のみ。成功事例ではなく判断の記録として書く

読者のよくある詰まり(「それ俺だ」を作る)

  • 自動投稿を組んだのに、記事が重複して公開されていることがある
  • 「このCTAはもう古い」と直したはずなのに、しばらくすると戻っている
  • gitのpushが時々 "rejected" になるが、CIの問題だと思って再実行している
  • 自動化を追加するたびに、なぜかバグが増えている

これらが同時に起きている場合、原因は「コードのバグ」ではなく**「複数のエージェントが同じファイルを触っている」**可能性が高い。

実際に起きたこと

masatoman.netへの記事公開ルートは、設計意図としてはcontent-executor一本だった。ところが2026-06-23の時点で、実際には以下が並走していた:

  • content-executor(毎日02:00 JST、Supabaseのブリーフから記事を生成してpush)
  • Cowork aff-writer(毎日14:00、Coworkエージェントが記事を生成してpush)
  • Cowork aff-engineer(月・水・金、技術系コンテンツを生成してpush)
  • Cowork night-publisher(note等の外部媒体へ自動公開)

表面に出た症状は3つ:

  1. push衝突: content-executorとaff-writerが同じタイミングでgit pushを試み、一方がrejectされる
  2. 記事の二重生成: 同じテーマで似た記事が別のエージェントにより別slugで生成される
  3. 旧CTA混入: 2026-06-07以前のKOBO CTAテンプレートをaff-crewが参照し続け、新コンセプトに合わないCTAが本文に差し込まれる

原因分析

根因は一つ:同一リポジトリへの書き込みパスが複数存在していたこと。

それぞれのエージェントは自分の役割を正しく実行していた。aff-writerは「毎日14時に記事を書いてpushする」、content-executorは「ブリーフに従って毎日02時にpushする」。どちらも設計通り動いている。問題は、2つの設計が同じ出力先(masatoman.netのmainブランチ)に向いていたことだ。

さらに悪いことに、各エージェントが参照するコンテキスト(CLAUDE.md、CTAテンプレート)の更新タイミングが異なった。content-executorは最新のadapt-specを読んでいたが、Cowork aff-crewは古いセッション設定をキャッシュしていた。これが新コンセプト(2026-06-07更新)との不整合を引き起こした。

判断軸(読者が当てはめられる形)

複数のAIエージェントを並走させてよい条件と、一本化すべき条件の区別は以下:

条件並走OK一本化すべき
出力先別リポジトリ・別ファイル同一ブランチに書き込む
コンテキスト参照各自が最新を動的に読む古いキャッシュ・設定ファイルを参照し続ける
役割の重複ゼロ重複・明確に補完同じことをタイミングをずらしてやっている
症状問題なし重複・衝突・不整合が出始めた

今回のCowork aff-crewは4つ全て「一本化すべき」側に該当していた。

今日やること(3つ以内)

  1. 自分の自動化スタックを書き出す: 「何が・いつ・どこへ書き込んでいるか」を表に一覧化する。同一リポジトリへの書き込みパスが2本以上ある場合は要確認
  2. 古いエージェントの参照元を確認する: 更新したはずのCTAやコンセプトが古いまま使われていないか、各エージェントの設定ファイル(CLAUDE.md / prompt / workflow)を確認する
  3. 「いまは停止中」エージェントも含めて棚卸しする: 一時停止しているだけで設定が残っているエージェントは、再起動時に再び並走する。明示的に削除か無効化しておく

今回の棚卸しで気づいたのは、「設計をした時点では整合していたものが、追加・更新を繰り返すうちに乖離していく」という構造的な問題だ。AI業務設計は一度組んで終わりではなく、定期的な棚卸しがメンテナンスとして必要になる。

masatoman のメルマガ — 毎週月曜の朝に手紙を 1 通

masatoman.net の今週の記事 1 本を、読者目線で深掘りした手紙が毎週月曜 9:00 に届きます。「これ自分のことだ」が見つかる予告編。登録特典に「個人開発の収益化チェックリスト 15 項目」。

masatoman のメルマガ — 毎週月曜の朝に 1 通

masatoman.net で今週公開した記事の中から 1 本を、読者目線で深掘りした手紙が届きます。「自分も同じことやってる」「ここで詰まってた」が見つかる予告編。

シェア

コメント

投稿にはログインが必要です(メールアドレスのみ・パスワード不要)。入力内容は保持され、ログイン後そのまま投稿されます。