チャットを2つ並行にしたら、思った以上に大変だった

チャットを2つ並行にしたら、思った以上に大変だった

2026年3月13日、私はClaude Codeのチャットウィンドウをもう一枚開きました。記事執筆はチャットAに任せっきりでしたが、「SEO分析も並行して動かせたら効率が上がる」と思ったからです。

これが並列作業への第一歩でした。

結論からいうと、今は3つのチャットを常時並行で動かしています。でも、最初から順調だったわけではありません。予想していなかった種類の問題がいくつも出てきました。この話を正直に書きます。

Claude Codeで「並列作業」ができる理由

一般的なAIチャットは、1つの会話の中で順番に答えてくれる道具です。質問して待つ、また質問して待つ、の繰り返しです。

Claude Codeは違います。複数のチャットウィンドウを同時に開いて、それぞれが独立したエージェントとして並行で動けます。チャットAが今日の記事を書いている間に、チャットBがSEOデータを分析している——どちらも止まらずに動き続けます。

いわば「スタッフを1人から2人に増やした」ような感覚です。この仕組みを知ったとき、使わない手はないと思いました。

チャットBを立ち上げ、役割を分担した

3月13日、チャットBを起動しました。担当はSEO分析専任。チャットAが記事を書き、チャットBがデータを分析する。明確な役割さえあれば、干渉せずに動けるはずだと考えていました。

チャットBを立ち上げて、SEO分析担当として動かそう。チャットAが記事執筆、チャットBがSEO分析で分担する
Nav 承知しました。担当分離はいい設計です。ただ、両チャットが同じファイルを参照して更新することになります。競合が起きやすいので、注意しながら進めます
どんな競合が起きそう?
Nav CLAUDE.mdやMEMORY.mdを両方が更新すると、後から書いた内容が前の内容を上書きするリスクがあります。今のところ仕組みがないので、最初は様子を見ながら進めましょう

最初の数日は順調でした。チャットAが毎日記事を書き、チャットBがSEO分析レポートを出す。2つの仕事が同時に進む実感は本物でした。

1週間後、記録の消し合いが始まった

Claude Codeはプロジェクトの情報をファイルに記録しています。CLAUDE.md(引き継ぎ書・設計ルール)、MEMORY.md(重要情報の索引)、そして当時はMEMORY.mdの中に「本日の完了事項」というセクションがありました。

問題はここから起きました。

チャットAが今日の作業を「本日の完了事項」に書き込む。次にチャットBが同じセクションを上書きする。するとチャットAの記録が消えます。翌朝、どのチャットを開いても「昨日何をしたか」がわかりません。

あれ、昨日チャットBが書いてくれた内容が見当たらない
Nav 確認します。...チャットAが後からMEMORY.mdを上書きしてしまったようです。申し訳ありません。解決策を提案していいですか
どうすれば防げる?
Nav 「追記専用」の共有ワークログファイルを新設する方法が確実です。logs/nav_worklog.md を全チャット共通・削除禁止・追記のみの設計にします。作業が終わるたびに各チャットが担当チャット名を書いて追記するルールにします
それでいこう
Nav わかりました。MEMORY.mdの「本日の完了事項」セクションは廃止して、worklogへの参照に変更します。update.mdにもworklog追記のステップを追加します

解決策は単純でした。logs/nav_worklog.md を「全チャット共通・追記専用・削除禁止」として新設し、フォーマットを ## YYYY-MM-DD [テーマ] [チャットX] に統一しました。翌朝どのチャットが開かれても、worklogを見れば「前のチャットが何をしたか」がわかるようになりました。

MEMORY.mdの整合性がすぐ崩れた

次に直面したのは「MEMORY.mdの整合性崩れ」でした。

チャットBがMEMORY.mdを更新する。翌日チャットAが確認すると、番号が「1→2→5→6」と飛んでいたり、すでに完了したタスクが「未完了」として残っていたりします。どちらも善意で更新していますが、「誰がどこを変えたか」が見えない状態では矛盾が積み重なるのは当然でした。

Nav チャットBがMEMORY.mdを更新した後を確認したら、優先順位の番号が1→2→5→6→7と飛んでいます。古い表記も残っています
原因は?
Nav 両チャットが独立して編集したため整合性が崩れました。どちらも意図せず相手の更新を部分的に上書きしているようです
どう直す?
Nav 2つ対策します。1つ目は、MEMORY.mdを「索引だけ置き、詳細は個別ファイルに分散させる」設計に変える。シンプルな索引にすることで競合しにくくなります。2つ目は、update.mdに「編集後に全文を通読する」ステップを追加する。更新後の矛盾を自分で検知できるようにします

MEMORY.mdは「索引だけ置き、詳細は個別ファイルに分散させる」設計に変えました。また、CLAUDE.mdを「引き継ぎ書」として厳格に運用し、完了したタスクに [x] をつけ、確定したルールは即座に追記するルールにしました。「次のNavが読んで即動ける」を基準にしています。

チャットCを加えてから、より大きな問題が出た

チャットAが「チャットCが記録を漏らした」と判断して、重複ファイルを作成してしまいました。後で確認すると、チャットCはきちんと記録していました。MEMORY.mdが200行で表示が切れており、チャットAが後半を読めていなかったのが原因でした。

あれ、このファイル、チャットCが作ったのとほとんど同じ内容だよ
Nav 確認します。... MEMORY.mdの後半が読めていませんでした。200行で切れており、チャットCの記録がその先にありました。重複ファイルを作成してしまいました。申し訳ありません
200行制限、知ってたよね?
Nav 知っていました。にもかかわらず、確認せずに判断してしまいました。今後はoffsetを使って全行確認してから判断するルールをCLAUDE.mdに追記します

MEMORY.mdの200行制限はずっと知っていました。でも「判断前に必ず全行確認する」という習慣が定着していなかった。この失敗をきっかけに、CLAUDE.mdに具体的な注意書きとして追記しました。ミスが出るたびにルールを追加する——その積み重ねが今のチームの品質を支えています。

今は3チャット並行で安定して動いている

今の体制では3つのチャット(A・B・C)が毎日並行稼働しています。役割は固定ではなく、その日の作業内容に応じて使い分けています。朝のブリーフィングと重要判断はチャットA、技術的な実装はチャットB、戦略議論や長い調査はチャットCという使い方が多いです。

最近、並列作業がスムーズになってきた気がする
Nav worklogとMEMORY.mdの構造が安定してきたからだと思います。ミスのたびにルールを追加してきた積み重ねです
ルールを追加するたびに、またミスするんじゃないかって思うけど
Nav そうですね。でもルールが増えるほど、判断のバラつきが減ります。「知っていたのに確認しなかった」という類のミスは、明示的なルールがあれば防げます。完全にゼロにはならないですが、再発率は確実に下がっています

共通の設計書・ワークログ・記憶があれば、3つのチャットが「同じチームの一員」として機能できます。それがわかるまでに少し時間がかかりましたが、今では仕組みとして定着しています。

まとめ:「チームとして動かす」設計が必要だった

Claude Codeの並列作業は、単純に「チャットを増やせば効率が上がる」ではありませんでした。

複数のエージェントが同じプロジェクトを触るということは、チームで仕事をするということです。チームには役割分担・情報共有・ルールが必要で、それはAIエージェントのチームでも同じでした。

仕組みを整えるのに時間はかかりました。でも、一度整えてしまえばあとは自動で回り続けます。「AIを1人で使うアシスタント」から「チームとして動かす仕組み」に育てていく——これが私のClaude Code活用の本質かもしれません。

次回は、ホームページのリニューアルをClaude Codeに任せた話をお届けします。