| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720"> |
| 2 | <defs> |
| 3 | <linearGradient id="titleGradient" x1="0%" y1="0%" x2="100%" y2="0%"> |
| 4 | <stop offset="0%" stop-color="#5B8DEF"/> |
| 5 | <stop offset="50%" stop-color="#A26BFA"/> |
| 6 | <stop offset="100%" stop-color="#3DDDFC"/> |
| 7 | </linearGradient> |
| 8 | <linearGradient id="bgOverlay" x1="0%" y1="0%" x2="0%" y2="100%"> |
| 9 | <stop offset="0%" stop-color="#0A0E27" stop-opacity="0.62"/> |
| 10 | <stop offset="100%" stop-color="#0A0E27" stop-opacity="0.78"/> |
| 11 | </linearGradient> |
| 12 | <linearGradient id="stepGlass" x1="0%" y1="0%" x2="0%" y2="100%"> |
| 13 | <stop offset="0%" stop-color="#1A2150" stop-opacity="0.78"/> |
| 14 | <stop offset="100%" stop-color="#1A2150" stop-opacity="0.4"/> |
| 15 | </linearGradient> |
| 16 | <linearGradient id="stepHi" x1="0%" y1="0%" x2="100%" y2="100%"> |
| 17 | <stop offset="0%" stop-color="#5B8DEF" stop-opacity="0.65"/> |
| 18 | <stop offset="100%" stop-color="#A26BFA" stop-opacity="0.45"/> |
| 19 | </linearGradient> |
| 20 | <linearGradient id="flowLine" x1="0%" y1="0%" x2="100%" y2="0%"> |
| 21 | <stop offset="0%" stop-color="#5B8DEF" stop-opacity="0"/> |
| 22 | <stop offset="10%" stop-color="#5B8DEF" stop-opacity="0.7"/> |
| 23 | <stop offset="50%" stop-color="#A26BFA" stop-opacity="0.7"/> |
| 24 | <stop offset="90%" stop-color="#3DDDFC" stop-opacity="0.7"/> |
| 25 | <stop offset="100%" stop-color="#3DDDFC" stop-opacity="0"/> |
| 26 | </linearGradient> |
| 27 | <linearGradient id="glassEdge" x1="0%" y1="0%" x2="100%" y2="0%"> |
| 28 | <stop offset="0%" stop-color="#FFFFFF" stop-opacity="0"/> |
| 29 | <stop offset="50%" stop-color="#FFFFFF" stop-opacity="0.32"/> |
| 30 | <stop offset="100%" stop-color="#FFFFFF" stop-opacity="0"/> |
| 31 | </linearGradient> |
| 32 | <marker id="flowArrow" markerWidth="10" markerHeight="10" refX="9" refY="5" orient="auto"> |
| 33 | <path d="M 0 1 L 9 5 L 0 9 Z" fill="#3DDDFC"/> |
| 34 | </marker> |
| 35 | </defs> |
| 36 | |
| 37 | <g id="bg"> |
| 38 | <rect width="1280" height="720" fill="#0A0E27"/> |
| 39 | <image href="../images/06_pipeline_flow.png" x="0" y="0" width="1280" height="720" preserveAspectRatio="xMidYMid slice"/> |
| 40 | <rect x="0" y="0" width="1280" height="720" fill="url(#bgOverlay)"/> |
| 41 | </g> |
| 42 | |
| 43 | <g id="header"> |
| 44 | <rect x="60" y="50" width="6" height="32" rx="3" fill="url(#titleGradient)"/> |
| 45 | <text x="80" y="76" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="34" font-weight="900" fill="#E8ECFF">让工具调用从"能跑"到"稳跑"</text> |
| 46 | <text x="80" y="108" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="14" font-weight="600" fill="#A8B0D0" letter-spacing="3">TOOL ORCHESTRATION · A SIX-STEP DISCIPLINE</text> |
| 47 | </g> |
| 48 | |
| 49 | <g id="flow-axis"> |
| 50 | <line x1="60" y1="200" x2="1220" y2="200" stroke="url(#flowLine)" stroke-width="2" stroke-dasharray="6 6"/> |
| 51 | </g> |
| 52 | |
| 53 | <g id="step-1"> |
| 54 | <circle cx="145" cy="200" r="22" fill="#0A0E27" stroke="#5B8DEF" stroke-width="2"/> |
| 55 | <text x="145" y="207" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="14" font-weight="900" fill="#5B8DEF" text-anchor="middle">01</text> |
| 56 | <rect x="60" y="244" width="170" height="356" rx="16" fill="url(#stepGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/> |
| 57 | <rect x="78" y="245" width="134" height="1" fill="url(#glassEdge)"/> |
| 58 | <use data-icon="phosphor-duotone/magnifying-glass" x="125" y="270" width="40" height="40" fill="#5B8DEF"/> |
| 59 | <text x="145" y="346" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="18" font-weight="900" fill="#E8ECFF" text-anchor="middle">解析任务</text> |
| 60 | <line x1="92" y1="368" x2="198" y2="368" stroke="#FFFFFF" stroke-opacity="0.16"/> |
| 61 | <text x="145" y="404" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">拆解用户意图</text> |
| 62 | <text x="145" y="425" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">明确目标和约束</text> |
| 63 | <text x="145" y="475" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">输出:</text> |
| 64 | <text x="145" y="498" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="14" font-weight="700" fill="#3DDDFC" text-anchor="middle">subtasks[]</text> |
| 65 | <rect x="80" y="560" width="130" height="24" rx="12" fill="#5B8DEF" fill-opacity="0.2" stroke="#5B8DEF" stroke-opacity="0.5" stroke-width="1"/> |
| 66 | <text x="145" y="577" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="11" font-weight="700" fill="#5B8DEF" text-anchor="middle" letter-spacing="2">PLAN</text> |
| 67 | </g> |
| 68 | |
| 69 | <g id="step-2"> |
| 70 | <circle cx="343" cy="200" r="22" fill="#0A0E27" stroke="#5B8DEF" stroke-width="2"/> |
| 71 | <text x="343" y="207" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="14" font-weight="900" fill="#5B8DEF" text-anchor="middle">02</text> |
| 72 | <rect x="258" y="244" width="170" height="356" rx="16" fill="url(#stepGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/> |
| 73 | <rect x="276" y="245" width="134" height="1" fill="url(#glassEdge)"/> |
| 74 | <use data-icon="phosphor-duotone/target" x="323" y="270" width="40" height="40" fill="#5B8DEF"/> |
| 75 | <text x="343" y="346" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="18" font-weight="900" fill="#E8ECFF" text-anchor="middle">选择工具</text> |
| 76 | <line x1="290" y1="368" x2="396" y2="368" stroke="#FFFFFF" stroke-opacity="0.16"/> |
| 77 | <text x="343" y="404" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">schema 匹配</text> |
| 78 | <text x="343" y="425" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">描述向量检索</text> |
| 79 | <text x="343" y="475" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">输出:</text> |
| 80 | <text x="343" y="498" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="14" font-weight="700" fill="#3DDDFC" text-anchor="middle">tool + args</text> |
| 81 | <rect x="278" y="560" width="130" height="24" rx="12" fill="#5B8DEF" fill-opacity="0.2" stroke="#5B8DEF" stroke-opacity="0.5" stroke-width="1"/> |
| 82 | <text x="343" y="577" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="11" font-weight="700" fill="#5B8DEF" text-anchor="middle" letter-spacing="2">SELECT</text> |
| 83 | </g> |
| 84 | |
| 85 | <g id="step-3"> |
| 86 | <circle cx="541" cy="200" r="22" fill="#0A0E27" stroke="#A26BFA" stroke-width="2"/> |
| 87 | <text x="541" y="207" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="14" font-weight="900" fill="#A26BFA" text-anchor="middle">03</text> |
| 88 | <rect x="456" y="244" width="170" height="356" rx="16" fill="url(#stepGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/> |
| 89 | <rect x="474" y="245" width="134" height="1" fill="url(#glassEdge)"/> |
| 90 | <use data-icon="phosphor-duotone/plug" x="521" y="270" width="40" height="40" fill="#A26BFA"/> |
| 91 | <text x="541" y="346" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="18" font-weight="900" fill="#E8ECFF" text-anchor="middle">调用执行</text> |
| 92 | <line x1="488" y1="368" x2="594" y2="368" stroke="#FFFFFF" stroke-opacity="0.16"/> |
| 93 | <text x="541" y="404" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">超时控制</text> |
| 94 | <text x="541" y="425" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">幂等 key</text> |
| 95 | <text x="541" y="475" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">输出:</text> |
| 96 | <text x="541" y="498" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="14" font-weight="700" fill="#3DDDFC" text-anchor="middle">raw_result</text> |
| 97 | <rect x="476" y="560" width="130" height="24" rx="12" fill="#A26BFA" fill-opacity="0.2" stroke="#A26BFA" stroke-opacity="0.5" stroke-width="1"/> |
| 98 | <text x="541" y="577" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="11" font-weight="700" fill="#A26BFA" text-anchor="middle" letter-spacing="2">EXECUTE</text> |
| 99 | </g> |
| 100 | |
| 101 | <g id="step-4"> |
| 102 | <circle cx="739" cy="200" r="22" fill="#0A0E27" stroke="#A26BFA" stroke-width="2"/> |
| 103 | <text x="739" y="207" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="14" font-weight="900" fill="#A26BFA" text-anchor="middle">04</text> |
| 104 | <rect x="654" y="244" width="170" height="356" rx="16" fill="url(#stepGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/> |
| 105 | <rect x="672" y="245" width="134" height="1" fill="url(#glassEdge)"/> |
| 106 | <use data-icon="phosphor-duotone/check-circle" x="719" y="270" width="40" height="40" fill="#A26BFA"/> |
| 107 | <text x="739" y="346" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="18" font-weight="900" fill="#E8ECFF" text-anchor="middle">验证返回</text> |
| 108 | <line x1="686" y1="368" x2="792" y2="368" stroke="#FFFFFF" stroke-opacity="0.16"/> |
| 109 | <text x="739" y="404" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">JSON schema</text> |
| 110 | <text x="739" y="425" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">业务规则</text> |
| 111 | <text x="739" y="475" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">输出:</text> |
| 112 | <text x="739" y="498" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="14" font-weight="700" fill="#3DDDFC" text-anchor="middle">valid / fail</text> |
| 113 | <rect x="674" y="560" width="130" height="24" rx="12" fill="#A26BFA" fill-opacity="0.2" stroke="#A26BFA" stroke-opacity="0.5" stroke-width="1"/> |
| 114 | <text x="739" y="577" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="11" font-weight="700" fill="#A26BFA" text-anchor="middle" letter-spacing="2">VALIDATE</text> |
| 115 | </g> |
| 116 | |
| 117 | <g id="step-5"> |
| 118 | <circle cx="937" cy="200" r="22" fill="#0A0E27" stroke="#3DDDFC" stroke-width="2"/> |
| 119 | <text x="937" y="207" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="14" font-weight="900" fill="#3DDDFC" text-anchor="middle">05</text> |
| 120 | <rect x="852" y="244" width="170" height="356" rx="16" fill="url(#stepGlass)" stroke="#FFFFFF" stroke-opacity="0.14" stroke-width="1"/> |
| 121 | <rect x="870" y="245" width="134" height="1" fill="url(#glassEdge)"/> |
| 122 | <use data-icon="phosphor-duotone/arrows-clockwise" x="917" y="270" width="40" height="40" fill="#3DDDFC"/> |
| 123 | <text x="937" y="346" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="18" font-weight="900" fill="#E8ECFF" text-anchor="middle">重试回退</text> |
| 124 | <line x1="884" y1="368" x2="990" y2="368" stroke="#FFFFFF" stroke-opacity="0.16"/> |
| 125 | <text x="937" y="404" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">指数退避</text> |
| 126 | <text x="937" y="425" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">降级路径</text> |
| 127 | <text x="937" y="475" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#A8B0D0" text-anchor="middle">输出:</text> |
| 128 | <text x="937" y="498" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="14" font-weight="700" fill="#3DDDFC" text-anchor="middle">retry / fallback</text> |
| 129 | <rect x="872" y="560" width="130" height="24" rx="12" fill="#3DDDFC" fill-opacity="0.2" stroke="#3DDDFC" stroke-opacity="0.5" stroke-width="1"/> |
| 130 | <text x="937" y="577" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="11" font-weight="700" fill="#3DDDFC" text-anchor="middle" letter-spacing="2">RECOVER</text> |
| 131 | </g> |
| 132 | |
| 133 | <g id="step-6"> |
| 134 | <circle cx="1135" cy="200" r="22" fill="#0A0E27" stroke="#4ADE80" stroke-width="2"/> |
| 135 | <text x="1135" y="207" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="14" font-weight="900" fill="#4ADE80" text-anchor="middle">06</text> |
| 136 | <rect x="1050" y="244" width="170" height="356" rx="16" fill="url(#stepHi)" stroke="#4ADE80" stroke-opacity="0.55" stroke-width="1"/> |
| 137 | <rect x="1068" y="245" width="134" height="1" fill="url(#glassEdge)"/> |
| 138 | <use data-icon="phosphor-duotone/stack" x="1115" y="270" width="40" height="40" fill="#4ADE80"/> |
| 139 | <text x="1135" y="346" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="18" font-weight="900" fill="#FFFFFF" text-anchor="middle">结果汇总</text> |
| 140 | <line x1="1082" y1="368" x2="1188" y2="368" stroke="#FFFFFF" stroke-opacity="0.18"/> |
| 141 | <text x="1135" y="404" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#E8ECFF" text-anchor="middle">多轮聚合</text> |
| 142 | <text x="1135" y="425" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#E8ECFF" text-anchor="middle">引用与可解释化</text> |
| 143 | <text x="1135" y="475" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="400" fill="#E8ECFF" text-anchor="middle">输出:</text> |
| 144 | <text x="1135" y="498" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="14" font-weight="700" fill="#4ADE80" text-anchor="middle">final answer</text> |
| 145 | <rect x="1070" y="560" width="130" height="24" rx="12" fill="#4ADE80" fill-opacity="0.25" stroke="#4ADE80" stroke-opacity="0.7" stroke-width="1"/> |
| 146 | <text x="1135" y="577" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="11" font-weight="700" fill="#4ADE80" text-anchor="middle" letter-spacing="2">DELIVER</text> |
| 147 | </g> |
| 148 | |
| 149 | <g id="footer"> |
| 150 | <text x="60" y="694" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="600" fill="#6B7299">每步都可观测 · 每步都有回退</text> |
| 151 | <text x="1220" y="694" font-family=""Microsoft YaHei", "PingFang SC", sans-serif" font-size="13" font-weight="600" fill="#6B7299" text-anchor="end">06 / 12</text> |
| 152 | </g> |
| 153 | </svg> |
| 154 |