{
  "id": "uTwaDov2nwyztAs2",
  "name": "Multi-agent energy optimization and adaptive decision orchestration",
  "tags": [],
  "nodes": [
    {
      "id": "fde3e85f-e458-445b-bdea-3303c5a06eb4",
      "name": "Initialize System",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        240,
        288
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "164e3d05-f8c4-463a-8381-d0e49c12b978",
      "name": "Perception Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        464,
        288
      ],
      "parameters": {
        "text": "=Analyze sensor data from the physical environment. Current state: {{ $json.systemState }}. Temperature: {{ $json.temperature }}K. Process sensor inputs and detect anomalies.",
        "options": {
          "systemMessage": "You are a Perception Agent in a thermodynamically-constrained autonomous system. Your role is to process raw sensor data, identify environmental patterns, and detect anomalies. Always output structured sensor readings with confidence scores."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "cdf25d86-0553-4160-8df6-e9ece142f287",
      "name": "GPT Model - Perception",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        480,
        512
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini"
        },
        "options": {
          "temperature": 0.3
        },
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "1b85aa99-5f47-413a-a403-3c4c661d852f",
      "name": "Perception Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        608,
        512
      ],
      "parameters": {
        "jsonSchemaExample": "{ \"sensorData\": { \"temperature\": 298.15, \"pressure\": 101.325, \"humidity\": 0.45 }, \"anomalies\": [], \"confidence\": 0.95 }"
      },
      "typeVersion": 1.3
    },
    {
      "id": "b0efce97-bf00-4d26-8a3b-fd564e39e6c2",
      "name": "Energy Optimization Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        944,
        288
      ],
      "parameters": {
        "text": "=Optimize energy consumption based on current budget: {{ $(\"Initialize System\").item.json.energyBudget }} units. Sensor data: {{ $(\"Perception Agent\").item.json.output }}. Calculate optimal energy allocation.",
        "options": {
          "systemMessage": "You are an Energy Optimization Agent. Your purpose is to minimize energy consumption while maintaining system performance. Use the Energy Analysis Tool to calculate efficiency metrics. Always respect thermodynamic constraints and the second law of thermodynamics."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "e9490243-f2d5-46ff-9657-8833aa772c4a",
      "name": "GPT Model - Energy",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        816,
        512
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini"
        },
        "options": {
          "temperature": 0.2
        },
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "134a8656-c806-4094-a2bc-d5df3e7c2673",
      "name": "Thermodynamic Calculator",
      "type": "@n8n/n8n-nodes-langchain.toolCalculator",
      "position": [
        944,
        512
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6c223630-ebd2-479d-a75a-a07bd1c0a1fe",
      "name": "Energy Analysis Tool",
      "type": "@n8n/n8n-nodes-langchain.toolCode",
      "position": [
        1072,
        512
      ],
      "parameters": {
        "jsCode": "const energyData = JSON.parse(query);\nconst efficiency = (energyData.output / energyData.input) * 100;\nconst entropy = Math.log(energyData.states || 1);\nreturn JSON.stringify({ efficiency: efficiency.toFixed(2), entropy: entropy.toFixed(4), recommendation: efficiency > 70 ? \"optimal\" : \"needs optimization\" });",
        "description": "Analyzes energy consumption and calculates thermodynamic efficiency metrics"
      },
      "typeVersion": 1.3
    },
    {
      "id": "57ea70e6-3721-47bf-b893-cc5f70f5df0f",
      "name": "Energy Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1200,
        512
      ],
      "parameters": {
        "jsonSchemaExample": "{ \"currentConsumption\": 450, \"optimizedConsumption\": 320, \"savingsPercent\": 28.9, \"actions\": [\"reduce_sensor_polling\", \"optimize_computation\"] }"
      },
      "typeVersion": 1.3
    },
    {
      "id": "97f7325f-c9a5-4748-b18d-8c096227bc33",
      "name": "Planning Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1408,
        288
      ],
      "parameters": {
        "text": "=Create execution plan for tasks: {{ $(\"Initialize System\").item.json.taskQueue }}. Energy budget: {{ $(\"Energy Optimization Agent\").item.json.output.optimizedConsumption }}. Sensor state: {{ $(\"Perception Agent\").item.json.output.sensorData }}.",
        "options": {
          "systemMessage": "You are a Planning Agent responsible for task sequencing and resource allocation. Generate optimal execution plans that minimize energy expenditure while maximizing task completion. Use the Thermodynamic Calculator for energy estimations."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "7789a0c1-cb13-423e-bdb8-444d7758b9b7",
      "name": "GPT Model - Planning",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1424,
        512
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini"
        },
        "options": {
          "temperature": 0.5
        },
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "becc7762-d871-4d13-88c7-8c12e69bb800",
      "name": "Planning Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1552,
        512
      ],
      "parameters": {
        "jsonSchemaExample": "{ \"taskSequence\": [\"task1\", \"task2\"], \"priority\": \"high\", \"estimatedEnergy\": 250, \"executionTime\": 5.2 }"
      },
      "typeVersion": 1.3
    },
    {
      "id": "a71da3b4-4f6c-4829-b50f-a5acdf7b896a",
      "name": "Execution Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1760,
        288
      ],
      "parameters": {
        "text": "=Execute plan: {{ $(\"Planning Agent\").item.json.output.taskSequence }}. Environment data: {{ $(\"Fetch Environment Data\").item.json }}. Energy limit: {{ $(\"Planning Agent\").item.json.output.estimatedEnergy }}.",
        "options": {
          "systemMessage": "You are an Execution Agent that carries out planned tasks in the physical environment. Monitor energy consumption in real-time and adapt execution strategies to stay within thermodynamic constraints. Report actual energy usage and task outcomes."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "f35dfd0c-b0bb-4a69-9717-a8440e54f708",
      "name": "Claude Model - Execution",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        1776,
        512
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-6"
        },
        "options": {
          "temperature": 0.4
        }
      },
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.5
    },
    {
      "id": "c0ba4251-85f1-4827-b75e-c688116ea000",
      "name": "Execution Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1904,
        512
      ],
      "parameters": {
        "jsonSchemaExample": "{ \"status\": \"completed\", \"actualEnergy\": 245, \"duration\": 5.1, \"outputs\": {} }"
      },
      "typeVersion": 1.3
    },
    {
      "id": "35d9c6a9-5e2a-4429-98ef-58f424522ae5",
      "name": "Validation Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2112,
        288
      ],
      "parameters": {
        "text": "=Validate execution results: {{ $(\"Execution Agent\").item.json.output }}. Check thermodynamic compliance. Planned energy: {{ $(\"Planning Agent\").item.json.output.estimatedEnergy }}, Actual: {{ $(\"Execution Agent\").item.json.output.actualEnergy }}.",
        "options": {
          "systemMessage": "You are a Validation Agent ensuring all system operations comply with thermodynamic laws and energy constraints. Verify that entropy never decreases in isolated processes, energy conservation is maintained, and efficiency metrics are accurate. Provide recommendations for improvement."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "90095efe-822f-4a57-b405-2b2f1ad44a56",
      "name": "Claude Model - Validation",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        2128,
        512
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-6"
        },
        "options": {
          "temperature": 0.1
        }
      },
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.5
    },
    {
      "id": "11dcadc1-3ffc-4def-aafd-674745c77f2a",
      "name": "Validation Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2256,
        512
      ],
      "parameters": {
        "jsonSchemaExample": "{ \"isValid\": true, \"thermodynamicCompliance\": true, \"energyEfficiency\": 0.89, \"recommendations\": [] }"
      },
      "typeVersion": 1.3
    },
    {
      "id": "ac5116b0-e81b-4534-a994-e6070c20de3a",
      "name": "Route by Validation",
      "type": "n8n-nodes-base.switch",
      "position": [
        2464,
        288
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "version": 1,
                  "leftValue": "",
                  "caseSensitive": false,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "boolean",
                      "operation": "true"
                    },
                    "leftValue": "={{ $json.output.isValid }}"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 1,
                  "leftValue": "",
                  "caseSensitive": false,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "boolean",
                      "operation": "false"
                    },
                    "leftValue": "={{ $json.output.isValid }}"
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.4
    },
    {
      "id": "b9d16caa-02f2-4019-ad81-f81dafab3a73",
      "name": "Generate System Report",
      "type": "n8n-nodes-base.set",
      "position": [
        3040,
        160
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1",
              "name": "reportType",
              "type": "string",
              "value": "Thermodynamic System Validation"
            },
            {
              "id": "2",
              "name": "timestamp",
              "type": "string",
              "value": "={{ $now.toISO() }}"
            },
            {
              "id": "3",
              "name": "perceptionData",
              "type": "object",
              "value": "={{ $(\"Perception Agent\").item.json.output }}"
            },
            {
              "id": "4",
              "name": "energyOptimization",
              "type": "object",
              "value": "={{ $(\"Energy Optimization Agent\").item.json.output }}"
            },
            {
              "id": "5",
              "name": "executionResults",
              "type": "object",
              "value": "={{ $(\"Execution Agent\").item.json.output }}"
            },
            {
              "id": "6",
              "name": "validationStatus",
              "type": "object",
              "value": "={{ $(\"Validation Agent\").item.json.output }}"
            },
            {
              "id": "7",
              "name": "overallEfficiency",
              "type": "number",
              "value": "={{ $(\"Validation Agent\").item.json.output.energyEfficiency }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "8444220b-7013-44d3-b916-fc6ee5d00f27",
      "name": "Merge Final Results",
      "type": "n8n-nodes-base.merge",
      "position": [
        3264,
        288
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "89045a2e-8580-4b07-9c46-1df4078d978e",
      "name": "Recalibration Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2688,
        416
      ],
      "parameters": {
        "text": "=System validation failed. Validation data: {{ $(\"Validation Agent\").item.json.output }}. Analyze failures and generate recalibration parameters.",
        "options": {
          "systemMessage": "You are a Recalibration Agent activated when system validation fails. Diagnose thermodynamic constraint violations, identify root causes, and generate corrective parameters. Your goal is to restore system compliance with physical laws."
        },
        "promptType": "define"
      },
      "typeVersion": 3.1
    },
    {
      "id": "894181ba-dca6-4ae3-8f8e-b6dbe6210153",
      "name": "Send Alert",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3040,
        416
      ],
      "parameters": {
        "url": "<__PLACEHOLDER_VALUE__Alert webhook URL (e.g., https://api.example.com/alerts)__>",
        "method": "POST",
        "options": {},
        "jsonBody": "={{ { \"alert\": \"System validation failed\", \"recalibration\": $(\"Recalibration Agent\").item.json.output, \"timestamp\": $now.toISO() } }}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.4
    },
    {
      "id": "31455d5e-3a67-449b-98f6-b4545cacb8c1",
      "name": "Final System State",
      "type": "n8n-nodes-base.set",
      "position": [
        3488,
        288
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1",
              "name": "systemStatus",
              "type": "string",
              "value": "={{ $json.reportType ? \"operational\" : \"recalibrating\" }}"
            },
            {
              "id": "2",
              "name": "completionTime",
              "type": "string",
              "value": "={{ $now.toISO() }}"
            },
            {
              "id": "3",
              "name": "data",
              "type": "object",
              "value": "={{ $json }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "4f10a103-43fb-40b1-b0fa-c063c43084d5",
      "name": "Sticky Note f78e402e",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1744,
        -560
      ],
      "parameters": {
        "color": 2,
        "width": 628,
        "height": 520,
        "content": "## Prerequisites\nn8n instance, AI model API credentials, external data source access, notification service integration, and predefined validation rules.\n\n## Use Cases\nEnergy optimization, autonomous operations, adaptive control systems, decision support, and multi-agent orchestration in dynamic environments.\n\n## Customization\nReplace AI models, modify optimization goals, add new agents, integrate additional data sources, or customize reporting mechanisms.\n\n## Benefits\nEnhances automation, improves decision quality, increases adaptability, optimizes resource usage, and reduces manual intervention.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "fc3d718d-481b-4876-836f-46972fe057a6",
      "name": "Sticky Note 8c7f6738",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        192,
        -352
      ],
      "parameters": {
        "width": 900,
        "height": 344,
        "content": "## How It Works\n\nThis workflow provides an agentic framework for autonomous decision-making and optimization in dynamic operational environments. It is designed for researchers, engineers, and operations teams seeking to coordinate multiple AI agents for perception, planning, execution, validation, and recalibration tasks. The workflow begins by collecting system inputs and environmental data to establish situational awareness. A perception agent interprets incoming information, while an energy optimization agent evaluates efficiency considerations. A planning agent formulates candidate actions using contextual data and external environmental inputs. Execution and validation agents assess whether proposed actions satisfy predefined constraints and objectives. If deviations or failures occur, a recalibration agent refines the strategy before final outputs are generated. System reports and alerts provide stakeholders with actionable insights, ensuring transparent, adaptive, and reliable decision-making through continuous feedback and validation loops."
      },
      "typeVersion": 1
    },
    {
      "id": "aabc5d10-2df5-4be9-8c32-83fd56d78ec3",
      "name": "Sticky Note ba06ad74",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1168,
        -304
      ],
      "parameters": {
        "width": 464,
        "height": 252,
        "content": "## Setup Steps\n1. Configure OpenAI or Claude credentials for all AI agents.\n2. Connect environmental and operational data sources.\n3. Define optimization objectives and validation criteria.\n4. Configure reporting and notification channels.\n5. Execute test runs to verify end-to-end performance."
      },
      "typeVersion": 1
    },
    {
      "id": "1141fd43-bb92-4e2f-a952-b87cc2ca0136",
      "name": "Claude Model - Execution1",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        2768,
        640
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-6"
        },
        "options": {
          "temperature": 0.4
        }
      },
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.5
    },
    {
      "id": "01791c93-6e8a-4c81-87a5-328db3ea6b9f",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1712,
        64
      ],
      "parameters": {
        "color": 7,
        "width": 688,
        "height": 736,
        "content": "## Execution & Validation\n**What:** Execute and verify proposed actions.\n**Why:** Ensure outputs satisfy constraints and objectives."
      },
      "typeVersion": 1
    },
    {
      "id": "83ef7277-be73-479b-b3f0-474bb9b34372",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1344,
        64
      ],
      "parameters": {
        "color": 7,
        "width": 352,
        "height": 800,
        "content": "\n## Planning\n**What:** Generate actions using contextual data.\n**Why:** Identify optimal strategies under changing conditions."
      },
      "typeVersion": 1
    },
    {
      "id": "48320a85-908d-4fcf-b71e-ba4d4f36016f",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        96
      ],
      "parameters": {
        "color": 7,
        "width": 528,
        "height": 672,
        "content": "## Energy Optimization\n**What:** Evaluate efficiency and resource utilization.\n**Why:** Improve operational performance and sustainability.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "2408fb62-642e-47b6-bda2-5fc6c238fa29",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        80
      ],
      "parameters": {
        "color": 7,
        "width": 576,
        "height": 688,
        "content": "\n## Perception\n**What:** Interpret system and environmental inputs.\n**Why:** Establish situational awareness for informed decisions."
      },
      "typeVersion": 1
    },
    {
      "id": "2846a7ee-0047-441c-af3d-5de986836dc1",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2448,
        16
      ],
      "parameters": {
        "color": 7,
        "width": 1328,
        "height": 816,
        "content": "## Recalibration & Reporting\n**What:** Refine strategies and generate alerts/reports.\n**Why:** Support adaptability and stakeholder awareness."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "binaryMode": "separate",
    "executionOrder": "v1"
  },
  "versionId": "c2b6b564-641e-4a20-9561-aa114692abb6",
  "nodeGroups": [],
  "connections": {
    "Send Alert": {
      "main": [
        [
          {
            "node": "Merge Final Results",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Planning Agent": {
      "main": [
        [
          {
            "node": "Execution Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Execution Agent": {
      "main": [
        [
          {
            "node": "Validation Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Perception Agent": {
      "main": [
        [
          {
            "node": "Energy Optimization Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validation Agent": {
      "main": [
        [
          {
            "node": "Route by Validation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Initialize System": {
      "main": [
        [
          {
            "node": "Perception Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GPT Model - Energy": {
      "ai_languageModel": [
        [
          {
            "node": "Energy Optimization Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Merge Final Results": {
      "main": [
        [
          {
            "node": "Final System State",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Recalibration Agent": {
      "main": [
        [
          {
            "node": "Send Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route by Validation": {
      "main": [
        [
          {
            "node": "Generate System Report",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Recalibration Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Energy Analysis Tool": {
      "ai_tool": [
        [
          {
            "node": "Energy Optimization Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Execution Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Recalibration Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Energy Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Energy Optimization Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "GPT Model - Planning": {
      "ai_languageModel": [
        [
          {
            "node": "Planning Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "GPT Model - Perception": {
      "ai_languageModel": [
        [
          {
            "node": "Perception Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Generate System Report": {
      "main": [
        [
          {
            "node": "Merge Final Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Planning Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Planning Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Execution Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Execution Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Claude Model - Execution": {
      "ai_languageModel": [
        [
          {
            "node": "Execution Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Perception Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Perception Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Thermodynamic Calculator": {
      "ai_tool": [
        [
          {
            "node": "Energy Optimization Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Planning Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Execution Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Validation Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Recalibration Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Validation Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Validation Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Claude Model - Execution1": {
      "ai_languageModel": [
        [
          {
            "node": "Recalibration Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Claude Model - Validation": {
      "ai_languageModel": [
        [
          {
            "node": "Validation Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Energy Optimization Agent": {
      "main": [
        [
          {
            "node": "Planning Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}