{
  "type": "excalidraw",
  "version": 2,
  "source": "hermes-agent",
  "elements": [
    {
      "type": "text",
      "id": "t_title",
      "x": 430,
      "y": 78,
      "width": 600,
      "height": 36,
      "text": "AIハーネス：エージェントを「入り口」で一元制御",
      "fontSize": 28,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "AIハーネス：エージェントを「入り口」で一元制御",
      "autoResize": true
    },
    {
      "type": "rectangle",
      "id": "r_agents",
      "x": 80,
      "y": 300,
      "width": 320,
      "height": 200,
      "backgroundColor": "#a5d8ff",
      "fillStyle": "solid",
      "roundness": {
        "type": 3
      }
    },
    {
      "type": "text",
      "id": "t_agents_title",
      "x": 139,
      "y": 322,
      "width": 210,
      "height": 25,
      "text": "社内のAIエージェント",
      "fontSize": 20,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "社内のAIエージェント",
      "autoResize": true
    },
    {
      "type": "text",
      "id": "t_agents_bullets",
      "x": 110,
      "y": 366,
      "width": 265,
      "height": 90,
      "text": "・チャットAI（Claude / Gemini 等）\n・コーディングエージェント\n・クラウド上の自作エージェント\n・社員ごとにバラバラに利用",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "・チャットAI（Claude / Gemini 等）\n・コーディングエージェント\n・クラウド上の自作エージェント\n・社員ごとにバラバラに利用",
      "autoResize": true
    },
    {
      "type": "rectangle",
      "id": "r_harness",
      "x": 560,
      "y": 240,
      "width": 380,
      "height": 280,
      "backgroundColor": "#d0bfff",
      "fillStyle": "solid",
      "roundness": {
        "type": 3
      }
    },
    {
      "type": "text",
      "id": "t_harness_title",
      "x": 610,
      "y": 266,
      "width": 290,
      "height": 25,
      "text": "AIハーネス（ゲートウェイ）",
      "fontSize": 20,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "AIハーネス（ゲートウェイ）",
      "autoResize": true
    },
    {
      "type": "text",
      "id": "t_harness_bullets",
      "x": 590,
      "y": 324,
      "width": 320,
      "height": 90,
      "text": "・認証・権限制御（誰が）\n・ポリシーチェック（何を）\n・MCP許可リスト\n・全ログ記録（何をしたか）",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "・認証・権限制御（誰が）\n・ポリシーチェック（何を）\n・MCP許可リスト\n・全ログ記録（何をしたか）",
      "autoResize": true
    },
    {
      "type": "text",
      "id": "t_harness_tag",
      "x": 669,
      "y": 452,
      "width": 170,
      "height": 24,
      "text": "全通信がここを経由",
      "fontSize": 18,
      "fontFamily": 1,
      "strokeColor": "#3b3b3b",
      "originalText": "全通信がここを経由",
      "autoResize": true
    },
    {
      "type": "arrow",
      "id": "a1",
      "x": 400,
      "y": 400,
      "width": 160,
      "height": 20,
      "points": [
        [
          0,
          0
        ],
        [
          160,
          -20
        ]
      ],
      "endArrowhead": "arrow",
      "startBinding": {
        "elementId": "r_agents",
        "fixedPoint": [
          1,
          0.5
        ]
      },
      "endBinding": {
        "elementId": "r_harness",
        "fixedPoint": [
          0,
          0.5
        ]
      },
      "boundElements": [
        {
          "id": "ta1",
          "type": "text"
        }
      ]
    },
    {
      "type": "text",
      "id": "ta1",
      "x": 410,
      "y": 376,
      "width": 150,
      "height": 20,
      "text": "全エージェント通信",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "textAlign": "center",
      "verticalAlign": "middle",
      "containerId": "a1",
      "originalText": "全エージェント通信",
      "autoResize": true
    },
    {
      "type": "rectangle",
      "id": "r_local",
      "x": 1100,
      "y": 200,
      "width": 300,
      "height": 130,
      "backgroundColor": "#b2f2bb",
      "fillStyle": "solid",
      "roundness": {
        "type": 3
      }
    },
    {
      "type": "text",
      "id": "t_local_title",
      "x": 1147,
      "y": 236,
      "width": 210,
      "height": 25,
      "text": "ローカルLLM（GLM 等）",
      "fontSize": 20,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "ローカルLLM（GLM 等）",
      "autoResize": true
    },
    {
      "type": "text",
      "id": "t_local_bullet",
      "x": 1120,
      "y": 288,
      "width": 160,
      "height": 20,
      "text": "・トークン課金ゼロ",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "・トークン課金ゼロ",
      "autoResize": true
    },
    {
      "type": "arrow",
      "id": "a2",
      "x": 940,
      "y": 296,
      "width": 160,
      "height": 31,
      "points": [
        [
          0,
          0
        ],
        [
          160,
          -31
        ]
      ],
      "endArrowhead": "arrow",
      "startBinding": {
        "elementId": "r_harness",
        "fixedPoint": [
          1,
          0.2
        ]
      },
      "endBinding": {
        "elementId": "r_local",
        "fixedPoint": [
          0,
          0.5
        ]
      }
    },
    {
      "type": "rectangle",
      "id": "r_cloud",
      "x": 1100,
      "y": 380,
      "width": 300,
      "height": 130,
      "backgroundColor": "#ffd8a8",
      "fillStyle": "solid",
      "roundness": {
        "type": 3
      }
    },
    {
      "type": "text",
      "id": "t_cloud_title",
      "x": 1143,
      "y": 416,
      "width": 220,
      "height": 25,
      "text": "クラウドLLM（許可制）",
      "fontSize": 20,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "クラウドLLM（許可制）",
      "autoResize": true
    },
    {
      "type": "text",
      "id": "t_cloud_bullet",
      "x": 1120,
      "y": 468,
      "width": 185,
      "height": 20,
      "text": "・許可されたモデルのみ",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "・許可されたモデルのみ",
      "autoResize": true
    },
    {
      "type": "arrow",
      "id": "a3",
      "x": 940,
      "y": 394,
      "width": 160,
      "height": 51,
      "points": [
        [
          0,
          0
        ],
        [
          160,
          51
        ]
      ],
      "endArrowhead": "arrow",
      "strokeStyle": "dashed",
      "startBinding": {
        "elementId": "r_harness",
        "fixedPoint": [
          1,
          0.55
        ]
      },
      "endBinding": {
        "elementId": "r_cloud",
        "fixedPoint": [
          0,
          0.5
        ]
      },
      "boundElements": [
        {
          "id": "ta3",
          "type": "text"
        }
      ]
    },
    {
      "type": "text",
      "id": "ta3",
      "x": 956,
      "y": 428,
      "width": 130,
      "height": 20,
      "text": "許可時のみ",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "textAlign": "center",
      "verticalAlign": "middle",
      "containerId": "a3",
      "originalText": "許可時のみ",
      "autoResize": true
    },
    {
      "type": "rectangle",
      "id": "r_data",
      "x": 1100,
      "y": 560,
      "width": 300,
      "height": 130,
      "backgroundColor": "#c3fae8",
      "fillStyle": "solid",
      "roundness": {
        "type": 3
      }
    },
    {
      "type": "text",
      "id": "t_data_title",
      "x": 1200,
      "y": 596,
      "width": 105,
      "height": 25,
      "text": "社内データ",
      "fontSize": 20,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "社内データ",
      "autoResize": true
    },
    {
      "type": "text",
      "id": "t_data_bullet",
      "x": 1120,
      "y": 648,
      "width": 215,
      "height": 20,
      "text": "・権限ベースでアクセス",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "・権限ベースでアクセス",
      "autoResize": true
    },
    {
      "type": "arrow",
      "id": "a4",
      "x": 940,
      "y": 492,
      "width": 160,
      "height": 133,
      "points": [
        [
          0,
          0
        ],
        [
          160,
          133
        ]
      ],
      "endArrowhead": "arrow",
      "startBinding": {
        "elementId": "r_harness",
        "fixedPoint": [
          1,
          0.9
        ]
      },
      "endBinding": {
        "elementId": "r_data",
        "fixedPoint": [
          0,
          0.5
        ]
      },
      "boundElements": [
        {
          "id": "ta4",
          "type": "text"
        }
      ]
    },
    {
      "type": "text",
      "id": "ta4",
      "x": 956,
      "y": 545,
      "width": 130,
      "height": 20,
      "text": "権限ベース",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "textAlign": "center",
      "verticalAlign": "middle",
      "containerId": "a4",
      "originalText": "権限ベース",
      "autoResize": true
    },
    {
      "type": "rectangle",
      "id": "r_note",
      "x": 80,
      "y": 140,
      "width": 420,
      "height": 110,
      "backgroundColor": "#fff3bf",
      "fillStyle": "solid",
      "roundness": {
        "type": 3
      }
    },
    {
      "type": "text",
      "id": "t_note1",
      "x": 234,
      "y": 158,
      "width": 115,
      "height": 20,
      "text": "キーメッセージ",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#757575",
      "originalText": "キーメッセージ",
      "autoResize": true
    },
    {
      "type": "text",
      "id": "t_note2",
      "x": 190,
      "y": 188,
      "width": 205,
      "height": 52,
      "text": "出口を塞ぐのではなく\n入り口で束ねる",
      "fontSize": 20,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "出口を塞ぐのではなく\n入り口で束ねる",
      "autoResize": true
    },
    {
      "type": "arrow",
      "id": "a_block",
      "x": 240,
      "y": 500,
      "width": 850,
      "height": 45,
      "points": [
        [
          0,
          0
        ],
        [
          0,
          45
        ],
        [
          850,
          45
        ]
      ],
      "endArrowhead": "arrow",
      "strokeColor": "#e03131",
      "strokeStyle": "dashed",
      "startBinding": {
        "elementId": "r_agents",
        "fixedPoint": [
          0.5,
          1
        ]
      },
      "boundElements": [
        {
          "id": "tab",
          "type": "text"
        }
      ]
    },
    {
      "type": "text",
      "id": "tab",
      "x": 400,
      "y": 522,
      "width": 290,
      "height": 20,
      "text": "× 直接接続は禁止（必ずハーネス経由）",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#e03131",
      "textAlign": "center",
      "verticalAlign": "middle",
      "containerId": "a_block",
      "originalText": "× 直接接続は禁止（必ずハーネス経由）",
      "autoResize": true
    },
    {
      "type": "text",
      "id": "t_title_en",
      "x": 360,
      "y": 828,
      "width": 600,
      "height": 36,
      "text": "AI Harness: unify agent control at the entry point",
      "fontSize": 28,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "AI Harness: unify agent control at the entry point",
      "autoResize": true
    },
    {
      "type": "rectangle",
      "id": "r_agents_en",
      "x": 80,
      "y": 1050,
      "width": 320,
      "height": 200,
      "backgroundColor": "#a5d8ff",
      "fillStyle": "solid",
      "roundness": {
        "type": 3
      }
    },
    {
      "type": "text",
      "id": "t_agents_title_en",
      "x": 139,
      "y": 1072,
      "width": 210,
      "height": 25,
      "text": "Internal AI Agents",
      "fontSize": 20,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "Internal AI Agents",
      "autoResize": true
    },
    {
      "type": "text",
      "id": "t_agents_bullets_en",
      "x": 110,
      "y": 1116,
      "width": 265,
      "height": 90,
      "text": "• Chat AI (Claude / Gemini etc.)\n• Coding agents\n• Custom cloud agents\n• Used separately by each employee",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "• Chat AI (Claude / Gemini etc.)\n• Coding agents\n• Custom cloud agents\n• Used separately by each employee",
      "autoResize": true
    },
    {
      "type": "rectangle",
      "id": "r_harness_en",
      "x": 560,
      "y": 990,
      "width": 380,
      "height": 280,
      "backgroundColor": "#d0bfff",
      "fillStyle": "solid",
      "roundness": {
        "type": 3
      }
    },
    {
      "type": "text",
      "id": "t_harness_title_en",
      "x": 610,
      "y": 1016,
      "width": 290,
      "height": 25,
      "text": "AI Harness (Gateway)",
      "fontSize": 20,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "AI Harness (Gateway)",
      "autoResize": true
    },
    {
      "type": "text",
      "id": "t_harness_bullets_en",
      "x": 590,
      "y": 1074,
      "width": 320,
      "height": 90,
      "text": "• Auth & permission control (who)\n• Policy checks (what)\n• MCP allowlist\n• Full audit log (what was done)",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "• Auth & permission control (who)\n• Policy checks (what)\n• MCP allowlist\n• Full audit log (what was done)",
      "autoResize": true
    },
    {
      "type": "text",
      "id": "t_harness_tag_en",
      "x": 630,
      "y": 1202,
      "width": 170,
      "height": 24,
      "text": "All traffic goes through here",
      "fontSize": 18,
      "fontFamily": 1,
      "strokeColor": "#3b3b3b",
      "originalText": "All traffic goes through here",
      "autoResize": true
    },
    {
      "type": "arrow",
      "id": "a1_en",
      "x": 400,
      "y": 1150,
      "width": 160,
      "height": 20,
      "points": [
        [
          0,
          0
        ],
        [
          160,
          -20
        ]
      ],
      "endArrowhead": "arrow",
      "startBinding": {
        "elementId": "r_agents_en",
        "fixedPoint": [
          1,
          0.5
        ]
      },
      "endBinding": {
        "elementId": "r_harness_en",
        "fixedPoint": [
          0,
          0.5
        ]
      },
      "boundElements": [
        {
          "id": "ta1_en",
          "type": "text"
        }
      ]
    },
    {
      "type": "text",
      "id": "ta1_en",
      "x": 410,
      "y": 1126,
      "width": 150,
      "height": 20,
      "text": "all agent traffic",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "textAlign": "center",
      "verticalAlign": "middle",
      "containerId": "a1_en",
      "originalText": "all agent traffic",
      "autoResize": true
    },
    {
      "type": "rectangle",
      "id": "r_local_en",
      "x": 1100,
      "y": 950,
      "width": 300,
      "height": 130,
      "backgroundColor": "#b2f2bb",
      "fillStyle": "solid",
      "roundness": {
        "type": 3
      }
    },
    {
      "type": "text",
      "id": "t_local_title_en",
      "x": 1147,
      "y": 986,
      "width": 210,
      "height": 25,
      "text": "Local LLM (GLM etc.)",
      "fontSize": 20,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "Local LLM (GLM etc.)",
      "autoResize": true
    },
    {
      "type": "text",
      "id": "t_local_bullet_en",
      "x": 1120,
      "y": 1038,
      "width": 160,
      "height": 20,
      "text": "• No token costs",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "• No token costs",
      "autoResize": true
    },
    {
      "type": "arrow",
      "id": "a2_en",
      "x": 940,
      "y": 1046,
      "width": 160,
      "height": 31,
      "points": [
        [
          0,
          0
        ],
        [
          160,
          -31
        ]
      ],
      "endArrowhead": "arrow",
      "startBinding": {
        "elementId": "r_harness_en",
        "fixedPoint": [
          1,
          0.2
        ]
      },
      "endBinding": {
        "elementId": "r_local_en",
        "fixedPoint": [
          0,
          0.5
        ]
      }
    },
    {
      "type": "rectangle",
      "id": "r_cloud_en",
      "x": 1100,
      "y": 1130,
      "width": 300,
      "height": 130,
      "backgroundColor": "#ffd8a8",
      "fillStyle": "solid",
      "roundness": {
        "type": 3
      }
    },
    {
      "type": "text",
      "id": "t_cloud_title_en",
      "x": 1143,
      "y": 1166,
      "width": 220,
      "height": 25,
      "text": "Cloud LLMs (allowlisted)",
      "fontSize": 20,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "Cloud LLMs (allowlisted)",
      "autoResize": true
    },
    {
      "type": "text",
      "id": "t_cloud_bullet_en",
      "x": 1120,
      "y": 1218,
      "width": 185,
      "height": 20,
      "text": "• Approved models only",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "• Approved models only",
      "autoResize": true
    },
    {
      "type": "arrow",
      "id": "a3_en",
      "x": 940,
      "y": 1144,
      "width": 160,
      "height": 51,
      "points": [
        [
          0,
          0
        ],
        [
          160,
          51
        ]
      ],
      "endArrowhead": "arrow",
      "strokeStyle": "dashed",
      "startBinding": {
        "elementId": "r_harness_en",
        "fixedPoint": [
          1,
          0.55
        ]
      },
      "endBinding": {
        "elementId": "r_cloud_en",
        "fixedPoint": [
          0,
          0.5
        ]
      },
      "boundElements": [
        {
          "id": "ta3_en",
          "type": "text"
        }
      ]
    },
    {
      "type": "text",
      "id": "ta3_en",
      "x": 956,
      "y": 1178,
      "width": 130,
      "height": 20,
      "text": "only when approved",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "textAlign": "center",
      "verticalAlign": "middle",
      "containerId": "a3_en",
      "originalText": "only when approved",
      "autoResize": true
    },
    {
      "type": "rectangle",
      "id": "r_data_en",
      "x": 1100,
      "y": 1310,
      "width": 300,
      "height": 130,
      "backgroundColor": "#c3fae8",
      "fillStyle": "solid",
      "roundness": {
        "type": 3
      }
    },
    {
      "type": "text",
      "id": "t_data_title_en",
      "x": 1200,
      "y": 1346,
      "width": 105,
      "height": 25,
      "text": "Internal data",
      "fontSize": 20,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "Internal data",
      "autoResize": true
    },
    {
      "type": "text",
      "id": "t_data_bullet_en",
      "x": 1120,
      "y": 1398,
      "width": 215,
      "height": 20,
      "text": "• Permission-based access",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "• Permission-based access",
      "autoResize": true
    },
    {
      "type": "arrow",
      "id": "a4_en",
      "x": 940,
      "y": 1242,
      "width": 160,
      "height": 133,
      "points": [
        [
          0,
          0
        ],
        [
          160,
          133
        ]
      ],
      "endArrowhead": "arrow",
      "startBinding": {
        "elementId": "r_harness_en",
        "fixedPoint": [
          1,
          0.9
        ]
      },
      "endBinding": {
        "elementId": "r_data_en",
        "fixedPoint": [
          0,
          0.5
        ]
      },
      "boundElements": [
        {
          "id": "ta4_en",
          "type": "text"
        }
      ]
    },
    {
      "type": "text",
      "id": "ta4_en",
      "x": 956,
      "y": 1295,
      "width": 130,
      "height": 20,
      "text": "permission-based",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "textAlign": "center",
      "verticalAlign": "middle",
      "containerId": "a4_en",
      "originalText": "permission-based",
      "autoResize": true
    },
    {
      "type": "rectangle",
      "id": "r_note_en",
      "x": 80,
      "y": 890,
      "width": 420,
      "height": 110,
      "backgroundColor": "#fff3bf",
      "fillStyle": "solid",
      "roundness": {
        "type": 3
      }
    },
    {
      "type": "text",
      "id": "t_note1_en",
      "x": 234,
      "y": 908,
      "width": 115,
      "height": 20,
      "text": "Key message",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#757575",
      "originalText": "Key message",
      "autoResize": true
    },
    {
      "type": "text",
      "id": "t_note2_en",
      "x": 150,
      "y": 938,
      "width": 205,
      "height": 52,
      "text": "Don't block the exits —\nfunnel the entry point",
      "fontSize": 20,
      "fontFamily": 1,
      "strokeColor": "#1e1e1e",
      "originalText": "Don't block the exits —\nfunnel the entry point",
      "autoResize": true
    },
    {
      "type": "arrow",
      "id": "a_block_en",
      "x": 240,
      "y": 1250,
      "width": 850,
      "height": 45,
      "points": [
        [
          0,
          0
        ],
        [
          0,
          45
        ],
        [
          850,
          45
        ]
      ],
      "endArrowhead": "arrow",
      "strokeColor": "#e03131",
      "strokeStyle": "dashed",
      "startBinding": {
        "elementId": "r_agents_en",
        "fixedPoint": [
          0.5,
          1
        ]
      },
      "boundElements": [
        {
          "id": "tab_en",
          "type": "text"
        }
      ]
    },
    {
      "type": "text",
      "id": "tab_en",
      "x": 400,
      "y": 1272,
      "width": 290,
      "height": 20,
      "text": "× Direct connections blocked (always via the harness)",
      "fontSize": 16,
      "fontFamily": 1,
      "strokeColor": "#e03131",
      "textAlign": "center",
      "verticalAlign": "middle",
      "containerId": "a_block_en",
      "originalText": "× Direct connections blocked (always via the harness)",
      "autoResize": true
    }
  ],
  "appState": {
    "viewBackgroundColor": "#ffffff"
  }
}