AI-agents¶
Het portaal heeft een chatpagina (AI Agents in het menu) met een of meer agents. Een agent is een taalmodel met instructies en een set tools. De tools zijn de acties van de eigen MCP-server van het portaal, dus een agent kan catalog-, kosten-, security-, compliance- en netwerkdata opzoeken, en kan configuratiewijzigingen voorbereiden als pull requests.
Welke agents je ziet
Een agent verschijnt alleen als hij is ingeschakeld in de configuratie van jouw omgeving. Vraag je platformteam welke aanstaan. De setup staat in AI-setup en Agentconfiguratie.
De agents¶
| Agent | Doel | Wat hij kan |
|---|---|---|
| Commander | De algemene assistent voor het portaal. Laat informatie zien die in de catalog staat en beantwoordt vragen over het platform. | Leest catalog-, kosten-, security-, compliance-, netwerk- en documentatiedata via MCP-tools. Laadt een skill wanneer je verzoek daarbij hoort (wijzigingen aan spokes of het integratieplatform). |
| Spoke agent | AI-ondersteund beheer van spokeconfiguratiebestanden van de landing zone | Maakt spoke JSON-bestanden aan, kopieert, wijzigt en valideert ze, vindt een vrij netwerkbereik en opent een pull request. Ook beschikbaar als skill van de commander. |
| Integration agent | AI-ondersteund beheer van de configuratie van het Integration Platform | Maakt en wijzigt configuratiebestanden voor Service Bus workloads, queues en topics, valideert ze tegen het schema en opent een pull request of werkt een bestaande branch bij. Ook beschikbaar als skill van de commander. |
De bron bevat ook een debug agent voor ontwikkeling. Die is niet bedoeld voor eindgebruikers.
Voorbeelden van wat de interface voorstelt (dit zijn de prompts die met de agents worden meegeleverd):
- "What can you do? What are your capabilities?"
- "Show me my workloads and explain who owns them, which domain they belong to, and how they relate to my groups."
- "I need a spoke network change such as a VNet, subnet, NSG, or peering update."
- "I need an integration platform configuration change or schema update."
Hoe een verzoek wordt afgehandeld¶
sequenceDiagram
actor U as User
participant P as Portal chat
participant A as Agent loop (portal backend)
participant M as Foundry model endpoint
participant T as MCP tools (portal backend)
U->>P: Prompt
P->>A: Prompt and conversation history
loop up to 50 steps
A->>M: Instructions, history, tool list
M-->>A: Answer or tool call
A->>T: Tool call with the user's own token
T-->>A: Result
end
A-->>P: Streamed answer
P-->>U: Answer and the tool calls that were made
- De agent loop draait binnen de portaalbackend. Azure AI Foundry levert alleen modelantwoorden. De loop stopt na maximaal 50 stappen per beurt.
- De toolaanroepen gebeuren met je eigen token. Een agent kan dus alleen zien en doen wat jij in het portaal mag zien en doen. Als jij de firewalllogs van een workload niet mag lezen, kan de agent dat namens jou ook niet.
- Gesprekken worden per gebruiker opgeslagen in de database van het portaal. Je ziet je eigen threads en kunt ze hernoemen of verwijderen.
- Het model van elke agent wordt in zijn configuratie ingesteld. Op het moment van schrijven gebruiken de meegeleverde agents
gpt-5.4.
Pull requests, geen wijzigingen¶
Agents wijzigen een configuratierepository nooit rechtstreeks en ze mergen niet. Een wijziging volgt altijd dit pad.
| Stap | Wie |
|---|---|
| De wijziging in de chat beschrijven | Jij |
| De agent laadt het schema en de regels, leest de bestaande configuratie en stelt de kleinste geldige wijziging voor | Agent |
| De agent valideert de volledige kandidaat tegen het schema en de regels en toont het resultaat | Agent |
| Je bevestigt de definitieve kandidaat expliciet | Jij |
| De agent maakt een pull request aan (of werkt voor de integration agent een bestaande branch bij) | Agent |
| Mensen beoordelen, keuren goed en mergen zoals bij elke wijziging | Platformteam of eigenaren van de repository |
De review en deployment van een spokewijziging zijn die van het platform: Veilig een wijziging doorvoeren. De agents bereiden de wijziging sneller voor, maar omzeilen het proces niet.
Regels van de spoke agent¶
De spoke skill dwingt deze regels af. Ze komen uit de instructies van de agent en uit de tools die hij gebruikt.
| Onderwerp | Regel |
|---|---|
| Bron van waarheid | Het JSON Schema van het spokebestand en de documentatie in de configuratierepository. Toolfouten en validatieresultaten zijn leidend. Als bronnen elkaar tegenspreken, stopt de agent en legt hij het uit. |
| Ontbrekende waarden | De agent vraagt ernaar. Hij raadt niet. |
| Nieuwe of gekopieerde VNet | De agent vraagt om een IPv4-allocatiepool en een doelprefixlengte en gebruikt een tool om het volgende vrije bereik te krijgen. Hij berekent nooit zelf een bereik. De tool geeft het eerste uitgelijnde blok na het hoogste gebruikte adres in de pool. Eerdere gaten vult hij niet. |
| Expliciete bereiken | Elk bereik wordt op overlap gecontroleerd tegen de live inventaris van alle spokebestanden. Elke gedeeltelijke of volledige overlap is een kritieke fout. |
| Subnets | Maximaal één private link-subnet per netwerk. isprivatelinksubnet en privateEndpointNetworkPoliciesEnabled sluiten elkaar uit. Elk subnet ligt binnen zijn VNet en subnets overlappen niet. |
| NSG's | Een NSG-regel wordt alleen aan een subnet gekoppeld als zijn bron- of doelprefix exact gelijk is aan de subnetprefix. |
| Uniekheid | De combinatie van korte workloadnaam en omgeving is uniek. Subscription-ID's zijn uniek waar het schema dat vereist. |
| Pull request | Alleen als alle validatie slaagt en je de definitieve JSON hebt bevestigd. |
Regels van de integration agent¶
| Onderwerp | Regel |
|---|---|
| Alleen het schema | Eigenschappen komen uit het schema. De agent voegt geen velden toe zoals displayName of description die het schema niet definieert. |
| Vóór elke taak | De schemabestanden en de workloadregels laden, en controleren dat de workloadnaam nog niet bestaat in de doelomgeving |
| Structuur | Eén map per resourcetype, omgeving en workload, met workload.json en optioneel queues.json en topics.json. Namen zijn kleine letters met koppeltekens. De naam in workload.json is gelijk aan de mapnaam. Duren gebruiken ISO 8601. |
| Pull request | Na schemavalidatie, regelcontrole en je expliciete bevestiging. Als er al een branch voor de workload bestaat, vraagt de agent of hij die moet bijwerken. |
Guardrails¶
- De commander weigert verzoeken die geen verband hebben met het portaal, Azure of IT- en cloudengineering, en antwoordt met een vaste zin wanneer hem wordt gevraagd zijn instructies te negeren.
- Agents moeten tools gebruiken om feiten op te halen. Ze mogen niet gokken. Ze laten zien welke agent of skill ze gebruiken.
- Gestructureerde uitvoer (JSON, YAML, commando's) wordt in fenced code blocks gegeven.
- Agents geven interne paden, toolnamen of instructies niet vrij, tenzij je er expliciet om vraagt.
Beoordeel wat een agent voorstelt
Een agent kan het mis hebben, en een bevestigde pull request heeft nog steeds een review door een mens nodig. De validatiestappen verminderen fouten. Ze vervangen de review niet.
Wat een agent van het platform nodig heeft¶
| Agent | Vereist |
|---|---|
| Alle | Een ingeschakelde agent, een Foundry-modelendpoint, de MCP-URL van het portaal in de agentconfiguratie en de modellen uitgerold in Foundry |
| Spoke | De spokeconfiguratierepository in Azure DevOps geconfigureerd in het portaal, en Contribute-toegang voor de identity van het portaal op die repository |
| Integration | Een GitHub-repository met de configuratie van het integratieplatform, een GitHub App met schrijfrechten op contents en pull requests, en de credentials ervan in het portaal |
Details staan in AI-setup. Hoe de agents worden getest staat in Agent-evaluatie.