<mxfile host="app.diagrams.net" modified="2026-10-25T00:00:00.000Z" agent="OpenAI Codex" version="24.7.17" type="device"><diagram id="azure-ai-agent-production-architecture" name="End-to-End Azure AI Agent Architecture"><mxGraphModel dx="1440" dy="920" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1440" pageHeight="920" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="s1" value="EXPERIENCE" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fffefa;fillOpacity=45;strokeColor=#222222;strokeWidth=2;dashed=1;dashPattern=8 6;fontColor=#676761;fontSize=14;fontStyle=1;verticalAlign=top;spacingTop=12;" vertex="1" parent="1"><mxGeometry x="42" y="185" width="250" height="500" as="geometry"/></mxCell><mxCell id="s2" value="AGENT AND KNOWLEDGE" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fffefa;fillOpacity=45;strokeColor=#222222;strokeWidth=2;dashed=1;dashPattern=8 6;fontColor=#676761;fontSize=14;fontStyle=1;verticalAlign=top;spacingTop=12;" vertex="1" parent="1"><mxGeometry x="335" y="185" width="410" height="500" as="geometry"/></mxCell><mxCell id="s3" value="GOVERNED MODEL AND TOOL ACCESS" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fffefa;fillOpacity=45;strokeColor=#222222;strokeWidth=2;dashed=1;dashPattern=8 6;fontColor=#676761;fontSize=14;fontStyle=1;verticalAlign=top;spacingTop=12;" vertex="1" parent="1"><mxGeometry x="790" y="185" width="595" height="500" as="geometry"/></mxCell><mxCell id="s4" value="OPERATIONS AND HUMAN OVERSIGHT" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fffefa;fillOpacity=45;strokeColor=#222222;strokeWidth=2;dashed=1;dashPattern=8 6;fontColor=#676761;fontSize=14;fontStyle=1;verticalAlign=top;spacingTop=12;" vertex="1" parent="1"><mxGeometry x="355" y="735" width="1000" height="105" as="geometry"/></mxCell><mxCell id="app" value="&lt;div style=&quot;text-align:left&quot;&gt;&lt;small&gt;CLIENT&lt;/small&gt;&lt;br&gt;&lt;b&gt;Web or Teams&lt;br&gt;application&lt;/b&gt;&lt;br&gt;User request&lt;br&gt;Response and approval&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#efeee9;strokeColor=#222222;strokeWidth=2;fontColor=#222222;fontSize=16;spacing=12;arcSize=14;" vertex="1" parent="1"><mxGeometry x="75" y="335" width="185" height="125" as="geometry"/></mxCell><mxCell id="entra" value="&lt;div style=&quot;text-align:left&quot;&gt;&lt;small&gt;IDENTITY&lt;/small&gt;&lt;br&gt;&lt;b&gt;Microsoft Entra ID&lt;/b&gt;&lt;br&gt;User and agent identity&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e2edf5;strokeColor=#222222;strokeWidth=2;fontColor=#222222;fontSize=16;spacing=12;arcSize=14;" vertex="1" parent="1"><mxGeometry x="75" y="515" width="185" height="110" as="geometry"/></mxCell><mxCell id="agent" value="&lt;div style=&quot;text-align:left&quot;&gt;&lt;small&gt;AGENT RUNTIME&lt;/small&gt;&lt;br&gt;&lt;b&gt;Microsoft Foundry&lt;br&gt;Agent Service&lt;/b&gt;&lt;br&gt;Orchestration · instructions&lt;br&gt;Scoped agent identity&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e4efe7;strokeColor=#222222;strokeWidth=2;fontColor=#222222;fontSize=16;spacing=12;arcSize=14;" vertex="1" parent="1"><mxGeometry x="375" y="335" width="320" height="135" as="geometry"/></mxCell><mxCell id="search" value="&lt;div style=&quot;text-align:left&quot;&gt;&lt;small&gt;KNOWLEDGE&lt;/small&gt;&lt;br&gt;&lt;b&gt;Azure AI Search&lt;/b&gt;&lt;br&gt;Hybrid retrieval · ACL filters&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f6edcf;strokeColor=#222222;strokeWidth=2;fontColor=#222222;fontSize=16;spacing=12;arcSize=14;" vertex="1" parent="1"><mxGeometry x="375" y="515" width="320" height="110" as="geometry"/></mxCell><mxCell id="apim" value="&lt;div style=&quot;text-align:left&quot;&gt;&lt;small&gt;POLICY BOUNDARY&lt;/small&gt;&lt;br&gt;&lt;b&gt;Azure API&lt;br&gt;Management&lt;/b&gt;&lt;br&gt;Gateway policies · routing&lt;br&gt;Token and request limits&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f4e2df;strokeColor=#222222;strokeWidth=2;fontColor=#222222;fontSize=16;spacing=12;arcSize=14;" vertex="1" parent="1"><mxGeometry x="830" y="335" width="250" height="135" as="geometry"/></mxCell><mxCell id="models" value="&lt;div style=&quot;text-align:left&quot;&gt;&lt;small&gt;MODEL&lt;/small&gt;&lt;br&gt;&lt;b&gt;Model endpoints&lt;/b&gt;&lt;br&gt;Foundry model deployments&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e2edf5;strokeColor=#222222;strokeWidth=2;fontColor=#222222;fontSize=16;spacing=12;arcSize=14;" vertex="1" parent="1"><mxGeometry x="1130" y="255" width="215" height="110" as="geometry"/></mxCell><mxCell id="tools" value="&lt;div style=&quot;text-align:left&quot;&gt;&lt;small&gt;TOOLS&lt;/small&gt;&lt;br&gt;&lt;b&gt;Business APIs&lt;/b&gt;&lt;br&gt;Narrow, authorized actions&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e4efe7;strokeColor=#222222;strokeWidth=2;fontColor=#222222;fontSize=16;spacing=12;arcSize=14;" vertex="1" parent="1"><mxGeometry x="1130" y="440" width="215" height="110" as="geometry"/></mxCell><mxCell id="ops" value="&lt;div style=&quot;text-align:left&quot;&gt;&lt;small&gt;OBSERVE&lt;/small&gt;&lt;br&gt;&lt;b&gt;Foundry traces&lt;/b&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#efeee9;strokeColor=#222222;strokeWidth=2;fontColor=#222222;fontSize=16;spacing=12;arcSize=14;" vertex="1" parent="1"><mxGeometry x="395" y="755" width="280" height="85" as="geometry"/></mxCell><mxCell id="eval" value="&lt;div style=&quot;text-align:left&quot;&gt;&lt;small&gt;MEASURE&lt;/small&gt;&lt;br&gt;&lt;b&gt;Evaluation gate&lt;/b&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#efeee9;strokeColor=#222222;strokeWidth=2;fontColor=#222222;fontSize=16;spacing=12;arcSize=14;" vertex="1" parent="1"><mxGeometry x="715" y="755" width="280" height="85" as="geometry"/></mxCell><mxCell id="human" value="&lt;div style=&quot;text-align:left&quot;&gt;&lt;small&gt;OVERSIGHT&lt;/small&gt;&lt;br&gt;&lt;b&gt;Human approval&lt;/b&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f6edcf;strokeColor=#222222;strokeWidth=2;fontColor=#222222;fontSize=16;spacing=12;arcSize=14;" vertex="1" parent="1"><mxGeometry x="1035" y="755" width="280" height="85" as="geometry"/></mxCell><mxCell id="e1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#222222;strokeWidth=2;fontColor=#676761;fontSize=12;labelBackgroundColor=#fbfaf7;" edge="1" parent="1" source="app" target="agent"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#222222;strokeWidth=2;dashed=1;dashPattern=8 6;fontColor=#676761;fontSize=12;labelBackgroundColor=#fbfaf7;" edge="1" parent="1" source="entra" target="agent"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#222222;strokeWidth=2;fontColor=#676761;fontSize=12;labelBackgroundColor=#fbfaf7;" edge="1" parent="1" source="agent" target="search"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#222222;strokeWidth=2;fontColor=#676761;fontSize=12;labelBackgroundColor=#fbfaf7;" edge="1" parent="1" source="agent" target="apim"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#222222;strokeWidth=2;fontColor=#676761;fontSize=12;labelBackgroundColor=#fbfaf7;" edge="1" parent="1" source="apim" target="models"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#222222;strokeWidth=2;fontColor=#676761;fontSize=12;labelBackgroundColor=#fbfaf7;" edge="1" parent="1" source="apim" target="tools"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#222222;strokeWidth=2;dashed=1;dashPattern=8 6;fontColor=#676761;fontSize=12;labelBackgroundColor=#fbfaf7;" edge="1" parent="1" source="agent" target="ops"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#222222;strokeWidth=2;dashed=1;dashPattern=8 6;fontColor=#676761;fontSize=12;labelBackgroundColor=#fbfaf7;" edge="1" parent="1" source="apim" target="eval"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#222222;strokeWidth=2;dashed=1;dashPattern=8 6;fontColor=#676761;fontSize=12;labelBackgroundColor=#fbfaf7;" edge="1" parent="1" source="tools" target="human"><mxGeometry relative="1" as="geometry"/></mxCell></root></mxGraphModel></diagram></mxfile>