AI社員40人を作って1ヶ月で全部やめた話 — 壊れない設計のために知っておくべきこと

Claude Code のエージェントを40体つくり、役割を分けてルールを書いて階層もつくった。1ヶ月後、ぜんぶやめた。こはく氏(@Kohaku_NFT)の実体験レポートから、AIエージェント大量運用が構造的に壊れる理由と、そこから見えた「壊れない設計」の考え方を整理する。 やったこと Claude Code の Max プラン(月$200)1アカウントで検証 リーダー、ライター、リサーチャー、コーダー、レビュアーなど40体のエージェントを構築 役割分担、ルール、階層、性格設定まで丸2日かけて設計 最初の3日間は動いた。指示を出せばちゃんと返ってくる。SNS でスクショをあげようとした矢先に崩壊が始まった。 壊れる3つの構造的理由 理由1: Context Rot(記憶の腐敗) Context Rot とは、コンテキストウィンドウに情報が溜まるほど古い情報の精度が落ちる現象のこと。Anthropic の公式ドキュメントにも「トークン数が増えるほど、精度と想起(思い出す力)が劣化する」と明記されている。 1000ページの社内マニュアルと同じ構造 — 人間が全ページを暗記できないように、AIも情報が多すぎると処理しきれなくなる 「100万トークン入る」と「安定して使える」は別物 — 公式でさえ「文脈は大きければいいわけではない」と警告している こはく氏の実測では、10万トークンを超えるとブレが目立ち始めた ルール、コード、会話履歴が積み上がるほど再現性は低下する。 理由2: Compaction 後に構成が崩れる 長時間運用すると、コンテキストウィンドウの容量を確保するために前半の会話内容が自動で要約・圧縮される仕様(compaction)がある。Claude Code の公式リリースノートにも「圧縮後に一部のエージェントが消えたり、重複して生成される不具合」が明記されている。 会話の流れの中だけで役割や引き継ぎを設定していると、圧縮が走った瞬間にその前提ごと消え去る 会社でいうと「引き継ぎなしの二重配属」 — 過去の議事録を読まずに中途配属され、すでに同じ業務をしている人がいることも知らない状態 40人体制で3時間回せば、ほぼ確実に圧縮が走る。そのたびに「今、誰が消えた?」を人間が確認するハメになる 理由3: テキストのルールは絶対命令じゃない 「自分で作業するな。指示だけ出せ」と書いても、Claude が毎回きれいに従うとは限らない。 LLM にとってルール文は、絶対命令ではなく、文脈の一部として処理される。履歴、途中のやりとり、直前の出力に引っ張られて解釈がズレる。 最近の評価研究でも、LLM は「どの指示を優先するか」の判断や長い文脈での安定した instruction following に弱さがあると報告されている。ルールが増えて競合し始めるほどズレる前提で見たほうがいい。 厳密に書けば書くほど、今度はルールが長くなって context rot が進む。この構造そのものが、人数を増やしたときの壁になる。 「育てれば良くなる」は順番の問題 「使い込むほど育つ」とよく聞くが、ここで否定しているのは育成そのものではなく順番の話。 guidelines を育てるということは、ファイルが増えるということ。ファイルが増えるということは、コンテキストが重くなるということ。つまり context rot が加速するだけ。 壊れやすい仕組みの上に知識を積んでも、崩れやすくなるだけだ。 人間の会社で考えても同じ: エスカレーションルールがない トラブル時の判断基準がない 報告のかたちもない そんな会社は人を増やすほど混乱する。AI組織もまったく同じ構造。 エージェントには視野がない ここが核心。 ...

2026年3月30日 · 1 分

Anthropic の3エージェント・ハーネス設計: Claude が6時間でフルアプリを自律構築する仕組み

