<?xml version='1.0' encoding='utf-8'?>
<mxfile host="drawio" version="26.0.0" agent="drawio-skill / justfun" modified="2026-10-15T00:00:00.000Z">
  <diagram id="tool-external-api" name="외부 API 툴콜링 구성도">
    <mxGraphModel dx="1360" dy="850" grid="1" gridSize="10" page="1" pageScale="1" pageWidth="1360" pageHeight="850" background="#151b17">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="tool-external-api-title" value="외부 API 툴콜링 구성도" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=23;fontColor=#dce8df;spacing=0;fontStyle=1;" vertex="1" parent="1">
          <mxGeometry x="30" y="20" width="1300" height="32" as="geometry" />
        </mxCell>
        <mxCell id="tool-external-api-subtitle" value="모델은 도구를 선택하고 서버가 검증 후 실행합니다. 현재는 고정 예시만 표시하며 실제 도구는 연결 예정입니다." style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=13;fontColor=#94aa9b;spacing=0;" vertex="1" parent="1">
          <mxGeometry x="30" y="59" width="1300" height="26" as="geometry" />
        </mxCell>
        <mxCell id="tool-definition-tier" value="도구 정의 · 실행 조건 · 연결 대상 (설계)" style="swimlane;startSize=40;html=1;whiteSpace=wrap;rounded=1;arcSize=6;container=1;pointerEvents=0;collapsible=0;fillColor=#19231c;swimlaneFillColor=#151b17;strokeColor=#3c4c41;fontColor=#94aa9b;fontFamily=Arial;fontSize=13;align=left;spacingLeft=18;fontStyle=1;" vertex="1" parent="1">
          <mxGeometry x="30" y="110" width="1300" height="200" as="geometry" />
        </mxCell>
        <mxCell id="tool-schema" value="" style="rounded=1;arcSize=10;html=1;whiteSpace=wrap;fontFamily=Arial;fontSize=15;fontColor=#dce8df;fillColor=#252e28;strokeColor=#82978a;strokeWidth=1.3;spacing=12;align=center;verticalAlign=middle;dashed=1;dashPattern=5 4;" vertex="1" parent="tool-definition-tier">
          <mxGeometry x="30" y="65" width="300" height="100" as="geometry" />
        </mxCell>
        <mxCell id="tool-schema-icon" value="" style="shape=image;imageAspect=1;aspect=fixed;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNhN2M1YTkiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNvZGUteG1sIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0ibTE4IDE2IDQtNC00LTQiPjwvcGF0aD48cGF0aCBkPSJtNiA4LTQgNCA0IDQiPjwvcGF0aD48cGF0aCBkPSJtMTQuNSA0LTUgMTYiPjwvcGF0aD48L3N2Zz4=;" vertex="1" parent="tool-schema">
          <mxGeometry x="17" y="33.0" width="34" height="34" as="geometry" />
        </mxCell>
        <mxCell id="tool-schema-technology" value="JSON Schema" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=18;fontColor=#a7c5a9;spacing=0;fontStyle=1;" vertex="1" parent="tool-schema">
          <mxGeometry x="64" y="14" width="224" height="25" as="geometry" />
        </mxCell>
        <mxCell id="tool-schema-role" value="도구 설명 · 입력 형식" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=13;fontColor=#dce8df;spacing=0;" vertex="1" parent="tool-schema">
          <mxGeometry x="64" y="42" width="224" height="22" as="geometry" />
        </mxCell>
        <mxCell id="tool-schema-state" value="등록된 함수만 선택" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=11;fontColor=#94aa9b;spacing=0;" vertex="1" parent="tool-schema">
          <mxGeometry x="64" y="66" width="224" height="18" as="geometry" />
        </mxCell>
        <mxCell id="tool-policy" value="" style="rounded=1;arcSize=10;html=1;whiteSpace=wrap;fontFamily=Arial;fontSize=15;fontColor=#dce8df;fillColor=#252e28;strokeColor=#82978a;strokeWidth=1.3;spacing=12;align=center;verticalAlign=middle;dashed=1;dashPattern=5 4;" vertex="1" parent="tool-definition-tier">
          <mxGeometry x="480" y="65" width="260" height="100" as="geometry" />
        </mxCell>
        <mxCell id="tool-policy-icon" value="" style="shape=image;imageAspect=1;aspect=fixed;image=data:image/svg+xml,PHN2ZyBmaWxsPSIjNDVkNmMxIiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+RmFzdEFQSTwvdGl0bGU+PHBhdGggZD0iTTEyIC4wMzg3QzUuMzcyOS4wMzg0LjAwMDMgNS4zOTMxIDAgMTEuOTk4OGMtLjAwMSA2LjYwNjYgNS4zNzIgMTEuOTYyOCAxMiAxMS45NjI1IDYuNjI4LjAwMDMgMTIuMDAxLTUuMzU1OSAxMi0xMS45NjI1LS4wMDAzLTYuNjA1Ny01LjM3MjktMTEuOTYwNC0xMi0xMS45Nm0tLjgyOSA1LjQxNTNoNy41NWwtNy41ODA1IDUuMzI4NGg1LjE4MjhMNS4yNzkgMTguNTQzNnEyLjk0NjYtNi41NDQ0IDUuODkyLTEzLjA4OTYiLz48L3N2Zz4=;" vertex="1" parent="tool-policy">
          <mxGeometry x="17" y="33.0" width="34" height="34" as="geometry" />
        </mxCell>
        <mxCell id="tool-policy-technology" value="FastAPI" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=18;fontColor=#45d6c1;spacing=0;fontStyle=1;" vertex="1" parent="tool-policy">
          <mxGeometry x="64" y="14" width="184" height="25" as="geometry" />
        </mxCell>
        <mxCell id="tool-policy-role" value="허용 도구 · 조회 권한" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=13;fontColor=#dce8df;spacing=0;" vertex="1" parent="tool-policy">
          <mxGeometry x="64" y="42" width="184" height="22" as="geometry" />
        </mxCell>
        <mxCell id="tool-policy-state" value="서버 검증 · 연결 예정" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=11;fontColor=#94aa9b;spacing=0;" vertex="1" parent="tool-policy">
          <mxGeometry x="64" y="66" width="184" height="18" as="geometry" />
        </mxCell>
        <mxCell id="tool-resource" value="" style="rounded=1;arcSize=10;html=1;whiteSpace=wrap;fontFamily=Arial;fontSize=15;fontColor=#dce8df;fillColor=#252e28;strokeColor=#82978a;strokeWidth=1.3;spacing=12;align=center;verticalAlign=middle;dashed=1;dashPattern=5 4;" vertex="1" parent="tool-definition-tier">
          <mxGeometry x="950" y="65" width="300" height="100" as="geometry" />
        </mxCell>
        <mxCell id="tool-resource-icon" value="" style="shape=image;imageAspect=1;aspect=fixed;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM3Y2NlZDkiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWdsb2JlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPjxwYXRoIGQ9Ik0xMiAyYTE0LjUgMTQuNSAwIDAgMCAwIDIwIDE0LjUgMTQuNSAwIDAgMCAwLTIwIj48L3BhdGg+PHBhdGggZD0iTTIgMTJoMjAiPjwvcGF0aD48L3N2Zz4=;" vertex="1" parent="tool-resource">
          <mxGeometry x="17" y="33.0" width="34" height="34" as="geometry" />
        </mxCell>
        <mxCell id="tool-resource-technology" value="HTTP API" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=18;fontColor=#7cced9;spacing=0;fontStyle=1;" vertex="1" parent="tool-resource">
          <mxGeometry x="64" y="14" width="224" height="25" as="geometry" />
        </mxCell>
        <mxCell id="tool-resource-role" value="배송 상태 조회" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=13;fontColor=#dce8df;spacing=0;" vertex="1" parent="tool-resource">
          <mxGeometry x="64" y="42" width="224" height="22" as="geometry" />
        </mxCell>
        <mxCell id="tool-resource-state" value="공급자 미선정 · 연결 예정" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=11;fontColor=#94aa9b;spacing=0;" vertex="1" parent="tool-resource">
          <mxGeometry x="64" y="66" width="224" height="18" as="geometry" />
        </mxCell>
        <mxCell id="tool-runtime-caption" value="도구 호출 · 5단계" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=16;fontColor=#dce8df;spacing=0;fontStyle=1;" vertex="1" parent="1">
          <mxGeometry x="30" y="370" width="300" height="30" as="geometry" />
        </mxCell>
        <mxCell id="tool-interpret" value="" style="rounded=1;arcSize=10;html=1;whiteSpace=wrap;fontFamily=Arial;fontSize=15;fontColor=#dce8df;fillColor=#252e28;strokeColor=#82978a;strokeWidth=1.3;spacing=12;align=center;verticalAlign=middle;dashed=1;dashPattern=5 4;" vertex="1" parent="1">
          <mxGeometry x="30" y="440" width="230" height="100" as="geometry" />
        </mxCell>
        <mxCell id="tool-interpret-icon" value="" style="shape=image;imageAspect=1;aspect=fixed;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNlZGMyOGEiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNwdSIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0xMiAyMHYyIj48L3BhdGg+PHBhdGggZD0iTTEyIDJ2MiI+PC9wYXRoPjxwYXRoIGQ9Ik0xNyAyMHYyIj48L3BhdGg+PHBhdGggZD0iTTE3IDJ2MiI+PC9wYXRoPjxwYXRoIGQ9Ik0yIDEyaDIiPjwvcGF0aD48cGF0aCBkPSJNMiAxN2gyIj48L3BhdGg+PHBhdGggZD0iTTIgN2gyIj48L3BhdGg+PHBhdGggZD0iTTIwIDEyaDIiPjwvcGF0aD48cGF0aCBkPSJNMjAgMTdoMiI+PC9wYXRoPjxwYXRoIGQ9Ik0yMCA3aDIiPjwvcGF0aD48cGF0aCBkPSJNNyAyMHYyIj48L3BhdGg+PHBhdGggZD0iTTcgMnYyIj48L3BhdGg+PHJlY3QgeD0iNCIgeT0iNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiByeD0iMiI+PC9yZWN0PjxyZWN0IHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSIxIj48L3JlY3Q+PC9zdmc+;" vertex="1" parent="tool-interpret">
          <mxGeometry x="17" y="33.0" width="34" height="34" as="geometry" />
        </mxCell>
        <mxCell id="tool-interpret-technology" value="Local LLM" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=18;fontColor=#edc28a;spacing=0;fontStyle=1;" vertex="1" parent="tool-interpret">
          <mxGeometry x="64" y="14" width="154" height="25" as="geometry" />
        </mxCell>
        <mxCell id="tool-interpret-role" value="요청 해석" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=13;fontColor=#dce8df;spacing=0;" vertex="1" parent="tool-interpret">
          <mxGeometry x="64" y="42" width="154" height="22" as="geometry" />
        </mxCell>
        <mxCell id="tool-interpret-state" value="모델 미선정 · 연결 예정" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=11;fontColor=#94aa9b;spacing=0;" vertex="1" parent="tool-interpret">
          <mxGeometry x="64" y="66" width="154" height="18" as="geometry" />
        </mxCell>
        <mxCell id="tool-choose" value="" style="rounded=1;arcSize=10;html=1;whiteSpace=wrap;fontFamily=Arial;fontSize=15;fontColor=#dce8df;fillColor=#252e28;strokeColor=#82978a;strokeWidth=1.3;spacing=12;align=center;verticalAlign=middle;dashed=1;dashPattern=5 4;" vertex="1" parent="1">
          <mxGeometry x="290" y="440" width="230" height="100" as="geometry" />
        </mxCell>
        <mxCell id="tool-choose-icon" value="" style="shape=image;imageAspect=1;aspect=fixed;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNhN2M1YTkiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNvZGUteG1sIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0ibTE4IDE2IDQtNC00LTQiPjwvcGF0aD48cGF0aCBkPSJtNiA4LTQgNCA0IDQiPjwvcGF0aD48cGF0aCBkPSJtMTQuNSA0LTUgMTYiPjwvcGF0aD48L3N2Zz4=;" vertex="1" parent="tool-choose">
          <mxGeometry x="17" y="33.0" width="34" height="34" as="geometry" />
        </mxCell>
        <mxCell id="tool-choose-technology" value="Tool Registry" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=18;fontColor=#a7c5a9;spacing=0;fontStyle=1;" vertex="1" parent="tool-choose">
          <mxGeometry x="64" y="14" width="154" height="25" as="geometry" />
        </mxCell>
        <mxCell id="tool-choose-role" value="도구 선택" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=13;fontColor=#dce8df;spacing=0;" vertex="1" parent="tool-choose">
          <mxGeometry x="64" y="42" width="154" height="22" as="geometry" />
        </mxCell>
        <mxCell id="tool-choose-state" value="등록된 도구 · 연결 예정" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=11;fontColor=#94aa9b;spacing=0;" vertex="1" parent="tool-choose">
          <mxGeometry x="64" y="66" width="154" height="18" as="geometry" />
        </mxCell>
        <mxCell id="tool-validate" value="" style="rounded=1;arcSize=10;html=1;whiteSpace=wrap;fontFamily=Arial;fontSize=15;fontColor=#dce8df;fillColor=#252e28;strokeColor=#82978a;strokeWidth=1.3;spacing=12;align=center;verticalAlign=middle;dashed=1;dashPattern=5 4;" vertex="1" parent="1">
          <mxGeometry x="550" y="440" width="230" height="100" as="geometry" />
        </mxCell>
        <mxCell id="tool-validate-icon" value="" style="shape=image;imageAspect=1;aspect=fixed;image=data:image/svg+xml,PHN2ZyBmaWxsPSIjNDVkNmMxIiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+RmFzdEFQSTwvdGl0bGU+PHBhdGggZD0iTTEyIC4wMzg3QzUuMzcyOS4wMzg0LjAwMDMgNS4zOTMxIDAgMTEuOTk4OGMtLjAwMSA2LjYwNjYgNS4zNzIgMTEuOTYyOCAxMiAxMS45NjI1IDYuNjI4LjAwMDMgMTIuMDAxLTUuMzU1OSAxMi0xMS45NjI1LS4wMDAzLTYuNjA1Ny01LjM3MjktMTEuOTYwNC0xMi0xMS45Nm0tLjgyOSA1LjQxNTNoNy41NWwtNy41ODA1IDUuMzI4NGg1LjE4MjhMNS4yNzkgMTguNTQzNnEyLjk0NjYtNi41NDQ0IDUuODkyLTEzLjA4OTYiLz48L3N2Zz4=;" vertex="1" parent="tool-validate">
          <mxGeometry x="17" y="33.0" width="34" height="34" as="geometry" />
        </mxCell>
        <mxCell id="tool-validate-technology" value="FastAPI" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=18;fontColor=#45d6c1;spacing=0;fontStyle=1;" vertex="1" parent="tool-validate">
          <mxGeometry x="64" y="14" width="154" height="25" as="geometry" />
        </mxCell>
        <mxCell id="tool-validate-role" value="인자 · 권한 검증" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=13;fontColor=#dce8df;spacing=0;" vertex="1" parent="tool-validate">
          <mxGeometry x="64" y="42" width="154" height="22" as="geometry" />
        </mxCell>
        <mxCell id="tool-validate-state" value="잘못된 호출 차단 · 예정" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=11;fontColor=#94aa9b;spacing=0;" vertex="1" parent="tool-validate">
          <mxGeometry x="64" y="66" width="154" height="18" as="geometry" />
        </mxCell>
        <mxCell id="tool-execute" value="" style="rounded=1;arcSize=10;html=1;whiteSpace=wrap;fontFamily=Arial;fontSize=15;fontColor=#dce8df;fillColor=#252e28;strokeColor=#82978a;strokeWidth=1.3;spacing=12;align=center;verticalAlign=middle;dashed=1;dashPattern=5 4;" vertex="1" parent="1">
          <mxGeometry x="810" y="440" width="230" height="100" as="geometry" />
        </mxCell>
        <mxCell id="tool-execute-icon" value="" style="shape=image;imageAspect=1;aspect=fixed;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM3Y2NlZDkiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWdsb2JlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPjxwYXRoIGQ9Ik0xMiAyYTE0LjUgMTQuNSAwIDAgMCAwIDIwIDE0LjUgMTQuNSAwIDAgMCAwLTIwIj48L3BhdGg+PHBhdGggZD0iTTIgMTJoMjAiPjwvcGF0aD48L3N2Zz4=;" vertex="1" parent="tool-execute">
          <mxGeometry x="17" y="33.0" width="34" height="34" as="geometry" />
        </mxCell>
        <mxCell id="tool-execute-technology" value="HTTP API" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=18;fontColor=#7cced9;spacing=0;fontStyle=1;" vertex="1" parent="tool-execute">
          <mxGeometry x="64" y="14" width="154" height="25" as="geometry" />
        </mxCell>
        <mxCell id="tool-execute-role" value="배송 상태 조회" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=13;fontColor=#dce8df;spacing=0;" vertex="1" parent="tool-execute">
          <mxGeometry x="64" y="42" width="154" height="22" as="geometry" />
        </mxCell>
        <mxCell id="tool-execute-state" value="서버가 실행 · 연결 예정" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=11;fontColor=#94aa9b;spacing=0;" vertex="1" parent="tool-execute">
          <mxGeometry x="64" y="66" width="154" height="18" as="geometry" />
        </mxCell>
        <mxCell id="tool-respond" value="" style="rounded=1;arcSize=10;html=1;whiteSpace=wrap;fontFamily=Arial;fontSize=15;fontColor=#dce8df;fillColor=#252e28;strokeColor=#82978a;strokeWidth=1.3;spacing=12;align=center;verticalAlign=middle;dashed=1;dashPattern=5 4;" vertex="1" parent="1">
          <mxGeometry x="1070" y="440" width="230" height="100" as="geometry" />
        </mxCell>
        <mxCell id="tool-respond-icon" value="" style="shape=image;imageAspect=1;aspect=fixed;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNlZGMyOGEiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNwdSIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0xMiAyMHYyIj48L3BhdGg+PHBhdGggZD0iTTEyIDJ2MiI+PC9wYXRoPjxwYXRoIGQ9Ik0xNyAyMHYyIj48L3BhdGg+PHBhdGggZD0iTTE3IDJ2MiI+PC9wYXRoPjxwYXRoIGQ9Ik0yIDEyaDIiPjwvcGF0aD48cGF0aCBkPSJNMiAxN2gyIj48L3BhdGg+PHBhdGggZD0iTTIgN2gyIj48L3BhdGg+PHBhdGggZD0iTTIwIDEyaDIiPjwvcGF0aD48cGF0aCBkPSJNMjAgMTdoMiI+PC9wYXRoPjxwYXRoIGQ9Ik0yMCA3aDIiPjwvcGF0aD48cGF0aCBkPSJNNyAyMHYyIj48L3BhdGg+PHBhdGggZD0iTTcgMnYyIj48L3BhdGg+PHJlY3QgeD0iNCIgeT0iNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiByeD0iMiI+PC9yZWN0PjxyZWN0IHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSIxIj48L3JlY3Q+PC9zdmc+;" vertex="1" parent="tool-respond">
          <mxGeometry x="17" y="33.0" width="34" height="34" as="geometry" />
        </mxCell>
        <mxCell id="tool-respond-technology" value="Local LLM" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=18;fontColor=#edc28a;spacing=0;fontStyle=1;" vertex="1" parent="tool-respond">
          <mxGeometry x="64" y="14" width="154" height="25" as="geometry" />
        </mxCell>
        <mxCell id="tool-respond-role" value="도구 결과 정리" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=13;fontColor=#dce8df;spacing=0;" vertex="1" parent="tool-respond">
          <mxGeometry x="64" y="42" width="154" height="22" as="geometry" />
        </mxCell>
        <mxCell id="tool-respond-state" value="근거 포함 · 연결 예정" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=11;fontColor=#94aa9b;spacing=0;" vertex="1" parent="tool-respond">
          <mxGeometry x="64" y="66" width="154" height="18" as="geometry" />
        </mxCell>
        <mxCell id="tool-interpret-to-tool-choose" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;endSize=8;strokeWidth=1.4;strokeColor=#91a699;fontColor=#94aa9b;fontFamily=Arial;fontSize=12;labelBackgroundColor=#151b17;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;dashed=1;dashPattern=5 4;" edge="1" parent="1" source="tool-interpret" target="tool-choose">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="tool-choose-to-tool-validate" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;endSize=8;strokeWidth=1.4;strokeColor=#91a699;fontColor=#94aa9b;fontFamily=Arial;fontSize=12;labelBackgroundColor=#151b17;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;dashed=1;dashPattern=5 4;" edge="1" parent="1" source="tool-choose" target="tool-validate">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="tool-validate-to-tool-execute" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;endSize=8;strokeWidth=1.4;strokeColor=#91a699;fontColor=#94aa9b;fontFamily=Arial;fontSize=12;labelBackgroundColor=#151b17;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;dashed=1;dashPattern=5 4;" edge="1" parent="1" source="tool-validate" target="tool-execute">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="tool-execute-to-tool-respond" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;endSize=8;strokeWidth=1.4;strokeColor=#91a699;fontColor=#94aa9b;fontFamily=Arial;fontSize=12;labelBackgroundColor=#151b17;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;dashed=1;dashPattern=5 4;" edge="1" parent="1" source="tool-execute" target="tool-respond">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="schema-to-choice" value="도구 정의" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;endSize=8;strokeWidth=1.4;strokeColor=#91a699;fontColor=#94aa9b;fontFamily=Arial;fontSize=12;labelBackgroundColor=#151b17;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;dashPattern=5 4;" edge="1" parent="1" source="tool-schema" target="tool-choose">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="210" y="340" />
              <mxPoint x="405" y="340" />
            </Array>
            <mxPoint x="0" y="-16" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="policy-to-validation" value="실행 조건" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;endSize=8;strokeWidth=1.4;strokeColor=#91a699;fontColor=#94aa9b;fontFamily=Arial;fontSize=12;labelBackgroundColor=#151b17;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;dashPattern=5 4;" edge="1" parent="1" source="tool-policy" target="tool-validate">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="640" y="340" />
              <mxPoint x="665" y="340" />
            </Array>
            <mxPoint x="70" y="0" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="resource-to-execution" value="요청 / 응답" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;endSize=8;strokeWidth=1.4;strokeColor=#91a699;fontColor=#94aa9b;fontFamily=Arial;fontSize=12;labelBackgroundColor=#151b17;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;dashPattern=5 4;startArrow=block;startFill=1;startSize=8;" edge="1" parent="1" source="tool-resource" target="tool-execute">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1130" y="340" />
              <mxPoint x="925" y="340" />
            </Array>
            <mxPoint x="0" y="-16" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="tool-ui" value="" style="rounded=1;arcSize=10;html=1;whiteSpace=wrap;fontFamily=Arial;fontSize=15;fontColor=#dce8df;fillColor=#223c2c;strokeColor=#7ee2b8;strokeWidth=1.3;spacing=12;align=center;verticalAlign=middle;" vertex="1" parent="1">
          <mxGeometry x="30" y="665" width="230" height="100" as="geometry" />
        </mxCell>
        <mxCell id="tool-ui-icon" value="" style="shape=image;imageAspect=1;aspect=fixed;image=data:image/svg+xml,PHN2ZyBmaWxsPSIjZjBmM2YwIiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+TmV4dC5qczwvdGl0bGU+PHBhdGggZD0iTTE4LjY2NSAyMS45NzhDMTYuNzU4IDIzLjI1NSAxNC40NjUgMjQgMTIgMjQgNS4zNzcgMjQgMCAxOC42MjMgMCAxMlM1LjM3NyAwIDEyIDBzMTIgNS4zNzcgMTIgMTJjMCAzLjU4My0xLjU3NCA2LjgwMS00LjA2NyA5LjAwMUw5LjIxOSA3LjJINy4ydjkuNTk2aDEuNjE1VjkuMjUxbDkuODUgMTIuNzI3Wm0tMy4zMzItOC41MzMgMS42IDIuMDYxVjcuMmgtMS42djYuMjQ1WiIvPjwvc3ZnPg==;" vertex="1" parent="tool-ui">
          <mxGeometry x="17" y="33.0" width="34" height="34" as="geometry" />
        </mxCell>
        <mxCell id="tool-ui-technology" value="Next.js" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=18;fontColor=#f0f3f0;spacing=0;fontStyle=1;" vertex="1" parent="tool-ui">
          <mxGeometry x="64" y="14" width="154" height="25" as="geometry" />
        </mxCell>
        <mxCell id="tool-ui-role" value="업무 요청 화면" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=13;fontColor=#dce8df;spacing=0;" vertex="1" parent="tool-ui">
          <mxGeometry x="64" y="42" width="154" height="22" as="geometry" />
        </mxCell>
        <mxCell id="tool-ui-state" value="화면 구현 · Vercel 배포" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=11;fontColor=#94aa9b;spacing=0;" vertex="1" parent="tool-ui">
          <mxGeometry x="64" y="66" width="154" height="18" as="geometry" />
        </mxCell>
        <mxCell id="tool-denied" value="호출 차단&#10;허용 도구 · 인자 · 권한" style="rounded=1;arcSize=10;html=1;whiteSpace=wrap;fontFamily=Arial;fontSize=15;fontColor=#dce8df;fillColor=#252e28;strokeColor=#82978a;strokeWidth=1.3;spacing=12;align=center;verticalAlign=middle;dashed=1;dashPattern=5 4;" vertex="1" parent="1">
          <mxGeometry x="550" y="670" width="230" height="90" as="geometry" />
        </mxCell>
        <mxCell id="tool-result" value="결과 + 조회 근거&#10;배송 상태 + 예정 구간" style="rounded=1;arcSize=10;html=1;whiteSpace=wrap;fontFamily=Arial;fontSize=15;fontColor=#dce8df;fillColor=#252e28;strokeColor=#82978a;strokeWidth=1.3;spacing=12;align=center;verticalAlign=middle;dashed=1;dashPattern=5 4;" vertex="1" parent="1">
          <mxGeometry x="1070" y="670" width="230" height="90" as="geometry" />
        </mxCell>
        <mxCell id="ui-to-tool-flow" value="요청 · 연결 예정" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;endSize=8;strokeWidth=1.4;strokeColor=#91a699;fontColor=#94aa9b;fontFamily=Arial;fontSize=12;labelBackgroundColor=#151b17;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;dashed=1;dashPattern=5 4;" edge="1" parent="1" source="tool-ui" target="tool-interpret">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="80" y="0" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="validation-denied" value="검증 차단" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;endSize=8;strokeWidth=1.4;strokeColor=#91a699;fontColor=#94aa9b;fontFamily=Arial;fontSize=12;labelBackgroundColor=#151b17;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;dashPattern=5 4;" edge="1" parent="1" source="tool-validate" target="tool-denied">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="70" y="0" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="tool-response-result" value="결과" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;endSize=8;strokeWidth=1.4;strokeColor=#91a699;fontColor=#94aa9b;fontFamily=Arial;fontSize=12;labelBackgroundColor=#151b17;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;dashPattern=5 4;" edge="1" parent="1" source="tool-respond" target="tool-result">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="50" y="0" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="tool-note" value="실제 연결 시 서버에서 자격증명·호출 제한·타임아웃을 관리합니다. 웹 화면은 가상 응답을 사용하는 UI 미리보기입니다." style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=13;fontColor=#94aa9b;spacing=0;" vertex="1" parent="1">
          <mxGeometry x="30" y="790" width="1270" height="25" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>