[{"data":1,"prerenderedAt":266},["ShallowReactive",2],{"blog-side-bar":3,"blog-post-ai-team-with-opencode":237},{"allPosts":4,"categories":188},[5,40,65,91,111,131,151],{"fields":6,"sys":37},{"categories":7,"slug":35,"title":36},[8],{"metadata":9,"sys":12,"fields":32},{"tags":10,"concepts":11},[],[],{"space":13,"id":18,"type":19,"createdAt":20,"updatedAt":20,"environment":21,"publishedVersion":25,"revision":26,"contentType":27,"locale":31},{"sys":14},{"type":15,"linkType":16,"id":17},"Link","Space","ibnk8swnrn2a","238OmkAaiNySaen1srsMcZ","Entry","2026-08-25T11:47:57.747Z",{"sys":22},{"id":23,"type":15,"linkType":24},"master","Environment",3,1,{"sys":28},{"type":15,"linkType":29,"id":30},"ContentType","postCategory","ja-JP",{"name":33,"slug":34},"AI","ai","ai-team-with-opencode","OpenCodeでAIチームを作ってみました",{"createdAt":38,"id":39,"type":19},"2026-08-25T11:48:18.233Z","4fUWZL2DkmHohJX4tp6Mt5",{"fields":41,"sys":62},{"categories":42,"slug":60,"title":61},[43],{"metadata":44,"sys":47,"fields":57},{"tags":45,"concepts":46},[],[],{"space":48,"id":50,"type":19,"createdAt":51,"updatedAt":51,"environment":52,"publishedVersion":54,"revision":26,"contentType":55,"locale":31},{"sys":49},{"type":15,"linkType":16,"id":17},"3texywXFBee3KScUf7nAWD","2024-01-25T23:28:33.427Z",{"sys":53},{"id":23,"type":15,"linkType":24},2,{"sys":56},{"type":15,"linkType":29,"id":30},{"name":58,"slug":59},"レビュー","review","nape-pro-review","Nape Pro を購入したので感想を書きます",{"createdAt":63,"id":64,"type":19},"2026-06-20T10:33:29.539Z","9pVf2nVkRqOW4Nd5fArxS",{"fields":66,"sys":88},{"categories":67,"slug":86,"title":87},[68],{"metadata":69,"sys":72,"fields":83},{"tags":70,"concepts":71},[],[],{"space":73,"id":75,"type":19,"createdAt":76,"updatedAt":77,"environment":78,"publishedVersion":80,"revision":54,"contentType":81,"locale":31},{"sys":74},{"type":15,"linkType":16,"id":17},"bNzBdq1OijconItOhns97","2023-02-01T12:53:04.084Z","2023-02-25T02:02:25.157Z",{"sys":79},{"id":23,"type":15,"linkType":24},5,{"sys":82},{"type":15,"linkType":29,"id":30},{"name":84,"slug":85},"独り言","diary","2026-my-spring-report","2026年春の生存報告",{"createdAt":89,"id":90,"type":19},"2026-03-28T12:18:54.932Z","odqdmnVvV4CN7BiCTgbbD",{"fields":92,"sys":108},{"categories":93,"slug":106,"title":107},[94],{"metadata":95,"sys":98,"fields":105},{"tags":96,"concepts":97},[],[],{"space":99,"id":75,"type":19,"createdAt":76,"updatedAt":77,"environment":101,"publishedVersion":80,"revision":54,"contentType":103,"locale":31},{"sys":100},{"type":15,"linkType":16,"id":17},{"sys":102},{"id":23,"type":15,"linkType":24},{"sys":104},{"type":15,"linkType":29,"id":30},{"name":84,"slug":85},"2024-my-summer-report","2024年初夏の生存報告",{"createdAt":109,"id":110,"type":19},"2024-07-28T03:38:33.465Z","5mgCM5XYngBF4CN7G3wlTg",{"fields":112,"sys":128},{"categories":113,"slug":126,"title":127},[114],{"metadata":115,"sys":118,"fields":125},{"tags":116,"concepts":117},[],[],{"space":119,"id":50,"type":19,"createdAt":51,"updatedAt":51,"environment":121,"publishedVersion":54,"revision":26,"contentType":123,"locale":31},{"sys":120},{"type":15,"linkType":16,"id":17},{"sys":122},{"id":23,"type":15,"linkType":24},{"sys":124},{"type":15,"linkType":29,"id":30},{"name":58,"slug":59},"arc-on-windows-beta","Arc on Windowsのbeta版がついに来ました",{"createdAt":129,"id":130,"type":19},"2024-01-26T00:00:54.848Z","pZubMLZuRqFAMG93Eayxu",{"fields":132,"sys":148},{"categories":133,"slug":146,"title":147},[134],{"metadata":135,"sys":138,"fields":145},{"tags":136,"concepts":137},[],[],{"space":139,"id":75,"type":19,"createdAt":76,"updatedAt":77,"environment":141,"publishedVersion":80,"revision":54,"contentType":143,"locale":31},{"sys":140},{"type":15,"linkType":16,"id":17},{"sys":142},{"id":23,"type":15,"linkType":24},{"sys":144},{"type":15,"linkType":29,"id":30},{"name":84,"slug":85},"2023-year-survival-report","2023年生存報告",{"createdAt":149,"id":150,"type":19},"2023-11-28T07:22:43.074Z","1aOv8aQeqmkvo0gBHZ5RwL",{"fields":152,"sys":185},{"categories":153,"slug":183,"title":184},[154,166],{"metadata":155,"sys":158,"fields":165},{"tags":156,"concepts":157},[],[],{"space":159,"id":75,"type":19,"createdAt":76,"updatedAt":77,"environment":161,"publishedVersion":80,"revision":54,"contentType":163,"locale":31},{"sys":160},{"type":15,"linkType":16,"id":17},{"sys":162},{"id":23,"type":15,"linkType":24},{"sys":164},{"type":15,"linkType":29,"id":30},{"name":84,"slug":85},{"metadata":167,"sys":170,"fields":180},{"tags":168,"concepts":169},[],[],{"space":171,"id":173,"type":19,"createdAt":174,"updatedAt":175,"environment":176,"publishedVersion":25,"revision":54,"contentType":178,"locale":31},{"sys":172},{"type":15,"linkType":16,"id":17},"25TUUXxqxZzaUmy8RUlasK","2023-02-01T12:52:58.518Z","2023-02-25T02:02:38.673Z",{"sys":177},{"id":23,"type":15,"linkType":24},{"sys":179},{"type":15,"linkType":29,"id":30},{"name":181,"slug":182},"JavaScript","javascript","rebuild-website-jamstack","jamstackなウェブサイトとして作り直してみました",{"createdAt":186,"id":187,"type":19},"2023-04-14T09:20:21.344Z","hqSwzatCHdoLbSARPJ8Xd",[189,201,213,225],{"metadata":190,"sys":193,"fields":200},{"tags":191,"concepts":192},[],[],{"space":194,"id":18,"type":19,"createdAt":20,"updatedAt":20,"environment":196,"publishedVersion":25,"revision":26,"contentType":198,"locale":31},{"sys":195},{"type":15,"linkType":16,"id":17},{"sys":197},{"id":23,"type":15,"linkType":24},{"sys":199},{"type":15,"linkType":29,"id":30},{"name":33,"slug":34},{"metadata":202,"sys":205,"fields":212},{"tags":203,"concepts":204},[],[],{"space":206,"id":50,"type":19,"createdAt":51,"updatedAt":51,"environment":208,"publishedVersion":54,"revision":26,"contentType":210,"locale":31},{"sys":207},{"type":15,"linkType":16,"id":17},{"sys":209},{"id":23,"type":15,"linkType":24},{"sys":211},{"type":15,"linkType":29,"id":30},{"name":58,"slug":59},{"metadata":214,"sys":217,"fields":224},{"tags":215,"concepts":216},[],[],{"space":218,"id":173,"type":19,"createdAt":174,"updatedAt":175,"environment":220,"publishedVersion":25,"revision":54,"contentType":222,"locale":31},{"sys":219},{"type":15,"linkType":16,"id":17},{"sys":221},{"id":23,"type":15,"linkType":24},{"sys":223},{"type":15,"linkType":29,"id":30},{"name":181,"slug":182},{"metadata":226,"sys":229,"fields":236},{"tags":227,"concepts":228},[],[],{"space":230,"id":75,"type":19,"createdAt":76,"updatedAt":77,"environment":232,"publishedVersion":80,"revision":54,"contentType":234,"locale":31},{"sys":231},{"type":15,"linkType":16,"id":17},{"sys":233},{"id":23,"type":15,"linkType":24},{"sys":235},{"type":15,"linkType":29,"id":30},{"name":84,"slug":85},{"fields":238,"sys":254,"markup":265},{"title":36,"slug":35,"content":239,"categories":240,"thumbnail":253},"きのこの美味しさに気づいちゃったカル太です。旨味ってすげぇ。\n\n> [!NOTE]\n> 本記事は 2026\u002F08\u002F19 時点での情報です。最新の情報に比べて古いものがいくつかあると思います。\n\nOpenCode で AI チームを作って開発するようになりました。気分はプロデューサーです。\n\n今回は [WSL2](https:\u002F\u002Flearn.microsoft.com\u002Fja-jp\u002Fwindows\u002Fwsl\u002Finstall) 上で OpenCode を立ち上げて作業している時の話を書きます。\n\nが、その前に、OpenCode、開発環境であるコンテナ、そして herdr について軽く触れさせてください。\n\n#### OpenCode って？\n\n[OpenCode](https:\u002F\u002Fopencode.ai\u002Fja) はオープンソースの AI コーディングエージェントです。\n\nChatGPT や Gemini のようにテキストでのやり取りが可能ですが、PC 上のファイルを読み取ったり編集することで、開発も一緒にやってくれます。\n\nOpenCode 自体がいろいろな AI モデルを仲介してくれているので、用途に合わせてモデルを使い分けたり、気になっていたモデルをちょっと試す、なんてこともできます。\n\n使えるモデルは以下の通り。(2026\u002F08\u002F19現在)　後述になりますが、グラフの通りモデルごとに利用量が定められています。\n\n![opencode-model-list](https:\u002F\u002Ffile.nononotyaya.net\u002Fpost\u002Fai-team-with-opencode\u002Fopencode-model-list.png)\n\nとりあえず試したいという方は[はじめに](https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fja\u002F)からインストールしましょう。\n\nちなみに[デスクトップ版](https:\u002F\u002Fopencode.ai\u002Fja\u002Fdownload)もあります。真っ黒な画面でキーボードを叩くのは趣味じゃないという方はこちらのが良いかも。\n\nまた、 OpenCode には従量課金制の [**Zen**](https:\u002F\u002Fopencode.ai\u002Fja\u002Fzen) と、定額制だけど利用量に上限がある [**Go**](https:\u002F\u002Fopencode.ai\u002Fja\u002Fgo) があります。\n\n僕は現在 Go を利用中です。\n\n#### コンテナって？\n\n主な開発環境として [Development Container](https:\u002F\u002Fcontainers.dev\u002F) （通称 devcontainer）を用意しています。\n\nコンテナは PC 上に構築される、いくら壊してもOKな小さな箱庭だと思ってもらえたら良いです。\n\n開発するための環境や道具が整っている上に、何度でも壊して作り直すことができます。\n\nこの箱庭の中で AI に活動してもらうことで、いくらファイルを壊しちゃっても、自分が持つ PC 本体には何の影響もないという感じです。\n\nまた、実際にサービスを稼働させる環境とほぼほぼ同じ状態で作業ができるので、\n\n> いざ本番でサービスを稼働させようとしても動かない！　手元の環境と本番の環境に差があるからだった！\n\nみたいな事故の発生率もかなり小さくなるわけです。嬉しいですね。\n\n#### herdr って？\n\n[herdr](https:\u002F\u002Fherdr.dev\u002F) は**ターミナルマルチプレクサ**です。AI コーディングエージェント向けに作られたスグレモノ！\n\nひとめで稼働中の AI の様子が確認できちゃうんです。\n\nそもそもターミナルマルチプレクサとは、1つのターミナル画面で複数の作業画面を同時に開いたり、ターミナルを閉じちゃっても裏で稼働し続けてくれるやつのことです。\n\nWSL2 上で一度 herdr を立ち上げてしまえば、あとはこっちのもの。 PC に遠隔で接続できるような設定をしておけば、どこからでも AI エージェントの様子を見ることができるんです。\n\n実際に使っている一番のポイントは、複数のリポジトリで AI を並列に走らせているときに、それぞれの様子を1画面で眺められることです。\n\nちょっと見づらいですが、こんな感じ。 Android と iPad から接続しています。\n\n![Connected herdr](https:\u002F\u002Ffile.nononotyaya.net\u002Fpost\u002Fai-team-with-opencode\u002Feach-devices-connected-herdr.jpg)\n\nしかし devcontainer 上で稼働している AI エージェントには対応していないみたいで、作業が終わっても通知が来ず……。100％の力を発揮できずにいます。ちょっと残念。\n\nと、色々と書いてきましたが、ここからが本題。\n\n#### AI チームって？\n\nソフトウェア開発において、役割分担は必要不可欠です。\n\n特に生成 AI ともなると、1人で全ての作業をこなそうとすると、途端にコンテキスト（ざっくり言うと AI が一度に覚えていられる会話や資料の量です）が溢れ、破綻してしまいます。\n\nそこで、 AI 1人に任せるのではなく、それぞれが専門性を持った複数の生成 AI を組み合わせて、仲良く一緒に開発してもらおうというわけです。\n\n#### 頼れるメンバーをご紹介！\n\nここからは[エージェント](https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fja\u002Fagents\u002F)という機能を使って用意した、作業を丸投げしても文句一つ言わずにせっせと働いてくれる素敵なメンバーを紹介します。\n\nまずは全体像から。\n\n```mermaid\nflowchart TD\n    P[人間 プロデューサー] --> TL[Team leader]\n    TL --> GD[Design まわり]\n    TL --> GI[Implement まわり]\n    TL --> GK[Knowledge まわり]\n    GD --> RA[\"Requirement Analyst\"]\n    GD --> RS[\"Researcher\"]\n    GI --> TC[\"Tech lead\"]\n    GI --> IM[\"Implementer\"]\n    GI --> CR[\"Code reviewer\"]\n    GK --> DW[\"Docs writer\"]\n    GK --> DR[\"Docs reviewer\"]\n```\n\nメンバーは、 Design・Implement・Knowledge の3つの現場ごとに分かれて働いています。\n\n| メンバー | 担当と起用理由 |\n|---|---|\n| **Team leader**\u003Cbr>`GLM-5.2` | 情報の整理、作業内容のトリアージ、メンバーへの作業割り振りを担当。チームの中でも特に判断能力が必要なので、Z.ai のフラグシップ級モデルを起用 |\n| **Requirement Analyst**\u003Cbr>`GPT-5.6 Luna` | 要件・制約・リスク・曖昧さの分析と、設計作業時に渡す情報の整理を担当。OpenAI の高速かつ低コストなモデルで、複雑な要求を紐解くのが得意そうな気がするため |\n| **Researcher**\u003Cbr>`Hy3` | 既存の知識・コード・アーキテクチャ・技術的制約の調査と、設計判断に必要な情報の提供を担当。Tencent Hunyuan 製で、推論から長文コンテキストまで重視して開発されているため。いまは利用可能量8倍期間中なのでお試し中 |\n| **Tech lead**\u003Cbr>`DeepSeek V4 Pro` | アーキテクチャや技術設計に関する判断と決定を担当（実装そのものはしない）。DeepSeek のフラグシップ級モデルで、複雑な推論やソフトウェア系のタスクに強いため |\n| **Implementer**\u003Cbr>`Muse Spark 1.2 Contributor` | 実装、テスト、修正を繰り返して動くところまで仕上げる担当。Meta 製のコーディングエージェント向けモデルで、ツールを使いながら長時間のタスクをこなせるため |\n| **Code reviewer**\u003Cbr>`DeepSeek V4 Flash` | 変更箇所から関連コードまで幅広く確認し、バグや設計上の問題を漏れなく拾う担当。V4 Pro には負けるけど十分なコーディング能力がある、高速かつ低コストなモデル |\n| **Docs writer**\u003Cbr>`GPT-5.6 Luna` | 設計をもとにプロジェクトのドキュメントを執筆する担当。利用量拡大期間中だったので採用。軽微なタスクでも使いやすい。ただ、いまは拡大期間の扱いが変わったようなので、モデルの変更を検討中…… |\n| **Docs reviewer**\u003Cbr>`DeepSeek V4 Flash` | 執筆担当とは独立した立場で、設計との不整合や矛盾を確認する担当。高度な文章作成能力は不要と考えたため、高速かつ低コストで大量に利用できる |\n\nいくつか補足すると、\n\n- Code reviewer を開発担当と別にしているのは、そもそも自己レビューは信用できないからです。\n  - Docs writer と Docs reviewer の担当分けも同様の理由です。\n- Imprementer (Muse Spark 1.2 Contributor) は利用内容がモデルの改善のために送信されます。\n  - 企業で働いているときに触るセンシティブなものは扱わない運用なので、問題ないと判断しました。\n\nという感じです。\n\nただ、これだけメンバーが揃っていても、どのように進めるべきかという指針がなければ、品質に差が出てきてしまいます。\n\nそこで、なるべく高品質かつ路頭に迷わないための流れを用意しました。\n\n#### ワークフローを skill として用意してみました\n\nOpenCode には、再利用できる手順書を[スキル](https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fskills\u002F)として登録できる仕組みがあります。今回はこれをチームの進め方ごと用意してみました。\n\nやりたいことの設計をするための `design` と、設計をもとに実装する `implement` というスキルです。\n\n大きく分けて、\n\n- **Design Skill**\n  1. 要求を整理する\n  2. 既存の Architecture や [ADR](https:\u002F\u002Fadr.github.io\u002F)（Architecture Decision Record＝設計判断の記録）などの Knowledge を調査する\n  3. Requirements と基本設計を分離する\n  4. AI による設計レビューを行う\n  5. 最終的には人間が設計を承認する\n  6. 承認された設計をプロジェクトの Knowledge Base へ反映する\n\n- **Implement Skill**\n  1. 承認済みの Design の確認をする\n  2. 実装を適度な大きさの Scope に分割する\n  3. Scope ごとに「実装 → 検証 → レビュー → 修正」を繰り返す\n  4. 全体の統合検証と AI による最終レビューを行う\n  5. 最後は人間が変更全体を確認する\n  6. 実装によって変化した Knowledge Base も調査・更新・レビューする\n\nという流れです。\n\nちなみに Knowledge Base への反映は、設計の承認時と実装の完了後の合わせて 2 回行われます。\n\n特に重視しているのが、**AI に推測で仕様を決めさせないこと**です。\n\n設計上の判断が必要になった場合は AI が勝手に進めず、人間に質問を残して Workflow を停止します。\n\nまた、 Design で決めたことを Implement が独自に変更することも禁止しています。\n\nさらに、各 Agent が調査結果を会話のコンテキストで直接受け渡すのではなく、`.ai\u002F\u003Cタスク名>\u002F` 以下のファイルに成果物として保存します。\n\nイメージとしては以下のように、\n\n```mermaid\n\nflowchart TD\n    A[人間がやりたいことを提示] --> B[要件を考える]\n\n    subgraph design [AI が自律的に繰り返す Design ループ]\n        direction TB\n        B --> C[Design]\n\n        C --> D{AI によるレビュー}\n        D -- OK\u003Cbr\u002F>approved --> E[\u002F人間によるレビュー\u002F]\n        D -- 指摘あり\u003Cbr\u002F>changes-requested --> C\n\n    end\n\n        E -- 承認\u003Cbr\u002F>approved --> F[実装\u003Cbr\u002F>Scope 分割]\n        E -. 差し戻し\u003Cbr\u002F>changes-requested .-> C\n\n    subgraph implement [AI が自律的に繰り返す Implement ループ]\n        direction TB\n        F --> G1[Scope 実装]\n        G1 --> G2[検証]\n        G2 --> G3{Scope Review\u003Cbr\u002F>AI}\n        G3 -- 指摘あり\u003Cbr\u002F>changes-requested --> G1\n        G3 -- OK\u003Cbr\u002F>approved --> G4{次の Scope あり？}\n        G4 -- あり --> G1\n        G4 -- なし --> H[全体の検証\u003Cbr\u002F>Integration Verification]\n    end\n\n    H --> I{AI による最終レビュー}\n    I -- OK\u003Cbr\u002F>approved --> J[\u002F人間によるレビュー\u002F]\n    I -- 指摘あり\u003Cbr\u002F>changes-requested --> G1\n\n    J -- 承認\u003Cbr\u002F>approved --> K[Knowledge 更新]\n    J -. 差し戻し\u003Cbr\u002F>changes-requested .-> G1\n\n    K --> L[AI チーム内の反省会]\n\n    style E fill:#fff3bf,stroke:#e6a700,stroke-width:2px\n    style J fill:#fff3bf,stroke:#e6a700,stroke-width:2px\n    style design fill:#f8f9fa,stroke:#adb5bd,stroke-dasharray: 6 4\n    style implement fill:#f8f9fa,stroke:#adb5bd,stroke-dasharray: 6 4\n```\n\nという形で、**「誰が何を判断し、どこまで確認された状態なのか」をファイルと Workflow の状態から追跡できる**ようにしています。\n\n図の中にある AI レビューで引っかかった場合は、その時点で流れが止まって人間への質問が残されるので、勝手に先へ進むことはありません。\n\nAgent を再起動したり、別の Agent に作業を引き継いだりしても、作業場である `.ai\u002F` に残された状態と成果物から Workflow を再開できるようになっています。\n\nつまり、Skill を単純な「AI への指示書」ではなく、**AI エージェントチームが従う開発プロセスそのものとして定義**しています。\n\nDesign から Implement までを終えたときのタスク管理ディレクトリ配下はこんな感じ。\n\n```text\n.ai\u002F\u003Cタスク名>\n├── design\n│   ├── design.md          # Design における成果物\n│   ├── questions.md       # 人間への質問が書かれている\n│   ├── requirements.md\n│   ├── research\n│   │   └── \u003C調査内容>.md\n│   ├── review.md\n│   └── state.md           # Design Workflow の状態管理\n├── implement\n│   ├── plan.md            # Implement の作業計画\n│   ├── research\n│   │   ├── \u003C調査内容>.md\n│   │   └── \u003C取得データ>.json など\n│   ├── retrospective.md   # 作業完了後の反省会結果\n│   ├── review.md\n│   ├── state.md           # Implement Workflow の状態管理\n│   └── verification.md\n├── reports\n│   ├── \u003C担当エージェント>-\u003C報告内容>.md\n│   └── scope-XXX-\u003C対象領域>.md\n└── team\n    ├── agents.yaml        # チームメンバー\n    └── tasks\n        ├── \u003Cタスク内容>.md\n        └── scope-XXX-\u003C対象領域>.md\n```\n\n無駄な知識を持たせないためにも、参照すべきファイルはなるべく小さく作るようにお願いしています。\n\n結果として、やってほしいことに対して正確な計画・設計・実装をやってくれてはいるのですが……\n\n![OpenCode の作業画面](https:\u002F\u002Ffile.nononotyaya.net\u002Fpost\u002Fai-team-with-opencode\u002Fworking-opencode.png)\n\n#### めちゃくちゃピンチ\n\nこちらは現在の OpenCode Go のコンソール。月間利用量を見ていただきたい……。\n\n![OpenCode Go コンソールの月間利用量](https:\u002F\u002Ffile.nononotyaya.net\u002Fpost\u002Fai-team-with-opencode\u002Fopencode-go-console.png)\n\n残り25日もあるのに利用量が35％もいっちゃってます！\n\n月間利用量は30日ごとにリセットされるとして、5日しか経ってないのに35％て！\n\nこのペースだと30日で上限の2倍以上になるくらい消費しちゃってるので、あと10日ほどしたら月間利用量が底をついてしまいます！\n\nということで、コンソールからはどのモデルがどれぐらい入出力のコストをかけたかが確認できるので、それをベースに偏りのあるモデルの入れ替えを検討しています。\n\n現時点ではリーダーとなっている GLM-5.2 が利用量のほとんどを占めていたので、 Hy3 に交代してもらおうかなと思っています。\n\nリーダーだからそんなに使わないと思っていたので油断していました。ぐぬぬ。\n\nまた、 OpenCode で利用できるモデルは結構な頻度で入れ替わるので、定期的にモデルの見直しは必要そうです。ここも自動化したいなあ。\n\n#### 必要な知識のお手入れも AI のお仕事なので\n\nさきほどのように、利用できるモデルは結構な頻度で入れ替わります。だからこそ、誰が読んでも状況を掴める知識の土台があると助かります。\n\n例えば、 Google が公開した [Open Knowledge Format](https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fknowledge-catalog\u002Fblob\u002Fmain\u002Fokf\u002FSPEC.md) という形式に則ったドキュメント群を用意しています。\n\nこれを整備することで、リポジトリ内の全てのコードを確認することなく、概要や構成を把握し、知識を素早くキャッチアップできるようになります。\n\nちなみに、人間にも AI にも読みやすいドキュメントの構造を目指して考えられてるようです。\n\nリポジトリ内のコードは現在を表しますが、変更差分を全確認して、なぜそうなっているのかなどを把握するのは困難です。\n\nそこで、先述のドキュメント群に、**なぜそうしたのか**の記録を残しつつ、**古すぎて不要そうな情報を消す**、なんてこともやっています。\n\nこれは主に AI チームの Docs writer と Docs reviewer の仕事ですね。ドキュメントは腐りやすいものなので、ここも AI 任せにしちゃっています。ラクで楽しい。\n\nさらに、ナレッジベースだけじゃなく skill 自体にも手を入れています。\n\n例えば、コードの命名に迷ったときのための規約や、日本語のドキュメントの書き方の指針、説明的な文章に緩急をつけるためのガイドなどを skill として用意していて、チーム全員の行動規範になっています。\n\nメンバーごとのばらつきが減って、アウトプットの品質が安定するのが嬉しいところです。\n\n#### まとめ\n\nOpenCode と devcontainer を利用して、AI が好きに動ける環境を用意したら楽しいよというお話でした。\n\nOpenCode はありがたいことに無料枠も用意されていて、使っている限りでは24時間ごとに利用量がリセットされていそうなので、それだけでも多少は遊べると思います。\n\n（AI チームを用意するような使い方だったら結構すぐに無料枠を使い切っちゃうと思いますが……）\n\nとりあえず試してみたいなというそこのあなた！\n\n[こちらのリンク](https:\u002F\u002Fopencode.ai\u002Fgo?ref=53SK2DNTSS)から OpenCode Go の契約をすると、5ドル分の利用クレジットが得られます。僕にも5ドル入ってきます。そうなったらとても嬉しいので、是非とも試してみてほしいです。\n\nそれでは、今日はこのへんで。\n",[241],{"metadata":242,"sys":245,"fields":252},{"tags":243,"concepts":244},[],[],{"space":246,"id":18,"type":19,"createdAt":20,"updatedAt":20,"environment":248,"publishedVersion":25,"revision":26,"contentType":250,"locale":31},{"sys":247},{"type":15,"linkType":16,"id":17},{"sys":249},{"id":23,"type":15,"linkType":24},{"sys":251},{"type":15,"linkType":29,"id":30},{"name":33,"slug":34},"https:\u002F\u002Ffile.nononotyaya.net\u002Fpost\u002Fai-team-with-opencode\u002Fthumbnail.png",{"space":255,"id":39,"type":19,"createdAt":38,"updatedAt":257,"environment":258,"publishedVersion":260,"revision":261,"contentType":262,"locale":31},{"sys":256},{"type":15,"linkType":16,"id":17},"2026-08-28T11:55:10.868Z",{"sys":259},{"id":23,"type":15,"linkType":24},22,6,{"sys":263},{"type":15,"linkType":29,"id":264},"post","\u003Cp>きのこの美味しさに気づいちゃったカル太です。旨味ってすげぇ。\u003C\u002Fp>\n\u003Cdiv class=\"markdown-alert markdown-alert-note\" role=\"note\" aria-label=\"note\">\n\u003Cp class=\"markdown-alert-title\">\u003Csvg class=\"octicon octicon-info mr-2\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" aria-hidden=\"true\">\u003Cpath d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\">\u003C\u002Fpath>\u003C\u002Fsvg>Note\u003C\u002Fp>\n\u003Cp>本記事は 2026\u002F08\u002F19 時点での情報です。最新の情報に比べて古いものがいくつかあると思います。\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003Cp>OpenCode で AI チームを作って開発するようになりました。気分はプロデューサーです。\u003C\u002Fp>\n\u003Cp>今回は \u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fja-jp\u002Fwindows\u002Fwsl\u002Finstall\">WSL2\u003C\u002Fa> 上で OpenCode を立ち上げて作業している時の話を書きます。\u003C\u002Fp>\n\u003Cp>が、その前に、OpenCode、開発環境であるコンテナ、そして herdr について軽く触れさせてください。\u003C\u002Fp>\n\u003Ch4 id=\"opencode-って？\">OpenCode って？\u003C\u002Fh4>\u003Cp>\u003Ca href=\"https:\u002F\u002Fopencode.ai\u002Fja\">OpenCode\u003C\u002Fa> はオープンソースの AI コーディングエージェントです。\u003C\u002Fp>\n\u003Cp>ChatGPT や Gemini のようにテキストでのやり取りが可能ですが、PC 上のファイルを読み取ったり編集することで、開発も一緒にやってくれます。\u003C\u002Fp>\n\u003Cp>OpenCode 自体がいろいろな AI モデルを仲介してくれているので、用途に合わせてモデルを使い分けたり、気になっていたモデルをちょっと試す、なんてこともできます。\u003C\u002Fp>\n\u003Cp>使えるモデルは以下の通り。(2026\u002F08\u002F19現在)　後述になりますが、グラフの通りモデルごとに利用量が定められています。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Ffile.nononotyaya.net\u002Fpost\u002Fai-team-with-opencode\u002Fopencode-model-list.png\" alt=\"opencode-model-list\">\u003C\u002Fp>\n\u003Cp>とりあえず試したいという方は\u003Ca href=\"https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fja\u002F\">はじめに\u003C\u002Fa>からインストールしましょう。\u003C\u002Fp>\n\u003Cp>ちなみに\u003Ca href=\"https:\u002F\u002Fopencode.ai\u002Fja\u002Fdownload\">デスクトップ版\u003C\u002Fa>もあります。真っ黒な画面でキーボードを叩くのは趣味じゃないという方はこちらのが良いかも。\u003C\u002Fp>\n\u003Cp>また、 OpenCode には従量課金制の \u003Ca href=\"https:\u002F\u002Fopencode.ai\u002Fja\u002Fzen\">\u003Cstrong>Zen\u003C\u002Fstrong>\u003C\u002Fa> と、定額制だけど利用量に上限がある \u003Ca href=\"https:\u002F\u002Fopencode.ai\u002Fja\u002Fgo\">\u003Cstrong>Go\u003C\u002Fstrong>\u003C\u002Fa> があります。\u003C\u002Fp>\n\u003Cp>僕は現在 Go を利用中です。\u003C\u002Fp>\n\u003Ch4 id=\"コンテナって？\">コンテナって？\u003C\u002Fh4>\u003Cp>主な開発環境として \u003Ca href=\"https:\u002F\u002Fcontainers.dev\u002F\">Development Container\u003C\u002Fa> （通称 devcontainer）を用意しています。\u003C\u002Fp>\n\u003Cp>コンテナは PC 上に構築される、いくら壊してもOKな小さな箱庭だと思ってもらえたら良いです。\u003C\u002Fp>\n\u003Cp>開発するための環境や道具が整っている上に、何度でも壊して作り直すことができます。\u003C\u002Fp>\n\u003Cp>この箱庭の中で AI に活動してもらうことで、いくらファイルを壊しちゃっても、自分が持つ PC 本体には何の影響もないという感じです。\u003C\u002Fp>\n\u003Cp>また、実際にサービスを稼働させる環境とほぼほぼ同じ状態で作業ができるので、\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>いざ本番でサービスを稼働させようとしても動かない！　手元の環境と本番の環境に差があるからだった！\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>みたいな事故の発生率もかなり小さくなるわけです。嬉しいですね。\u003C\u002Fp>\n\u003Ch4 id=\"herdr-って？\">herdr って？\u003C\u002Fh4>\u003Cp>\u003Ca href=\"https:\u002F\u002Fherdr.dev\u002F\">herdr\u003C\u002Fa> は\u003Cstrong>ターミナルマルチプレクサ\u003C\u002Fstrong>です。AI コーディングエージェント向けに作られたスグレモノ！\u003C\u002Fp>\n\u003Cp>ひとめで稼働中の AI の様子が確認できちゃうんです。\u003C\u002Fp>\n\u003Cp>そもそもターミナルマルチプレクサとは、1つのターミナル画面で複数の作業画面を同時に開いたり、ターミナルを閉じちゃっても裏で稼働し続けてくれるやつのことです。\u003C\u002Fp>\n\u003Cp>WSL2 上で一度 herdr を立ち上げてしまえば、あとはこっちのもの。 PC に遠隔で接続できるような設定をしておけば、どこからでも AI エージェントの様子を見ることができるんです。\u003C\u002Fp>\n\u003Cp>実際に使っている一番のポイントは、複数のリポジトリで AI を並列に走らせているときに、それぞれの様子を1画面で眺められることです。\u003C\u002Fp>\n\u003Cp>ちょっと見づらいですが、こんな感じ。 Android と iPad から接続しています。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Ffile.nononotyaya.net\u002Fpost\u002Fai-team-with-opencode\u002Feach-devices-connected-herdr.jpg\" alt=\"Connected herdr\">\u003C\u002Fp>\n\u003Cp>しかし devcontainer 上で稼働している AI エージェントには対応していないみたいで、作業が終わっても通知が来ず……。100％の力を発揮できずにいます。ちょっと残念。\u003C\u002Fp>\n\u003Cp>と、色々と書いてきましたが、ここからが本題。\u003C\u002Fp>\n\u003Ch4 id=\"ai-チームって？\">AI チームって？\u003C\u002Fh4>\u003Cp>ソフトウェア開発において、役割分担は必要不可欠です。\u003C\u002Fp>\n\u003Cp>特に生成 AI ともなると、1人で全ての作業をこなそうとすると、途端にコンテキスト（ざっくり言うと AI が一度に覚えていられる会話や資料の量です）が溢れ、破綻してしまいます。\u003C\u002Fp>\n\u003Cp>そこで、 AI 1人に任せるのではなく、それぞれが専門性を持った複数の生成 AI を組み合わせて、仲良く一緒に開発してもらおうというわけです。\u003C\u002Fp>\n\u003Ch4 id=\"頼れるメンバーをご紹介！\">頼れるメンバーをご紹介！\u003C\u002Fh4>\u003Cp>ここからは\u003Ca href=\"https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fja\u002Fagents\u002F\">エージェント\u003C\u002Fa>という機能を使って用意した、作業を丸投げしても文句一つ言わずにせっせと働いてくれる素敵なメンバーを紹介します。\u003C\u002Fp>\n\u003Cp>まずは全体像から。\u003C\u002Fp>\n\u003Cdiv class=\"mermaid-diagram\">\u003Csvg id=\"mermaid-cbb45a66\" width=\"100%\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" class=\"flowchart\" style=\"max-width: 1551.08px;\" viewBox=\"-17 -16 1551.08 376\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\">\u003Cstyle>#mermaid-cbb45a66{font-family:\"Noto Sans JP\",sans-serif;font-size:16px;fill:#101010;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-cbb45a66 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-cbb45a66 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-cbb45a66 .error-icon{fill:hsl(45, 19.0476190476%, 96.7647058824%);}#mermaid-cbb45a66 .error-text{fill:rgb(6.6785714285, 7.4642857142, 9.8214285713);stroke:rgb(6.6785714285, 7.4642857142, 9.8214285713);}#mermaid-cbb45a66 .edge-thickness-normal{stroke-width:1px;}#mermaid-cbb45a66 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-cbb45a66 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-cbb45a66 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-cbb45a66 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-cbb45a66 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-cbb45a66 .marker{fill:#6699cc;stroke:#6699cc;}#mermaid-cbb45a66 .marker.cross{stroke:#6699cc;}#mermaid-cbb45a66 svg{font-family:\"Noto Sans JP\",sans-serif;font-size:16px;}#mermaid-cbb45a66 p{margin:0;}#mermaid-cbb45a66 .label{font-family:\"Noto Sans JP\",sans-serif;color:#101010;}#mermaid-cbb45a66 .cluster-label text{fill:rgb(6.6785714285, 7.4642857142, 9.8214285713);}#mermaid-cbb45a66 .cluster-label span{color:rgb(6.6785714285, 7.4642857142, 9.8214285713);}#mermaid-cbb45a66 .cluster-label span p{background-color:transparent;}#mermaid-cbb45a66 .label text,#mermaid-cbb45a66 span{fill:#101010;color:#101010;}#mermaid-cbb45a66 .node rect,#mermaid-cbb45a66 .node circle,#mermaid-cbb45a66 .node ellipse,#mermaid-cbb45a66 .node polygon,#mermaid-cbb45a66 .node path{fill:#e6e8ee;stroke:#334466;stroke-width:1px;}#mermaid-cbb45a66 .rough-node .label text,#mermaid-cbb45a66 .node .label text,#mermaid-cbb45a66 .image-shape .label,#mermaid-cbb45a66 .icon-shape .label{text-anchor:middle;}#mermaid-cbb45a66 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-cbb45a66 .rough-node .label,#mermaid-cbb45a66 .node .label,#mermaid-cbb45a66 .image-shape .label,#mermaid-cbb45a66 .icon-shape .label{text-align:center;}#mermaid-cbb45a66 .node.clickable{cursor:pointer;}#mermaid-cbb45a66 .root .anchor path{fill:#6699cc!important;stroke-width:0;stroke:#6699cc;}#mermaid-cbb45a66 .arrowheadPath{fill:#0b0b0b;}#mermaid-cbb45a66 .edgePaths .path{stroke:#6699cc;stroke-width:1px;}#mermaid-cbb45a66 .flowchart-link{stroke:#6699cc;fill:none;}#mermaid-cbb45a66 .edgeLabel{background-color:#e6e8ee;text-align:center;}#mermaid-cbb45a66 .edgeLabel p{background-color:#e6e8ee;}#mermaid-cbb45a66 .edgeLabel rect{opacity:0.5;background-color:#e6e8ee;fill:#e6e8ee;}#mermaid-cbb45a66 .labelBkg{background-color:rgba(230, 232, 238, 0.5);}#mermaid-cbb45a66 .cluster rect{fill:#e6e8ee;stroke:#afbecc;stroke-width:1px;}#mermaid-cbb45a66 .cluster text{fill:rgb(6.6785714285, 7.4642857142, 9.8214285713);}#mermaid-cbb45a66 .cluster span{color:rgb(6.6785714285, 7.4642857142, 9.8214285713);}#mermaid-cbb45a66 .node .collapsed-indicator{fill:#afbecc;stroke:none;opacity:0.6;}#mermaid-cbb45a66 .node .collapsed-separator{stroke:#afbecc;stroke-width:0.75px;}#mermaid-cbb45a66 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Noto Sans JP\",sans-serif;font-size:12px;background:hsl(45, 19.0476190476%, 96.7647058824%);border:1px solid hsl(45, 0%, 86.7647058824%);border-radius:2px;pointer-events:none;z-index:100;}#mermaid-cbb45a66 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#101010;}#mermaid-cbb45a66 rect.text{fill:none;stroke-width:0;}#mermaid-cbb45a66 .icon-shape,#mermaid-cbb45a66 .image-shape{background-color:#e6e8ee;text-align:center;}#mermaid-cbb45a66 .icon-shape p,#mermaid-cbb45a66 .image-shape p{background-color:#e6e8ee;padding:2px;}#mermaid-cbb45a66 .icon-shape .label rect,#mermaid-cbb45a66 .image-shape .label rect{opacity:0.5;background-color:#e6e8ee;fill:#e6e8ee;}#mermaid-cbb45a66 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-cbb45a66 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-cbb45a66 .node .neo-node{stroke:#334466;}#mermaid-cbb45a66 [data-look=\"neo\"].node rect,#mermaid-cbb45a66 [data-look=\"neo\"].cluster rect,#mermaid-cbb45a66 [data-look=\"neo\"].node polygon{stroke:url(#mermaid-cbb45a66-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#mermaid-cbb45a66 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#mermaid-cbb45a66 [data-look=\"neo\"].node path{stroke:url(#mermaid-cbb45a66-gradient);stroke-width:1px;}#mermaid-cbb45a66 [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#mermaid-cbb45a66 [data-look=\"neo\"].node .neo-line path{stroke:#334466;filter:none;}#mermaid-cbb45a66 [data-look=\"neo\"].node circle{stroke:url(#mermaid-cbb45a66-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#mermaid-cbb45a66 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#mermaid-cbb45a66 [data-look=\"neo\"].icon-shape .icon{fill:url(#mermaid-cbb45a66-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#mermaid-cbb45a66 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#mermaid-cbb45a66-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#mermaid-cbb45a66 :root{--mermaid-font-family:\"trebuchet ms\",verdana,arial,sans-serif;}\u003C\u002Fstyle>\u003Cg>\u003Cmarker id=\"mermaid-cbb45a66_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\">\u003Cpath d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1,0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-cbb45a66_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\">\u003Cpath d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1,0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-cbb45a66_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\">\u003Cpath d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1,0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-cbb45a66_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\">\u003Cpolygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1,0;\">\u003C\u002Fpolygon>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-cbb45a66_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\">\u003Ccircle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1,0;\">\u003C\u002Fcircle>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-cbb45a66_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\">\u003Ccircle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1,0;\">\u003C\u002Fcircle>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-cbb45a66_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\">\u003Ccircle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1,0;\">\u003C\u002Fcircle>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-cbb45a66_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\">\u003Ccircle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1,0;\">\u003C\u002Fcircle>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-cbb45a66_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\">\u003Cpath d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1,0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-cbb45a66_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\">\u003Cpath d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1,0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-cbb45a66_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\">\u003Cpath d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-cbb45a66_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\">\u003Cpath d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1,0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cg class=\"root\">\u003Cg class=\"clusters\">\u003C\u002Fg>\u003Cg class=\"edgePaths\">\u003Cpath d=\"M771.68,64L771.68,68.167C771.68,72.333,771.68,80.667,771.68,88.333C771.68,96,771.68,103,771.68,106.5L771.68,110\" id=\"mermaid-cbb45a66-L_P_TL_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_P_TL_0\" data-points=\"W3sieCI6NzcxLjY4LCJ5Ijo2NH0seyJ4Ijo3NzEuNjgsInkiOjg5fSx7IngiOjc3MS42OCwieSI6MTE0fV0=\" data-look=\"classic\" marker-end=\"url(#mermaid-cbb45a66_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M690.64,144.434L616.94,151.195C543.24,157.956,395.84,171.478,322.14,181.739C248.44,192,248.44,199,248.44,202.5L248.44,206\" id=\"mermaid-cbb45a66-L_TL_GD_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_TL_GD_0\" data-points=\"W3sieCI6NjkwLjY0LCJ5IjoxNDQuNDM0Mjk0MDE0MjE5MX0seyJ4IjoyNDguNDM5OTk5OTk5OTk5OTcsInkiOjE4NX0seyJ4IjoyNDguNDM5OTk5OTk5OTk5OTcsInkiOjIxMH1d\" data-look=\"classic\" marker-end=\"url(#mermaid-cbb45a66_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M771.68,160L771.68,164.167C771.68,168.333,771.68,176.667,771.68,184.333C771.68,192,771.68,199,771.68,202.5L771.68,206\" id=\"mermaid-cbb45a66-L_TL_GI_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_TL_GI_0\" data-points=\"W3sieCI6NzcxLjY4LCJ5IjoxNjB9LHsieCI6NzcxLjY4LCJ5IjoxODV9LHsieCI6NzcxLjY4LCJ5IjoyMTB9XQ==\" data-look=\"classic\" marker-end=\"url(#mermaid-cbb45a66_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M852.72,144.029L931.447,150.858C1010.173,157.686,1167.627,171.343,1246.353,181.672C1325.08,192,1325.08,199,1325.08,202.5L1325.08,206\" id=\"mermaid-cbb45a66-L_TL_GK_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_TL_GK_0\" data-points=\"W3sieCI6ODUyLjcxOTk5OTk5OTk5OTksInkiOjE0NC4wMjkxMjkwMjA1OTk5Mn0seyJ4IjoxMzI1LjA4MDAwMDAwMDAwMDIsInkiOjE4NX0seyJ4IjoxMzI1LjA4MDAwMDAwMDAwMDIsInkiOjIxMH1d\" data-look=\"classic\" marker-end=\"url(#mermaid-cbb45a66_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M189.847,256L179.233,260.167C168.618,264.333,147.389,272.667,136.775,280.333C126.16,288,126.16,295,126.16,298.5L126.16,302\" id=\"mermaid-cbb45a66-L_GD_RA_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_GD_RA_0\" data-points=\"W3sieCI6MTg5Ljg0NzQ5OTk5OTk5OTk3LCJ5IjoyNTZ9LHsieCI6MTI2LjE2LCJ5IjoyODF9LHsieCI6MTI2LjE2LCJ5IjozMDZ9XQ==\" data-look=\"classic\" marker-end=\"url(#mermaid-cbb45a66_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M307.032,256L317.647,260.167C328.262,264.333,349.491,272.667,360.105,280.333C370.72,288,370.72,295,370.72,298.5L370.72,302\" id=\"mermaid-cbb45a66-L_GD_RS_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_GD_RS_0\" data-points=\"W3sieCI6MzA3LjAzMjQ5OTk5OTk5OTk3LCJ5IjoyNTZ9LHsieCI6MzcwLjcxOTk5OTk5OTk5OTk3LCJ5IjoyODF9LHsieCI6MzcwLjcxOTk5OTk5OTk5OTk3LCJ5IjozMDZ9XQ==\" data-look=\"classic\" marker-end=\"url(#mermaid-cbb45a66_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M674.505,256L656.901,260.167C639.297,264.333,604.088,272.667,586.484,280.333C568.88,288,568.88,295,568.88,298.5L568.88,302\" id=\"mermaid-cbb45a66-L_GI_TC_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_GI_TC_0\" data-points=\"W3sieCI6Njc0LjUwNSwieSI6MjU2fSx7IngiOjU2OC44OCwieSI6MjgxfSx7IngiOjU2OC44OCwieSI6MzA2fV0=\" data-look=\"classic\" marker-end=\"url(#mermaid-cbb45a66_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M771.68,256L771.68,260.167C771.68,264.333,771.68,272.667,771.68,280.333C771.68,288,771.68,295,771.68,298.5L771.68,302\" id=\"mermaid-cbb45a66-L_GI_IM_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_GI_IM_0\" data-points=\"W3sieCI6NzcxLjY4LCJ5IjoyNTZ9LHsieCI6NzcxLjY4LCJ5IjoyODF9LHsieCI6NzcxLjY4LCJ5IjozMDZ9XQ==\" data-look=\"classic\" marker-end=\"url(#mermaid-cbb45a66_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M872.08,254.771L892.24,259.142C912.4,263.514,952.72,272.257,972.88,280.128C993.04,288,993.04,295,993.04,298.5L993.04,302\" id=\"mermaid-cbb45a66-L_GI_CR_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_GI_CR_0\" data-points=\"W3sieCI6ODcyLjA3OTk5OTk5OTk5OTksInkiOjI1NC43NzA4NzA5Nzk0MDAxfSx7IngiOjk5My4wMzk5OTk5OTk5OTk4LCJ5IjoyODF9LHsieCI6OTkzLjAzOTk5OTk5OTk5OTgsInkiOjMwNn1d\" data-look=\"classic\" marker-end=\"url(#mermaid-cbb45a66_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M1272.046,256L1262.438,260.167C1252.831,264.333,1233.615,272.667,1224.008,280.333C1214.4,288,1214.4,295,1214.4,298.5L1214.4,302\" id=\"mermaid-cbb45a66-L_GK_DW_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_GK_DW_0\" data-points=\"W3sieCI6MTI3Mi4wNDU4MzMzMzMzMzMzLCJ5IjoyNTZ9LHsieCI6MTIxNC4zOTk5OTk5OTk5OTk5LCJ5IjoyODF9LHsieCI6MTIxNC4zOTk5OTk5OTk5OTk5LCJ5IjozMDZ9XQ==\" data-look=\"classic\" marker-end=\"url(#mermaid-cbb45a66_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M1378.114,256L1387.722,260.167C1397.329,264.333,1416.545,272.667,1426.152,280.333C1435.76,288,1435.76,295,1435.76,298.5L1435.76,302\" id=\"mermaid-cbb45a66-L_GK_DR_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_GK_DR_0\" data-points=\"W3sieCI6MTM3OC4xMTQxNjY2NjY2NjY3LCJ5IjoyNTZ9LHsieCI6MTQzNS43NiwieSI6MjgxfSx7IngiOjE0MzUuNzYsInkiOjMwNn1d\" data-look=\"classic\" marker-end=\"url(#mermaid-cbb45a66_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003C\u002Fg>\u003Cg class=\"edgeLabels\">\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_P_TL_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_TL_GD_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_TL_GI_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_TL_GK_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_GD_RA_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_GD_RS_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_GI_TC_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_GI_IM_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_GI_CR_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_GK_DW_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_GK_DR_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"nodes\">\u003Cg class=\"node default\" id=\"mermaid-cbb45a66-flowchart-P-0\" data-look=\"classic\" transform=\"translate(771.68, 41)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-106.64\" y=\"-23\" width=\"213.28\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">人間\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> プロデューサー\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-cbb45a66-flowchart-TL-1\" data-look=\"classic\" transform=\"translate(771.68, 137)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-81.03999999999999\" y=\"-23\" width=\"162.07999999999998\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Team\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> leader\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-cbb45a66-flowchart-GD-3\" data-look=\"classic\" transform=\"translate(248.43999999999997, 233)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-86.47999999999999\" y=\"-23\" width=\"172.95999999999998\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Design\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> まわり\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-cbb45a66-flowchart-GI-5\" data-look=\"classic\" transform=\"translate(771.68, 233)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-100.4\" y=\"-23\" width=\"200.8\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Implement\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> まわり\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-cbb45a66-flowchart-GK-7\" data-look=\"classic\" transform=\"translate(1325.0800000000002, 233)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-100.4\" y=\"-23\" width=\"200.8\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Knowledge\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> まわり\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-cbb45a66-flowchart-RA-9\" data-look=\"classic\" transform=\"translate(126.16, 329)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-118.16\" y=\"-23\" width=\"236.32\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Requirement\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> Analyst\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-cbb45a66-flowchart-RS-11\" data-look=\"classic\" transform=\"translate(370.71999999999997, 329)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-76.4\" y=\"-23\" width=\"152.8\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Researcher\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-cbb45a66-flowchart-TC-13\" data-look=\"classic\" transform=\"translate(568.88, 329)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-71.75999999999999\" y=\"-23\" width=\"143.51999999999998\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Tech\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> lead\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-cbb45a66-flowchart-IM-15\" data-look=\"classic\" transform=\"translate(771.68, 329)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-81.03999999999999\" y=\"-23\" width=\"162.07999999999998\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Implementer\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-cbb45a66-flowchart-CR-17\" data-look=\"classic\" transform=\"translate(993.0399999999998, 329)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-90.32\" y=\"-23\" width=\"180.64\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Code\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> reviewer\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-cbb45a66-flowchart-DW-19\" data-look=\"classic\" transform=\"translate(1214.3999999999999, 329)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-81.03999999999999\" y=\"-23\" width=\"162.07999999999998\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Docs\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> writer\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-cbb45a66-flowchart-DR-21\" data-look=\"classic\" transform=\"translate(1435.76, 329)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-90.32\" y=\"-23\" width=\"180.64\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Docs\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> reviewer\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cdefs>\u003Cfilter id=\"mermaid-cbb45a66-drop-shadow\" height=\"130%\" width=\"130%\">\u003Cfedropshadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\">\u003C\u002Ffedropshadow>\u003C\u002Ffilter>\u003C\u002Fdefs>\u003Cdefs>\u003Cfilter id=\"mermaid-cbb45a66-drop-shadow-small\" height=\"150%\" width=\"150%\">\u003Cfedropshadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\">\u003C\u002Ffedropshadow>\u003C\u002Ffilter>\u003C\u002Fdefs>\u003ClinearGradient id=\"mermaid-cbb45a66-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\u003Cstop offset=\"0%\" stop-color=\"#334466\" stop-opacity=\"1\">\u003C\u002Fstop>\u003Cstop offset=\"100%\" stop-color=\"hsl(105, 0%, 81.7647058824%)\" stop-opacity=\"1\">\u003C\u002Fstop>\u003C\u002FlinearGradient>\u003C\u002Fsvg>\u003C\u002Fdiv>\n\u003Cp>メンバーは、 Design・Implement・Knowledge の3つの現場ごとに分かれて働いています。\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>メンバー\u003C\u002Fth>\n\u003Cth>担当と起用理由\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Cstrong>Team leader\u003C\u002Fstrong>\u003Cbr>\u003Ccode>GLM-5.2\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>情報の整理、作業内容のトリアージ、メンバーへの作業割り振りを担当。チームの中でも特に判断能力が必要なので、Z.ai のフラグシップ級モデルを起用\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Requirement Analyst\u003C\u002Fstrong>\u003Cbr>\u003Ccode>GPT-5.6 Luna\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>要件・制約・リスク・曖昧さの分析と、設計作業時に渡す情報の整理を担当。OpenAI の高速かつ低コストなモデルで、複雑な要求を紐解くのが得意そうな気がするため\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Researcher\u003C\u002Fstrong>\u003Cbr>\u003Ccode>Hy3\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>既存の知識・コード・アーキテクチャ・技術的制約の調査と、設計判断に必要な情報の提供を担当。Tencent Hunyuan 製で、推論から長文コンテキストまで重視して開発されているため。いまは利用可能量8倍期間中なのでお試し中\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Tech lead\u003C\u002Fstrong>\u003Cbr>\u003Ccode>DeepSeek V4 Pro\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>アーキテクチャや技術設計に関する判断と決定を担当（実装そのものはしない）。DeepSeek のフラグシップ級モデルで、複雑な推論やソフトウェア系のタスクに強いため\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Implementer\u003C\u002Fstrong>\u003Cbr>\u003Ccode>Muse Spark 1.2 Contributor\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>実装、テスト、修正を繰り返して動くところまで仕上げる担当。Meta 製のコーディングエージェント向けモデルで、ツールを使いながら長時間のタスクをこなせるため\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Code reviewer\u003C\u002Fstrong>\u003Cbr>\u003Ccode>DeepSeek V4 Flash\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>変更箇所から関連コードまで幅広く確認し、バグや設計上の問題を漏れなく拾う担当。V4 Pro には負けるけど十分なコーディング能力がある、高速かつ低コストなモデル\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Docs writer\u003C\u002Fstrong>\u003Cbr>\u003Ccode>GPT-5.6 Luna\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>設計をもとにプロジェクトのドキュメントを執筆する担当。利用量拡大期間中だったので採用。軽微なタスクでも使いやすい。ただ、いまは拡大期間の扱いが変わったようなので、モデルの変更を検討中……\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Docs reviewer\u003C\u002Fstrong>\u003Cbr>\u003Ccode>DeepSeek V4 Flash\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>執筆担当とは独立した立場で、設計との不整合や矛盾を確認する担当。高度な文章作成能力は不要と考えたため、高速かつ低コストで大量に利用できる\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cp>いくつか補足すると、\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Code reviewer を開発担当と別にしているのは、そもそも自己レビューは信用できないからです。\u003Cul>\n\u003Cli>Docs writer と Docs reviewer の担当分けも同様の理由です。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Imprementer (Muse Spark 1.2 Contributor) は利用内容がモデルの改善のために送信されます。\u003Cul>\n\u003Cli>企業で働いているときに触るセンシティブなものは扱わない運用なので、問題ないと判断しました。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>という感じです。\u003C\u002Fp>\n\u003Cp>ただ、これだけメンバーが揃っていても、どのように進めるべきかという指針がなければ、品質に差が出てきてしまいます。\u003C\u002Fp>\n\u003Cp>そこで、なるべく高品質かつ路頭に迷わないための流れを用意しました。\u003C\u002Fp>\n\u003Ch4 id=\"ワークフローを-skill-として用意してみました\">ワークフローを skill として用意してみました\u003C\u002Fh4>\u003Cp>OpenCode には、再利用できる手順書を\u003Ca href=\"https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fskills\u002F\">スキル\u003C\u002Fa>として登録できる仕組みがあります。今回はこれをチームの進め方ごと用意してみました。\u003C\u002Fp>\n\u003Cp>やりたいことの設計をするための \u003Ccode>design\u003C\u002Fcode> と、設計をもとに実装する \u003Ccode>implement\u003C\u002Fcode> というスキルです。\u003C\u002Fp>\n\u003Cp>大きく分けて、\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cp>\u003Cstrong>Design Skill\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>要求を整理する\u003C\u002Fli>\n\u003Cli>既存の Architecture や \u003Ca href=\"https:\u002F\u002Fadr.github.io\u002F\">ADR\u003C\u002Fa>（Architecture Decision Record＝設計判断の記録）などの Knowledge を調査する\u003C\u002Fli>\n\u003Cli>Requirements と基本設計を分離する\u003C\u002Fli>\n\u003Cli>AI による設計レビューを行う\u003C\u002Fli>\n\u003Cli>最終的には人間が設計を承認する\u003C\u002Fli>\n\u003Cli>承認された設計をプロジェクトの Knowledge Base へ反映する\u003C\u002Fli>\n\u003C\u002Fol>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Implement Skill\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>承認済みの Design の確認をする\u003C\u002Fli>\n\u003Cli>実装を適度な大きさの Scope に分割する\u003C\u002Fli>\n\u003Cli>Scope ごとに「実装 → 検証 → レビュー → 修正」を繰り返す\u003C\u002Fli>\n\u003Cli>全体の統合検証と AI による最終レビューを行う\u003C\u002Fli>\n\u003Cli>最後は人間が変更全体を確認する\u003C\u002Fli>\n\u003Cli>実装によって変化した Knowledge Base も調査・更新・レビューする\u003C\u002Fli>\n\u003C\u002Fol>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>という流れです。\u003C\u002Fp>\n\u003Cp>ちなみに Knowledge Base への反映は、設計の承認時と実装の完了後の合わせて 2 回行われます。\u003C\u002Fp>\n\u003Cp>特に重視しているのが、\u003Cstrong>AI に推測で仕様を決めさせないこと\u003C\u002Fstrong>です。\u003C\u002Fp>\n\u003Cp>設計上の判断が必要になった場合は AI が勝手に進めず、人間に質問を残して Workflow を停止します。\u003C\u002Fp>\n\u003Cp>また、 Design で決めたことを Implement が独自に変更することも禁止しています。\u003C\u002Fp>\n\u003Cp>さらに、各 Agent が調査結果を会話のコンテキストで直接受け渡すのではなく、\u003Ccode>.ai\u002F&lt;タスク名&gt;\u002F\u003C\u002Fcode> 以下のファイルに成果物として保存します。\u003C\u002Fp>\n\u003Cp>イメージとしては以下のように、\u003C\u002Fp>\n\u003Cdiv class=\"mermaid-diagram\">\u003Csvg id=\"mermaid-a71624d\" width=\"100%\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" class=\"flowchart\" style=\"max-width: 797.14px;\" viewBox=\"-17 -16 797.14 2396.6\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\">\u003Cstyle>#mermaid-a71624d{font-family:\"Noto Sans JP\",sans-serif;font-size:16px;fill:#101010;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-a71624d .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-a71624d .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-a71624d .error-icon{fill:hsl(45, 19.0476190476%, 96.7647058824%);}#mermaid-a71624d .error-text{fill:rgb(6.6785714285, 7.4642857142, 9.8214285713);stroke:rgb(6.6785714285, 7.4642857142, 9.8214285713);}#mermaid-a71624d .edge-thickness-normal{stroke-width:1px;}#mermaid-a71624d .edge-thickness-thick{stroke-width:3.5px;}#mermaid-a71624d .edge-pattern-solid{stroke-dasharray:0;}#mermaid-a71624d .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-a71624d .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-a71624d .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-a71624d .marker{fill:#6699cc;stroke:#6699cc;}#mermaid-a71624d .marker.cross{stroke:#6699cc;}#mermaid-a71624d svg{font-family:\"Noto Sans JP\",sans-serif;font-size:16px;}#mermaid-a71624d p{margin:0;}#mermaid-a71624d .label{font-family:\"Noto Sans JP\",sans-serif;color:#101010;}#mermaid-a71624d .cluster-label text{fill:rgb(6.6785714285, 7.4642857142, 9.8214285713);}#mermaid-a71624d .cluster-label span{color:rgb(6.6785714285, 7.4642857142, 9.8214285713);}#mermaid-a71624d .cluster-label span p{background-color:transparent;}#mermaid-a71624d .label text,#mermaid-a71624d span{fill:#101010;color:#101010;}#mermaid-a71624d .node rect,#mermaid-a71624d .node circle,#mermaid-a71624d .node ellipse,#mermaid-a71624d .node polygon,#mermaid-a71624d .node path{fill:#e6e8ee;stroke:#334466;stroke-width:1px;}#mermaid-a71624d .rough-node .label text,#mermaid-a71624d .node .label text,#mermaid-a71624d .image-shape .label,#mermaid-a71624d .icon-shape .label{text-anchor:middle;}#mermaid-a71624d .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-a71624d .rough-node .label,#mermaid-a71624d .node .label,#mermaid-a71624d .image-shape .label,#mermaid-a71624d .icon-shape .label{text-align:center;}#mermaid-a71624d .node.clickable{cursor:pointer;}#mermaid-a71624d .root .anchor path{fill:#6699cc!important;stroke-width:0;stroke:#6699cc;}#mermaid-a71624d .arrowheadPath{fill:#0b0b0b;}#mermaid-a71624d .edgePaths .path{stroke:#6699cc;stroke-width:1px;}#mermaid-a71624d .flowchart-link{stroke:#6699cc;fill:none;}#mermaid-a71624d .edgeLabel{background-color:#e6e8ee;text-align:center;}#mermaid-a71624d .edgeLabel p{background-color:#e6e8ee;}#mermaid-a71624d .edgeLabel rect{opacity:0.5;background-color:#e6e8ee;fill:#e6e8ee;}#mermaid-a71624d .labelBkg{background-color:rgba(230, 232, 238, 0.5);}#mermaid-a71624d .cluster rect{fill:#e6e8ee;stroke:#afbecc;stroke-width:1px;}#mermaid-a71624d .cluster text{fill:rgb(6.6785714285, 7.4642857142, 9.8214285713);}#mermaid-a71624d .cluster span{color:rgb(6.6785714285, 7.4642857142, 9.8214285713);}#mermaid-a71624d .node .collapsed-indicator{fill:#afbecc;stroke:none;opacity:0.6;}#mermaid-a71624d .node .collapsed-separator{stroke:#afbecc;stroke-width:0.75px;}#mermaid-a71624d div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Noto Sans JP\",sans-serif;font-size:12px;background:hsl(45, 19.0476190476%, 96.7647058824%);border:1px solid hsl(45, 0%, 86.7647058824%);border-radius:2px;pointer-events:none;z-index:100;}#mermaid-a71624d .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#101010;}#mermaid-a71624d rect.text{fill:none;stroke-width:0;}#mermaid-a71624d .icon-shape,#mermaid-a71624d .image-shape{background-color:#e6e8ee;text-align:center;}#mermaid-a71624d .icon-shape p,#mermaid-a71624d .image-shape p{background-color:#e6e8ee;padding:2px;}#mermaid-a71624d .icon-shape .label rect,#mermaid-a71624d .image-shape .label rect{opacity:0.5;background-color:#e6e8ee;fill:#e6e8ee;}#mermaid-a71624d .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-a71624d .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-a71624d .node .neo-node{stroke:#334466;}#mermaid-a71624d [data-look=\"neo\"].node rect,#mermaid-a71624d [data-look=\"neo\"].cluster rect,#mermaid-a71624d [data-look=\"neo\"].node polygon{stroke:url(#mermaid-a71624d-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#mermaid-a71624d [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#mermaid-a71624d [data-look=\"neo\"].node path{stroke:url(#mermaid-a71624d-gradient);stroke-width:1px;}#mermaid-a71624d [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#mermaid-a71624d [data-look=\"neo\"].node .neo-line path{stroke:#334466;filter:none;}#mermaid-a71624d [data-look=\"neo\"].node circle{stroke:url(#mermaid-a71624d-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#mermaid-a71624d [data-look=\"neo\"].node circle .state-start{fill:#000000;}#mermaid-a71624d [data-look=\"neo\"].icon-shape .icon{fill:url(#mermaid-a71624d-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#mermaid-a71624d [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#mermaid-a71624d-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#mermaid-a71624d :root{--mermaid-font-family:\"trebuchet ms\",verdana,arial,sans-serif;}\u003C\u002Fstyle>\u003Cg>\u003Cmarker id=\"mermaid-a71624d_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\">\u003Cpath d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1,0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-a71624d_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\">\u003Cpath d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1,0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-a71624d_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\">\u003Cpath d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1,0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-a71624d_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\">\u003Cpolygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1,0;\">\u003C\u002Fpolygon>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-a71624d_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\">\u003Ccircle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1,0;\">\u003C\u002Fcircle>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-a71624d_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\">\u003Ccircle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1,0;\">\u003C\u002Fcircle>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-a71624d_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\">\u003Ccircle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1,0;\">\u003C\u002Fcircle>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-a71624d_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\">\u003Ccircle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1,0;\">\u003C\u002Fcircle>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-a71624d_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\">\u003Cpath d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1,0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-a71624d_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\">\u003Cpath d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1,0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-a71624d_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\">\u003Cpath d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cmarker id=\"mermaid-a71624d_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\">\u003Cpath d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1,0;\">\u003C\u002Fpath>\u003C\u002Fmarker>\u003Cg class=\"root\">\u003Cg class=\"clusters\">\u003Cg class=\"cluster\" id=\"mermaid-a71624d-implement\" data-look=\"classic\">\u003Crect style=\"fill:#f8f9fa !important;stroke:#adb5bd !important;stroke-dasharray:6 4 !important\" x=\"8\" y=\"766.14\" width=\"764.14\" height=\"989.9199999999998\">\u003C\u002Frect>\u003Cg class=\"cluster-label\" transform=\"translate(229.11, 778.14)\">\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">AI\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> が自律的に繰り返す\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> Implement\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> ループ\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"cluster\" id=\"mermaid-a71624d-design\" data-look=\"classic\">\u003Crect style=\"fill:#f8f9fa !important;stroke:#adb5bd !important;stroke-dasharray:6 4 !important\" x=\"191.07999999999996\" y=\"94\" width=\"453.2\" height=\"604.5400000000001\">\u003C\u002Frect>\u003Cg class=\"cluster-label\" transform=\"translate(270.63999999999993, 106)\">\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">AI\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> が自律的に繰り返す\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> Design\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> ループ\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgePaths\">\u003Cpath d=\"M392.08,64L392.08,68.167C392.08,72.333,392.08,80.667,392.08,89C392.08,97.333,392.08,105.667,392.08,113.333C392.08,121,392.08,128,392.08,131.5L392.08,135\" id=\"mermaid-a71624d-L_A_B_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_A_B_0\" data-points=\"W3sieCI6MzkyLjA4MDAwMDAwMDAwMDA0LCJ5Ijo2NH0seyJ4IjozOTIuMDgwMDAwMDAwMDAwMDQsInkiOjg5fSx7IngiOjM5Mi4wODAwMDAwMDAwMDAwNCwieSI6MTE0fSx7IngiOjM5Mi4wODAwMDAwMDAwMDAwNCwieSI6MTM5fV0=\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M392.08,185L392.08,189.167C392.08,193.333,392.08,201.667,392.08,209.333C392.08,217,392.08,224,392.08,227.5L392.08,231\" id=\"mermaid-a71624d-L_B_C_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_B_C_0\" data-points=\"W3sieCI6MzkyLjA4MDAwMDAwMDAwMDA0LCJ5IjoxODV9LHsieCI6MzkyLjA4MDAwMDAwMDAwMDA0LCJ5IjoyMTB9LHsieCI6MzkyLjA4MDAwMDAwMDAwMDA0LCJ5IjoyMzV9XQ==\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M348.697,281L334.927,288.3C321.158,295.6,293.619,310.2,284.216,328.562C274.812,346.925,283.544,369.05,287.91,380.112L292.276,391.174\" id=\"mermaid-a71624d-L_C_D_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_C_D_0\" data-points=\"W3sieCI6MzQ4LjY5Njc2NjQ2NzA2NTksInkiOjI4MX0seyJ4IjoyNjYuMDgsInkiOjMyNC44fSx7IngiOjI5My43NDQ4MjkwMzI5MzQ3LCJ5IjozOTQuODk1MTcwOTY3MDY1Mjd9XQ==\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M320.04,554.44L320.04,561.74C320.04,569.04,320.04,583.64,330.625,597.955C341.21,612.27,362.38,626.3,372.964,633.315L383.549,640.33\" id=\"mermaid-a71624d-L_D_E_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_D_E_0\" data-points=\"W3sieCI6MzIwLjA0LCJ5Ijo1NTQuNDM5OTk5OTk5OTk5OH0seyJ4IjozMjAuMDM5OTk5OTk5OTk5OTYsInkiOjU5OC4yNH0seyJ4IjozODYuODgzNTc2ODI2MTk2MjUsInkiOjY0Mi41NH1d\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M346.335,394.895L350.946,383.213C355.557,371.53,364.778,348.165,371.191,329.826C377.603,311.487,381.207,298.174,383.008,291.518L384.81,284.861\" id=\"mermaid-a71624d-L_D_C_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_D_C_0\" data-points=\"W3sieCI6MzQ2LjMzNTE3MDk2NzA2NTIsInkiOjM5NC44OTUxNzA5NjcwNjUzfSx7IngiOjM3NCwieSI6MzI0Ljh9LHsieCI6Mzg1Ljg1NDg1MDI5OTQwMTIsInkiOjI4MX1d\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M410.74,673.54L410.657,677.707C410.573,681.873,410.407,690.207,410.323,701.673C410.24,713.14,410.24,727.74,410.24,742.34C410.24,756.94,410.24,771.54,410.24,782.34C410.24,793.14,410.24,800.14,410.24,803.64L410.24,807.14\" id=\"mermaid-a71624d-L_E_F_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_E_F_0\" data-points=\"W3sieCI6NDEwLjczOTk5OTk5OTk5OTI3LCJ5Ijo2NzMuNTR9LHsieCI6NDEwLjI0LCJ5Ijo2OTguNTQwMDAwMDAwMDAwMX0seyJ4Ijo0MTAuMjQsInkiOjc0Mi4zNH0seyJ4Ijo0MTAuMjQsInkiOjc4Ni4xNDAwMDAwMDAwMDAxfSx7IngiOjQxMC4yNCwieSI6ODExLjE0MDAwMDAwMDAwMDF9XQ==\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M442.108,642.54L456.563,635.157C471.019,627.773,499.929,613.007,514.385,582.837C528.84,552.667,528.84,507.093,528.84,461.52C528.84,415.947,528.84,370.373,514.494,340.579C500.147,310.785,471.455,296.77,457.108,289.763L442.762,282.756\" id=\"mermaid-a71624d-L_E_C_0\" class=\"edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_E_C_0\" data-points=\"W3sieCI6NDQyLjEwNzc1ODE4NjM5ODc3LCJ5Ijo2NDIuNTR9LHsieCI6NTI4Ljg0LCJ5Ijo1OTguMjR9LHsieCI6NTI4Ljg0LCJ5Ijo0NjEuNTIwMDAwMDAwMDAwMDR9LHsieCI6NTI4Ljg0LCJ5IjozMjQuOH0seyJ4Ijo0MzkuMTY4MDIzOTUyMDk1ODQsInkiOjI4MX1d\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M410.24,876.54L410.24,880.707C410.24,884.873,410.24,893.207,410.24,900.873C410.24,908.54,410.24,915.54,410.24,919.04L410.24,922.54\" id=\"mermaid-a71624d-L_F_G1_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_F_G1_0\" data-points=\"W3sieCI6NDEwLjI0LCJ5Ijo4NzYuNTQwMDAwMDAwMDAwMn0seyJ4Ijo0MTAuMjQsInkiOjkwMS41NDAwMDAwMDAwMDAxfSx7IngiOjQxMC4yNCwieSI6OTI2LjU0MDAwMDAwMDAwMDF9XQ==\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M336.4,962.496L303.113,968.337C269.827,974.178,203.253,985.859,169.967,995.199C136.68,1004.54,136.68,1011.54,136.68,1015.04L136.68,1018.54\" id=\"mermaid-a71624d-L_G1_G2_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_G1_G2_0\" data-points=\"W3sieCI6MzM2LjQsInkiOjk2Mi40OTYyODAxNTc5MTc5fSx7IngiOjEzNi42OCwieSI6OTk3LjU0MDAwMDAwMDAwMDF9LHsieCI6MTM2LjY4LCJ5IjoxMDIyLjU0fV0=\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M136.68,1068.54L136.68,1074.373C136.68,1080.207,136.68,1091.873,142.72,1108.267C148.761,1124.66,160.842,1145.78,166.882,1156.34L172.922,1166.899\" id=\"mermaid-a71624d-L_G2_G3_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_G2_G3_0\" data-points=\"W3sieCI6MTM2LjY4LCJ5IjoxMDY4LjU0fSx7IngiOjEzNi42OCwieSI6MTEwMy41NH0seyJ4IjoxNzQuOTA4NDM4NzY1OTcwODYsInkiOjExNzAuMzcxNTYxMjM0MDI5NX1d\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M244.222,1176.022L253.278,1163.942C262.335,1151.861,280.447,1127.701,289.504,1105.954C298.56,1084.207,298.56,1064.873,298.56,1047.207C298.56,1029.54,298.56,1013.54,307.642,1001.637C316.724,989.733,334.888,981.926,343.97,978.023L353.052,974.119\" id=\"mermaid-a71624d-L_G3_G1_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_G3_G1_0\" data-points=\"W3sieCI6MjQ0LjIyMjA5Nzk5MzQ2NzIzLCJ5IjoxMTc2LjAyMjA5Nzk5MzQ2Njh9LHsieCI6Mjk4LjU2LCJ5IjoxMTAzLjU0fSx7IngiOjI5OC41NiwieSI6MTA0NS41NH0seyJ4IjoyOTguNTYsInkiOjk5Ny41NDAwMDAwMDAwMDAxfSx7IngiOjM1Ni43MjY2NjY2NjY2NjY3LCJ5Ijo5NzIuNTQwMDAwMDAwMDAwMX1d\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M206.74,1313.5L206.74,1320.8C206.74,1328.1,206.74,1342.7,211.425,1361.337C216.111,1379.975,225.481,1402.649,230.167,1413.986L234.852,1425.324\" id=\"mermaid-a71624d-L_G3_G4_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_G3_G4_0\" data-points=\"W3sieCI6MjA2LjczOTk5OTk5OTk5OTgsInkiOjEzMTMuNDk5OTk5OTk5OTk5OH0seyJ4IjoyMDYuNzQsInkiOjEzNTcuM30seyJ4IjoyMzYuMzc5NzE1NTA0OTc4NjMsInkiOjE0MjkuMDIwMjg0NDk1MDIxfV0=\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M313.155,1449.955L329.336,1434.512C345.516,1419.07,377.878,1388.185,394.059,1350.862C410.24,1313.54,410.24,1269.78,410.24,1227.487C410.24,1185.193,410.24,1144.367,410.24,1114.287C410.24,1084.207,410.24,1064.873,410.24,1047.207C410.24,1029.54,410.24,1013.54,410.24,1002.04C410.24,990.54,410.24,983.54,410.24,980.04L410.24,976.54\" id=\"mermaid-a71624d-L_G4_G1_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_G4_G1_0\" data-points=\"W3sieCI6MzEzLjE1NDc0NzkxMzg5MTEsInkiOjE0NDkuOTU0NzQ3OTEzODkwN30seyJ4Ijo0MTAuMjQsInkiOjEzNTcuM30seyJ4Ijo0MTAuMjQsInkiOjEyMjYuMDJ9LHsieCI6NDEwLjI0LCJ5IjoxMTAzLjU0fSx7IngiOjQxMC4yNCwieSI6MTA0NS41NH0seyJ4Ijo0MTAuMjQsInkiOjk5Ny41NDAwMDAwMDAwMDAxfSx7IngiOjQxMC4yNCwieSI6OTcyLjU0MDAwMDAwMDAwMDF9XQ==\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M264.3,1592.06L264.3,1597.893C264.3,1603.727,264.3,1615.393,264.3,1626.393C264.3,1637.393,264.3,1647.727,264.3,1652.893L264.3,1658.06\" id=\"mermaid-a71624d-L_G4_H_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_G4_H_0\" data-points=\"W3sieCI6MjY0LjI5OTk5OTk5OTk5OTk1LCJ5IjoxNTkyLjA2fSx7IngiOjI2NC4yOTk5OTk5OTk5OTk5NSwieSI6MTYyNy4wNn0seyJ4IjoyNjQuMjk5OTk5OTk5OTk5OTUsInkiOjE2NjIuMDZ9XQ==\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M264.3,1731.06L264.3,1735.227C264.3,1739.393,264.3,1747.727,264.3,1756.06C264.3,1764.393,264.3,1772.727,271.423,1787.711C278.545,1802.695,292.791,1824.329,299.913,1835.146L307.036,1845.964\" id=\"mermaid-a71624d-L_H_I_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_H_I_0\" data-points=\"W3sieCI6MjY0LjI5OTk5OTk5OTk5OTk1LCJ5IjoxNzMxLjA2fSx7IngiOjI2NC4yOTk5OTk5OTk5OTk5NSwieSI6MTc1Ni4wNn0seyJ4IjoyNjQuMjk5OTk5OTk5OTk5OTUsInkiOjE3ODEuMDZ9LHsieCI6MzA5LjIzNTY3MDQxODczMDM2LCJ5IjoxODQ5LjMwNDMyOTU4MTI2OTN9XQ==\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M352.48,2023.9L352.48,2031.2C352.48,2038.5,352.48,2053.1,360.871,2067.358C369.263,2081.616,386.046,2095.531,394.437,2102.489L402.829,2109.447\" id=\"mermaid-a71624d-L_I_J_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_I_J_0\" data-points=\"W3sieCI6MzUyLjQ3OTk5OTk5OTk5OTgsInkiOjIwMjMuODk5OTk5OTk5OTk5Mn0seyJ4IjozNTIuNDgsInkiOjIwNjcuN30seyJ4Ijo0MDUuOTA3NzU4MTg2Mzk5MzUsInkiOjIxMTJ9XQ==\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M417.238,1870.818L439.175,1855.859C461.112,1840.899,504.986,1810.979,526.923,1791.853C548.86,1772.727,548.86,1764.393,548.86,1750.31C548.86,1736.227,548.86,1716.393,548.86,1694.893C548.86,1673.393,548.86,1650.227,548.86,1616.897C548.86,1583.567,548.86,1540.073,548.86,1495.113C548.86,1450.153,548.86,1403.727,548.86,1358.633C548.86,1313.54,548.86,1269.78,548.86,1227.487C548.86,1185.193,548.86,1144.367,548.86,1114.287C548.86,1084.207,548.86,1064.873,548.86,1047.207C548.86,1029.54,548.86,1013.54,537.457,1001.591C526.054,989.643,503.248,981.746,491.845,977.797L480.442,973.849\" id=\"mermaid-a71624d-L_I_G1_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_I_G1_0\" data-points=\"W3sieCI6NDE3LjIzODQzMDUxNzcxMTUsInkiOjE4NzAuODE4NDMwNTE3NzExMn0seyJ4Ijo1NDguODYsInkiOjE3ODEuMDZ9LHsieCI6NTQ4Ljg2LCJ5IjoxNzU2LjA2fSx7IngiOjU0OC44NiwieSI6MTY5Ni41Nn0seyJ4Ijo1NDguODYsInkiOjE2MjcuMDZ9LHsieCI6NTQ4Ljg2LCJ5IjoxNDk2LjU4fSx7IngiOjU0OC44NiwieSI6MTM1Ny4zfSx7IngiOjU0OC44NiwieSI6MTIyNi4wMn0seyJ4Ijo1NDguODYsInkiOjExMDMuNTR9LHsieCI6NTQ4Ljg2LCJ5IjoxMDQ1LjU0fSx7IngiOjU0OC44NiwieSI6OTk3LjU0MDAwMDAwMDAwMDF9LHsieCI6NDc2LjY2MjA4MzMzMzMzMzMsInkiOjk3Mi41NDAwMDAwMDAwMDAxfV0=\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M424.94,2143L424.857,2150.3C424.773,2157.6,424.607,2172.2,424.523,2186.133C424.44,2200.067,424.44,2213.333,424.44,2219.967L424.44,2226.6\" id=\"mermaid-a71624d-L_J_K_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_J_K_0\" data-points=\"W3sieCI6NDI0Ljk0MDAwMDAwMDAwMDcsInkiOjIxNDN9LHsieCI6NDI0LjQ0LCJ5IjoyMTg2Ljh9LHsieCI6NDI0LjQ0LCJ5IjoyMjMwLjZ9XQ==\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M490.22,2112L520.393,2104.617C550.567,2097.233,610.913,2082.467,641.087,2049.63C671.26,2016.793,671.26,1965.887,671.26,1918.113C671.26,1870.34,671.26,1825.7,671.26,1799.213C671.26,1772.727,671.26,1764.393,671.26,1750.31C671.26,1736.227,671.26,1716.393,671.26,1694.893C671.26,1673.393,671.26,1650.227,671.26,1616.897C671.26,1583.567,671.26,1540.073,671.26,1495.113C671.26,1450.153,671.26,1403.727,671.26,1358.633C671.26,1313.54,671.26,1269.78,671.26,1227.487C671.26,1185.193,671.26,1144.367,671.26,1114.287C671.26,1084.207,671.26,1064.873,671.26,1047.207C671.26,1029.54,671.26,1013.54,640.719,999.924C610.178,986.307,549.096,975.075,518.555,969.458L488.014,963.842\" id=\"mermaid-a71624d-L_J_G1_0\" class=\"edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_J_G1_0\" data-points=\"W3sieCI6NDkwLjIxOTg0ODg2NjQ5OTI2LCJ5IjoyMTEyfSx7IngiOjY3MS4yNiwieSI6MjA2Ny43fSx7IngiOjY3MS4yNiwieSI6MTkxNC45OH0seyJ4Ijo2NzEuMjYsInkiOjE3ODEuMDZ9LHsieCI6NjcxLjI2LCJ5IjoxNzU2LjA2fSx7IngiOjY3MS4yNiwieSI6MTY5Ni41Nn0seyJ4Ijo2NzEuMjYsInkiOjE2MjcuMDZ9LHsieCI6NjcxLjI2LCJ5IjoxNDk2LjU4fSx7IngiOjY3MS4yNiwieSI6MTM1Ny4zfSx7IngiOjY3MS4yNiwieSI6MTIyNi4wMn0seyJ4Ijo2NzEuMjYsInkiOjExMDMuNTR9LHsieCI6NjcxLjI2LCJ5IjoxMDQ1LjU0fSx7IngiOjY3MS4yNiwieSI6OTk3LjU0MDAwMDAwMDAwMDF9LHsieCI6NDg0LjA4MDAwMDAwMDAwMDA0LCJ5Ijo5NjMuMTE4NzI5NTk5MjY0NX1d\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003Cpath d=\"M424.44,2276.6L424.44,2280.767C424.44,2284.933,424.44,2293.267,424.44,2300.933C424.44,2308.6,424.44,2315.6,424.44,2319.1L424.44,2322.6\" id=\"mermaid-a71624d-L_K_L_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_K_L_0\" data-points=\"W3sieCI6NDI0LjQ0LCJ5IjoyMjc2LjZ9LHsieCI6NDI0LjQ0LCJ5IjoyMzAxLjZ9LHsieCI6NDI0LjQ0LCJ5IjoyMzI2LjZ9XQ==\" data-look=\"classic\" marker-end=\"url(#mermaid-a71624d_flowchart-v2-pointEnd)\">\u003C\u002Fpath>\u003C\u002Fg>\u003Cg class=\"edgeLabels\">\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_A_B_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_B_C_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_C_D_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\" transform=\"translate(320.03999999999996, 598.24)\">\u003Cg class=\"label\" data-id=\"L_D_E_0\" transform=\"translate(0, -20)\">\u003Cg>\u003Crect class=\"background\" style=\"\" x=\"-39.12\" y=\"1.2000000000000002\" width=\"78.24\" height=\"37.6\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" text-anchor=\"middle\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">OK\u003C\u002Ftspan>\u003C\u002Ftspan>\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">approved\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\" transform=\"translate(368.49673, 348.7438)\">\u003Cg class=\"label\" data-id=\"L_D_C_0\" transform=\"translate(0, -20)\">\u003Cg>\u003Crect class=\"background\" style=\"\" x=\"-80.88\" y=\"1.2000000000000002\" width=\"161.76\" height=\"37.6\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" text-anchor=\"middle\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">指摘あり\u003C\u002Ftspan>\u003C\u002Ftspan>\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">changes-requested\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\" transform=\"translate(410.24, 742.34)\">\u003Cg class=\"label\" data-id=\"L_E_F_0\" transform=\"translate(0, -20)\">\u003Cg>\u003Crect class=\"background\" style=\"\" x=\"-39.12\" y=\"1.2000000000000002\" width=\"78.24\" height=\"37.6\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" text-anchor=\"middle\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">承認\u003C\u002Ftspan>\u003C\u002Ftspan>\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">approved\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\" transform=\"translate(528.84, 461.52000000000004)\">\u003Cg class=\"label\" data-id=\"L_E_C_0\" transform=\"translate(0, -20)\">\u003Cg>\u003Crect class=\"background\" style=\"\" x=\"-80.88\" y=\"1.2000000000000002\" width=\"161.76\" height=\"37.6\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" text-anchor=\"middle\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">差し戻し\u003C\u002Ftspan>\u003C\u002Ftspan>\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">changes-requested\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_F_G1_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_G1_G2_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_G2_G3_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\" transform=\"translate(298.56, 1045.54)\">\u003Cg class=\"label\" data-id=\"L_G3_G1_0\" transform=\"translate(0, -20)\">\u003Cg>\u003Crect class=\"background\" style=\"\" x=\"-80.88\" y=\"1.2000000000000002\" width=\"161.76\" height=\"37.6\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" text-anchor=\"middle\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">指摘あり\u003C\u002Ftspan>\u003C\u002Ftspan>\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">changes-requested\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\" transform=\"translate(206.74, 1357.3)\">\u003Cg class=\"label\" data-id=\"L_G3_G4_0\" transform=\"translate(0, -20)\">\u003Cg>\u003Crect class=\"background\" style=\"\" x=\"-39.12\" y=\"1.2000000000000002\" width=\"78.24\" height=\"37.6\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" text-anchor=\"middle\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">OK\u003C\u002Ftspan>\u003C\u002Ftspan>\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">approved\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\" transform=\"translate(410.24, 1103.54)\">\u003Cg class=\"label\" data-id=\"L_G4_G1_0\" transform=\"translate(0, -11.2)\">\u003Cg>\u003Crect class=\"background\" style=\"\" x=\"-18\" y=\"1.2000000000000002\" width=\"36\" height=\"20\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" text-anchor=\"middle\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">あり\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\" transform=\"translate(264.29999999999995, 1627.06)\">\u003Cg class=\"label\" data-id=\"L_G4_H_0\" transform=\"translate(0, -11.2)\">\u003Cg>\u003Crect class=\"background\" style=\"\" x=\"-18\" y=\"1.2000000000000002\" width=\"36\" height=\"20\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" text-anchor=\"middle\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">なし\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_H_I_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003Cg class=\"edgeLabel\" transform=\"translate(352.48, 2067.7)\">\u003Cg class=\"label\" data-id=\"L_I_J_0\" transform=\"translate(0, -20)\">\u003Cg>\u003Crect class=\"background\" style=\"\" x=\"-39.12\" y=\"1.2000000000000002\" width=\"78.24\" height=\"37.6\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" text-anchor=\"middle\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">OK\u003C\u002Ftspan>\u003C\u002Ftspan>\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">approved\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\" transform=\"translate(548.86, 1357.3)\">\u003Cg class=\"label\" data-id=\"L_I_G1_0\" transform=\"translate(0, -20)\">\u003Cg>\u003Crect class=\"background\" style=\"\" x=\"-80.88\" y=\"1.2000000000000002\" width=\"161.76\" height=\"37.6\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" text-anchor=\"middle\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">指摘あり\u003C\u002Ftspan>\u003C\u002Ftspan>\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">changes-requested\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\" transform=\"translate(424.44, 2186.8)\">\u003Cg class=\"label\" data-id=\"L_J_K_0\" transform=\"translate(0, -20)\">\u003Cg>\u003Crect class=\"background\" style=\"\" x=\"-39.12\" y=\"1.2000000000000002\" width=\"78.24\" height=\"37.6\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" text-anchor=\"middle\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">承認\u003C\u002Ftspan>\u003C\u002Ftspan>\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">approved\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\" transform=\"translate(671.26, 1496.58)\">\u003Cg class=\"label\" data-id=\"L_J_G1_0\" transform=\"translate(0, -20)\">\u003Cg>\u003Crect class=\"background\" style=\"\" x=\"-80.88\" y=\"1.2000000000000002\" width=\"161.76\" height=\"37.6\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" text-anchor=\"middle\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">差し戻し\u003C\u002Ftspan>\u003C\u002Ftspan>\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">changes-requested\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"edgeLabel\">\u003Cg class=\"label\" data-id=\"L_K_L_0\" transform=\"translate(0, -11.2)\">\u003Ctext y=\"-10.1\" text-anchor=\"middle\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\" text-anchor=\"middle\">\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"nodes\">\u003Cg class=\"node default\" id=\"mermaid-a71624d-flowchart-A-0\" data-look=\"classic\" transform=\"translate(392.08000000000004, 41)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-126\" y=\"-23\" width=\"252\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">人間がやりたいことを提示\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-a71624d-flowchart-B-1\" data-look=\"classic\" transform=\"translate(392.08000000000004, 162)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-78\" y=\"-23\" width=\"156\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">要件を考える\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-a71624d-flowchart-C-3\" data-look=\"classic\" transform=\"translate(392.08000000000004, 258)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-57.84\" y=\"-23\" width=\"115.68\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Design\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-a71624d-flowchart-D-5\" data-look=\"classic\" transform=\"translate(320.03999999999996, 461.52000000000004)\">\u003Cpolygon points=\"92.92,0 185.84,-92.92 92.92,-185.84 0,-92.92\" class=\"label-container\" transform=\"translate(-92.42, 92.92)\">\u003C\u002Fpolygon>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">AI\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> によるレビュー\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-a71624d-flowchart-E-7\" data-look=\"classic\" transform=\"translate(410.24, 657.7900000000001)\">\u003Cpolygon points=\"-15.5,0 159,0 174.5,-31 0,-31\" class=\"label-container\" transform=\"translate(-79.5,15.5)\" style=\"fill:#fff3bf !important;stroke:#e6a700 !important;stroke-width:2px !important\">\u003C\u002Fpolygon>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">人間によるレビュー\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-a71624d-flowchart-F-11\" data-look=\"classic\" transform=\"translate(410.24, 843.8400000000001)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-73.84\" y=\"-31.8\" width=\"147.68\" height=\"63.6\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -16.8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">実装\u003C\u002Ftspan>\u003C\u002Ftspan>\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Scope\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> 分割\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-a71624d-flowchart-G1-15\" data-look=\"classic\" transform=\"translate(410.24, 949.5400000000001)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-73.84\" y=\"-23\" width=\"147.68\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Scope\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> 実装\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-a71624d-flowchart-G2-17\" data-look=\"classic\" transform=\"translate(136.68, 1045.54)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-46\" y=\"-23\" width=\"92\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">検証\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-a71624d-flowchart-G3-19\" data-look=\"classic\" transform=\"translate(206.74, 1226.02)\">\u003Cpolygon points=\"87.48,0 174.96,-87.48 87.48,-174.96 0,-87.48\" class=\"label-container\" transform=\"translate(-86.98, 87.48)\">\u003C\u002Fpolygon>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -16.8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Scope\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> Review\u003C\u002Ftspan>\u003C\u002Ftspan>\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">AI\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-a71624d-flowchart-G4-23\" data-look=\"classic\" transform=\"translate(264.29999999999995, 1496.58)\">\u003Cpolygon points=\"95.48,0 190.96,-95.48 95.48,-190.96 0,-95.48\" class=\"label-container\" transform=\"translate(-94.98, 95.48)\">\u003C\u002Fpolygon>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">次の\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> Scope\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> あり？\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-a71624d-flowchart-H-27\" data-look=\"classic\" transform=\"translate(264.29999999999995, 1696.56)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-141.36\" y=\"-33\" width=\"282.72\" height=\"66\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -18)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">全体の検証\u003C\u002Ftspan>\u003C\u002Ftspan>\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Integration\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> Verification\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-a71624d-flowchart-I-29\" data-look=\"classic\" transform=\"translate(352.48, 1914.98)\">\u003Cpolygon points=\"108.92,0 217.84,-108.92 108.92,-217.84 0,-108.92\" class=\"label-container\" transform=\"translate(-108.42, 108.92)\">\u003C\u002Fpolygon>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">AI\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> による最終レビュー\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-a71624d-flowchart-J-31\" data-look=\"classic\" transform=\"translate(424.44, 2127.25)\">\u003Cpolygon points=\"-15.5,0 159,0 174.5,-31 0,-31\" class=\"label-container\" transform=\"translate(-79.5,15.5)\" style=\"fill:#fff3bf !important;stroke:#e6a700 !important;stroke-width:2px !important\">\u003C\u002Fpolygon>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">人間によるレビュー\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-a71624d-flowchart-K-35\" data-look=\"classic\" transform=\"translate(424.44, 2253.6)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-92.4\" y=\"-23\" width=\"184.8\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">Knowledge\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> 更新\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg class=\"node default\" id=\"mermaid-a71624d-flowchart-L-39\" data-look=\"classic\" transform=\"translate(424.44, 2349.6)\">\u003Crect class=\"basic label-container\" style=\"\" x=\"-107.92\" y=\"-23\" width=\"215.84\" height=\"46\">\u003C\u002Frect>\u003Cg class=\"label\" style=\"\" transform=\"translate(0, -8)\">\u003Crect>\u003C\u002Frect>\u003Cg>\u003Crect class=\"background\" style=\"stroke: none\">\u003C\u002Frect>\u003Ctext y=\"-10.1\" style=\"\">\u003Ctspan class=\"text-outer-tspan row\" x=\"0\" y=\"-0.1em\" dy=\"1.1em\">\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\">AI\u003C\u002Ftspan>\u003Ctspan font-style=\"normal\" class=\"text-inner-tspan\" font-weight=\"normal\"> チーム内の反省会\u003C\u002Ftspan>\u003C\u002Ftspan>\u003C\u002Ftext>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cdefs>\u003Cfilter id=\"mermaid-a71624d-drop-shadow\" height=\"130%\" width=\"130%\">\u003Cfedropshadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\">\u003C\u002Ffedropshadow>\u003C\u002Ffilter>\u003C\u002Fdefs>\u003Cdefs>\u003Cfilter id=\"mermaid-a71624d-drop-shadow-small\" height=\"150%\" width=\"150%\">\u003Cfedropshadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\">\u003C\u002Ffedropshadow>\u003C\u002Ffilter>\u003C\u002Fdefs>\u003ClinearGradient id=\"mermaid-a71624d-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\u003Cstop offset=\"0%\" stop-color=\"#334466\" stop-opacity=\"1\">\u003C\u002Fstop>\u003Cstop offset=\"100%\" stop-color=\"hsl(105, 0%, 81.7647058824%)\" stop-opacity=\"1\">\u003C\u002Fstop>\u003C\u002FlinearGradient>\u003C\u002Fsvg>\u003C\u002Fdiv>\n\u003Cp>という形で、\u003Cstrong>「誰が何を判断し、どこまで確認された状態なのか」をファイルと Workflow の状態から追跡できる\u003C\u002Fstrong>ようにしています。\u003C\u002Fp>\n\u003Cp>図の中にある AI レビューで引っかかった場合は、その時点で流れが止まって人間への質問が残されるので、勝手に先へ進むことはありません。\u003C\u002Fp>\n\u003Cp>Agent を再起動したり、別の Agent に作業を引き継いだりしても、作業場である \u003Ccode>.ai\u002F\u003C\u002Fcode> に残された状態と成果物から Workflow を再開できるようになっています。\u003C\u002Fp>\n\u003Cp>つまり、Skill を単純な「AI への指示書」ではなく、\u003Cstrong>AI エージェントチームが従う開発プロセスそのものとして定義\u003C\u002Fstrong>しています。\u003C\u002Fp>\n\u003Cp>Design から Implement までを終えたときのタスク管理ディレクトリ配下はこんな感じ。\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-text\">.ai\u002F&lt;タスク名&gt;\n├── design\n│   ├── design.md          # Design における成果物\n│   ├── questions.md       # 人間への質問が書かれている\n│   ├── requirements.md\n│   ├── research\n│   │   └── &lt;調査内容&gt;.md\n│   ├── review.md\n│   └── state.md           # Design Workflow の状態管理\n├── implement\n│   ├── plan.md            # Implement の作業計画\n│   ├── research\n│   │   ├── &lt;調査内容&gt;.md\n│   │   └── &lt;取得データ&gt;.json など\n│   ├── retrospective.md   # 作業完了後の反省会結果\n│   ├── review.md\n│   ├── state.md           # Implement Workflow の状態管理\n│   └── verification.md\n├── reports\n│   ├── &lt;担当エージェント&gt;-&lt;報告内容&gt;.md\n│   └── scope-XXX-&lt;対象領域&gt;.md\n└── team\n    ├── agents.yaml        # チームメンバー\n    └── tasks\n        ├── &lt;タスク内容&gt;.md\n        └── scope-XXX-&lt;対象領域&gt;.md\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>無駄な知識を持たせないためにも、参照すべきファイルはなるべく小さく作るようにお願いしています。\u003C\u002Fp>\n\u003Cp>結果として、やってほしいことに対して正確な計画・設計・実装をやってくれてはいるのですが……\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Ffile.nononotyaya.net\u002Fpost\u002Fai-team-with-opencode\u002Fworking-opencode.png\" alt=\"OpenCode の作業画面\">\u003C\u002Fp>\n\u003Ch4 id=\"めちゃくちゃピンチ\">めちゃくちゃピンチ\u003C\u002Fh4>\u003Cp>こちらは現在の OpenCode Go のコンソール。月間利用量を見ていただきたい……。\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Ffile.nononotyaya.net\u002Fpost\u002Fai-team-with-opencode\u002Fopencode-go-console.png\" alt=\"OpenCode Go コンソールの月間利用量\">\u003C\u002Fp>\n\u003Cp>残り25日もあるのに利用量が35％もいっちゃってます！\u003C\u002Fp>\n\u003Cp>月間利用量は30日ごとにリセットされるとして、5日しか経ってないのに35％て！\u003C\u002Fp>\n\u003Cp>このペースだと30日で上限の2倍以上になるくらい消費しちゃってるので、あと10日ほどしたら月間利用量が底をついてしまいます！\u003C\u002Fp>\n\u003Cp>ということで、コンソールからはどのモデルがどれぐらい入出力のコストをかけたかが確認できるので、それをベースに偏りのあるモデルの入れ替えを検討しています。\u003C\u002Fp>\n\u003Cp>現時点ではリーダーとなっている GLM-5.2 が利用量のほとんどを占めていたので、 Hy3 に交代してもらおうかなと思っています。\u003C\u002Fp>\n\u003Cp>リーダーだからそんなに使わないと思っていたので油断していました。ぐぬぬ。\u003C\u002Fp>\n\u003Cp>また、 OpenCode で利用できるモデルは結構な頻度で入れ替わるので、定期的にモデルの見直しは必要そうです。ここも自動化したいなあ。\u003C\u002Fp>\n\u003Ch4 id=\"必要な知識のお手入れも-ai-のお仕事なので\">必要な知識のお手入れも AI のお仕事なので\u003C\u002Fh4>\u003Cp>さきほどのように、利用できるモデルは結構な頻度で入れ替わります。だからこそ、誰が読んでも状況を掴める知識の土台があると助かります。\u003C\u002Fp>\n\u003Cp>例えば、 Google が公開した \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fknowledge-catalog\u002Fblob\u002Fmain\u002Fokf\u002FSPEC.md\">Open Knowledge Format\u003C\u002Fa> という形式に則ったドキュメント群を用意しています。\u003C\u002Fp>\n\u003Cp>これを整備することで、リポジトリ内の全てのコードを確認することなく、概要や構成を把握し、知識を素早くキャッチアップできるようになります。\u003C\u002Fp>\n\u003Cp>ちなみに、人間にも AI にも読みやすいドキュメントの構造を目指して考えられてるようです。\u003C\u002Fp>\n\u003Cp>リポジトリ内のコードは現在を表しますが、変更差分を全確認して、なぜそうなっているのかなどを把握するのは困難です。\u003C\u002Fp>\n\u003Cp>そこで、先述のドキュメント群に、\u003Cstrong>なぜそうしたのか\u003C\u002Fstrong>の記録を残しつつ、\u003Cstrong>古すぎて不要そうな情報を消す\u003C\u002Fstrong>、なんてこともやっています。\u003C\u002Fp>\n\u003Cp>これは主に AI チームの Docs writer と Docs reviewer の仕事ですね。ドキュメントは腐りやすいものなので、ここも AI 任せにしちゃっています。ラクで楽しい。\u003C\u002Fp>\n\u003Cp>さらに、ナレッジベースだけじゃなく skill 自体にも手を入れています。\u003C\u002Fp>\n\u003Cp>例えば、コードの命名に迷ったときのための規約や、日本語のドキュメントの書き方の指針、説明的な文章に緩急をつけるためのガイドなどを skill として用意していて、チーム全員の行動規範になっています。\u003C\u002Fp>\n\u003Cp>メンバーごとのばらつきが減って、アウトプットの品質が安定するのが嬉しいところです。\u003C\u002Fp>\n\u003Ch4 id=\"まとめ\">まとめ\u003C\u002Fh4>\u003Cp>OpenCode と devcontainer を利用して、AI が好きに動ける環境を用意したら楽しいよというお話でした。\u003C\u002Fp>\n\u003Cp>OpenCode はありがたいことに無料枠も用意されていて、使っている限りでは24時間ごとに利用量がリセットされていそうなので、それだけでも多少は遊べると思います。\u003C\u002Fp>\n\u003Cp>（AI チームを用意するような使い方だったら結構すぐに無料枠を使い切っちゃうと思いますが……）\u003C\u002Fp>\n\u003Cp>とりあえず試してみたいなというそこのあなた！\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fopencode.ai\u002Fgo?ref=53SK2DNTSS\">こちらのリンク\u003C\u002Fa>から OpenCode Go の契約をすると、5ドル分の利用クレジットが得られます。僕にも5ドル入ってきます。そうなったらとても嬉しいので、是非とも試してみてほしいです。\u003C\u002Fp>\n\u003Cp>それでは、今日はこのへんで。\u003C\u002Fp>\n",1788692748095]