Anthropic の研究者 Prithvi Rajasekaran 氏が、Claude を使ってフルスタックアプリケーションを自律的に構築する「3エージェント・ハーネス」アーキテクチャを公開しました。人間の介入なしに6時間でプレイ可能なゲームエディタを完成させた事例とともに、その設計思想を解説します。 「ハーネス設計」とは何か 「ハーネス(harness)」とは、AI モデルを単体で走らせるのではなく、モデルの外側に構築する制御構造・オーケストレーションロジック全体を指します。具体的には、どのエージェントがどの順番で何を担当するか(役割分離)、エージェント間でどう情報をやり取りするか(契約の交渉)、いつ次に進みいつやり直すか(判定ループ)、何を使ってテストするか(ツール選択)といった設計要素が含まれます。 モデル自体の性能向上とは別の軸で、この制御層をどう設計するかが自律開発の品質を左右します。 背景: AI は自分に甘すぎる このアーキテクチャが生まれた核心的な課題は、AI モデルが自分の出力に対して甘い評価をしがちであるという点です。 「自分が生成した成果物を評価させると、エージェントは自信を持ってそれを称賛する傾向がある —— 人間の目から見れば明らかに品質が低い場合でさえ」(Rajasekaran 氏) この問題は、デザインのような正解/不正解が明確でない領域で特に顕著です。コードにおいても、理論上は正しさを検証できるはずですが、AI エージェントは自分のエラーをスルーしてしまいがちです。 解決策として採用されたのが、GAN(Generative Adversarial Network: 敵対的生成ネットワーク)に着想を得た分離アプローチ —— 「作る役割」と「評価する役割」を完全に分けるという設計です。 3エージェント・アーキテクチャ 最終的に構築されたハーネスは、以下の3つの専門エージェントで構成されるアーキテクチャになっています。 エージェント 役割 Planner 1〜4文のアイデアを完全な製品仕様に展開 Generator 機能ごとにスプリント方式で実装 Evaluator 実行中のアプリを Playwright でテスト・採点 flowchart TD A["ユーザー\n1〜4文のアイデア"] --> B["Planner\n製品仕様に自動展開"] B --> C["スプリント契約の交渉\n終了条件の事前合意"] C --> D["Generator\nReact/Vite/FastAPI で実装"] D --> E["Evaluator\nPlaywright MCP で実アプリテスト"] E -->|"採点: 製品深さ・機能性\nデザイン・コード品質"| F{合格?} F -->|"不合格\nバグ報告 + 改善指示"| D F -->|"合格"| G{次のスプリント?} G -->|"あり"| C G -->|"なし"| H["完成アプリ"] Planner: 仕様の自動展開 初期バージョンでは、生のプロンプトを渡すとモデルがタスクを過小評価する問題がありました。十分に考える前にビルドを開始してしまい、機能の薄いアプリが生成されていたのです。Planner はこの問題を解決するために追加されたエージェントで、短いアイデアを詳細な製品仕様に自動展開します。 ...

2026年3月27日 · 2 分

Claude Code Agent Teams: セッション間でメッセージをやり取りできるマルチエージェント機能

Claude Code に「Agent Teams」機能が追加されました。複数のセッションがメッセージをやり取りしながら協調作業できる機能です。 従来のサブエージェントは親セッションに結果を返すだけでしたが、Agent Teams ではエージェント同士が直接コミュニケーションを取りながらタスクを進められます。 Agent Teams とは Agent Teams は Claude Code v2.1.32 以降で利用できる実験的機能です。1つのセッションがチームリーダーとなり、複数のチームメイト(それぞれ独立した Claude Code インスタンス)を起動して並列に作業を進めます。 各チームメイトは独自のコンテキストウィンドウを持ち、共有タスクリストを通じて自律的に連携します。 サブエージェントとの違い 比較項目 サブエージェント Agent Teams コンテキスト 独自のコンテキスト、結果を呼び出し元に返却 独自のコンテキスト、完全に独立 コミュニケーション 親エージェントへの一方向のみ チームメイト同士で直接メッセージ送受信 調整方法 親エージェントが全体を管理 共有タスクリストで自己調整 適した用途 結果だけが必要な集中タスク 議論・協調が必要な複雑な作業 トークンコスト 低い(結果が親コンテキストに要約される) 高い(各チームメイトが個別の Claude インスタンス) SendMessage によるエージェント間通信 Agent Teams の中核となるのが SendMessage ツールです。2つの通信方式が用意されています。 directed message: 特定のチームメイトにメッセージを送信 broadcast: 全チームメイトにメッセージを一斉送信 メッセージは各チームメイトの受信ボックスに JSON として追記されます。受信ボックスのパスは ~/.claude/teams/<project>/inboxes/<name>.json です。メッセージは次のターンで読み取られ、会話履歴に新しいユーザーターンとして注入されます。 有効化と使い方 Agent Teams はデフォルトで無効です。~/.claude/settings.json で環境変数を設定して有効化します。 1 2 3 4 5 { "env": { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" } } 有効化後は、自然言語でチーム構成を指示するだけで起動できます。 ...

2026年3月23日 · 3 分