File size: 10,615 Bytes
7556728 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | <svg xmlns="http://www.w3.org/2000/svg" width="1240" height="720" viewBox="0 0 1240 720" font-family="Helvetica Neue, Helvetica, Arial, sans-serif">
<defs>
<linearGradient id="rootGrad" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#4F46E5"/><stop offset="1" stop-color="#7C3AED"/>
</linearGradient>
<filter id="soft" x="-20%" y="-20%" width="140%" height="140%">
<feDropShadow dx="0" dy="3" stdDeviation="6" flood-color="#0F172A" flood-opacity="0.10"/>
</filter>
<marker id="mSel" viewBox="0 0 10 10" refX="8.5" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
<path d="M0 0L10 5L0 10z" fill="#4F46E5"/>
</marker>
<marker id="mExp" viewBox="0 0 10 10" refX="8.5" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
<path d="M0 0L10 5L0 10z" fill="#94A3B8"/>
</marker>
<marker id="mPru" viewBox="0 0 10 10" refX="8.5" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
<path d="M0 0L10 5L0 10z" fill="#CBD5E1"/>
</marker>
<marker id="mWin" viewBox="0 0 10 10" refX="8.5" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
<path d="M0 0L10 5L0 10z" fill="#059669"/>
</marker>
<g id="ic-search" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round">
<circle cx="10.5" cy="10.5" r="5.5"/><path d="M14.8 14.8L20 20"/>
</g>
<g id="ic-db" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round">
<ellipse cx="12" cy="6" rx="7" ry="2.6"/><path d="M5 6v12c0 1.4 3.1 2.6 7 2.6s7-1.2 7-2.6V6"/><path d="M5 12c0 1.4 3.1 2.6 7 2.6s7-1.2 7-2.6"/>
</g>
<g id="ic-plug" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
<path d="M9 7V3M15 7V3M7 7h10v4a5 5 0 0 1-10 0zM12 16v5"/>
</g>
<g id="ic-term" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M7 9l3 3-3 3M12.5 15H17"/>
</g>
<g id="ic-scale" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
<path d="M12 4v16M7 20h10M12 7l6-1M12 7L6 6"/><path d="M4 12l2-6 2 6a2.6 2.6 0 0 1-4 0zM16 11l2-6 2 6a2.6 2.6 0 0 1-4 0z"/>
</g>
<g id="ic-layers" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
<path d="M12 3l9 5-9 5-9-5z"/><path d="M3 13l9 5 9-5"/>
</g>
</defs>
<rect width="1240" height="720" fill="#F8FAFC"/>
<text x="44" y="56" font-size="26" font-weight="700" fill="#0F172A">Tree Search over Tool-Call Trajectories</text>
<text x="44" y="82" font-size="14" fill="#64748B">Value-guided expansion: each node is a tool call, v(s) scores the partial trajectory</text>
<!-- ββ edges (drawn first, under nodes) ββ -->
<!-- root β A : selected -->
<path d="M560 178 C 480 220, 400 230, 318 276" fill="none" stroke="#C7D2FE" stroke-width="9" stroke-linecap="round"/>
<path d="M560 178 C 480 220, 400 230, 318 276" fill="none" stroke="#4F46E5" stroke-width="3.2" marker-end="url(#mSel)"/>
<!-- root β B : explored -->
<path d="M620 178 V 274" fill="none" stroke="#94A3B8" stroke-width="2" marker-end="url(#mExp)"/>
<!-- root β C : pruned -->
<path d="M680 178 C 770 220, 850 230, 926 274" fill="none" stroke="#CBD5E1" stroke-width="2" stroke-dasharray="6 5" marker-end="url(#mPru)"/>
<!-- A β A1 : selected -->
<path d="M290 358 C 280 400, 272 414, 264 454" fill="none" stroke="#C7D2FE" stroke-width="9" stroke-linecap="round"/>
<path d="M290 358 C 280 400, 272 414, 264 454" fill="none" stroke="#4F46E5" stroke-width="3.2" marker-end="url(#mSel)"/>
<!-- A β A2 : explored -->
<path d="M340 358 C 400 400, 450 412, 512 454" fill="none" stroke="#94A3B8" stroke-width="2" marker-end="url(#mExp)"/>
<!-- B β B1 : pruned -->
<path d="M650 358 C 710 400, 750 412, 800 454" fill="none" stroke="#CBD5E1" stroke-width="2" stroke-dasharray="6 5" marker-end="url(#mPru)"/>
<!-- A1 β answer : winning -->
<path d="M260 538 V 596" fill="none" stroke="#A7F3D0" stroke-width="9" stroke-linecap="round"/>
<path d="M260 538 V 596" fill="none" stroke="#059669" stroke-width="3.2" marker-end="url(#mWin)"/>
<!-- ββ root ββ -->
<g filter="url(#soft)"><rect x="500" y="110" width="240" height="68" rx="14" fill="url(#rootGrad)"/></g>
<text x="620" y="140" font-size="16" font-weight="700" fill="#FFFFFF" text-anchor="middle">User Query</text>
<text x="620" y="161" font-size="12" fill="#E0E7FF" text-anchor="middle">"cheapest direct flight MEL β SIN, β€ $400"</text>
<!-- ββ level 1 ββ -->
<!-- A: selected -->
<g filter="url(#soft)"><rect x="185" y="280" width="230" height="78" rx="12" fill="#FFFFFF" stroke="#4F46E5" stroke-width="2"/></g>
<rect x="199" y="296" width="44" height="44" rx="11" fill="#EEF2FF"/>
<use href="#ic-search" transform="translate(208,305) scale(1.1)" color="#4F46E5"/>
<text x="255" y="314" font-size="13.5" font-weight="700" fill="#0F172A" font-family="Menlo, SF Mono, monospace">search_flights</text>
<text x="255" y="334" font-size="11" fill="#64748B" font-family="Menlo, SF Mono, monospace">(MELβSIN, direct)</text>
<rect x="363" y="269" width="52" height="22" rx="11" fill="#4F46E5"/>
<text x="389" y="284" font-size="11.5" font-weight="700" fill="#FFFFFF" text-anchor="middle">0.82</text>
<!-- B: explored -->
<g filter="url(#soft)"><rect x="505" y="280" width="230" height="78" rx="12" fill="#FFFFFF" stroke="#CBD5E1" stroke-width="1.5"/></g>
<rect x="519" y="296" width="44" height="44" rx="11" fill="#F1F5F9"/>
<use href="#ic-db" transform="translate(528,305) scale(1.1)" color="#64748B"/>
<text x="575" y="314" font-size="13.5" font-weight="700" fill="#334155" font-family="Menlo, SF Mono, monospace">query_history</text>
<text x="575" y="334" font-size="11" fill="#94A3B8" font-family="Menlo, SF Mono, monospace">(user preferences)</text>
<rect x="683" y="269" width="52" height="22" rx="11" fill="#E2E8F0"/>
<text x="709" y="284" font-size="11.5" font-weight="700" fill="#475569" text-anchor="middle">0.41</text>
<!-- C: pruned -->
<g opacity="0.65">
<rect x="825" y="280" width="230" height="78" rx="12" fill="#FFFFFF" stroke="#E2E8F0" stroke-width="1.5" stroke-dasharray="6 4"/>
<rect x="839" y="296" width="44" height="44" rx="11" fill="#F8FAFC"/>
<use href="#ic-plug" transform="translate(848,305) scale(1.1)" color="#94A3B8"/>
<text x="895" y="314" font-size="13.5" font-weight="700" fill="#94A3B8" font-family="Menlo, SF Mono, monospace">call_airline_api</text>
<text x="895" y="334" font-size="11" fill="#CBD5E1" font-family="Menlo, SF Mono, monospace">(auth missing β)</text>
<rect x="1003" y="269" width="52" height="22" rx="11" fill="#F1F5F9"/>
<text x="1029" y="284" font-size="11.5" font-weight="700" fill="#94A3B8" text-anchor="middle">0.17</text>
</g>
<!-- ββ level 2 ββ -->
<!-- A1 selected -->
<g filter="url(#soft)"><rect x="145" y="460" width="230" height="78" rx="12" fill="#FFFFFF" stroke="#4F46E5" stroke-width="2"/></g>
<rect x="159" y="476" width="44" height="44" rx="11" fill="#EEF2FF"/>
<use href="#ic-term" transform="translate(168,485) scale(1.1)" color="#4F46E5"/>
<text x="215" y="494" font-size="13.5" font-weight="700" fill="#0F172A" font-family="Menlo, SF Mono, monospace">filter_results</text>
<text x="215" y="514" font-size="11" fill="#64748B" font-family="Menlo, SF Mono, monospace">(price β€ 400, sortβ)</text>
<rect x="323" y="449" width="52" height="22" rx="11" fill="#4F46E5"/>
<text x="349" y="464" font-size="11.5" font-weight="700" fill="#FFFFFF" text-anchor="middle">0.88</text>
<!-- A2 explored -->
<g filter="url(#soft)"><rect x="425" y="460" width="230" height="78" rx="12" fill="#FFFFFF" stroke="#CBD5E1" stroke-width="1.5"/></g>
<rect x="439" y="476" width="44" height="44" rx="11" fill="#F1F5F9"/>
<use href="#ic-scale" transform="translate(448,485) scale(1.1)" color="#64748B"/>
<text x="495" y="494" font-size="13.5" font-weight="700" fill="#334155" font-family="Menlo, SF Mono, monospace">compare_prices</text>
<text x="495" y="514" font-size="11" fill="#94A3B8" font-family="Menlo, SF Mono, monospace">(3 carriers)</text>
<rect x="603" y="449" width="52" height="22" rx="11" fill="#E2E8F0"/>
<text x="629" y="464" font-size="11.5" font-weight="700" fill="#475569" text-anchor="middle">0.55</text>
<!-- B1 pruned -->
<g opacity="0.65">
<rect x="715" y="460" width="230" height="78" rx="12" fill="#FFFFFF" stroke="#E2E8F0" stroke-width="1.5" stroke-dasharray="6 4"/>
<rect x="729" y="476" width="44" height="44" rx="11" fill="#F8FAFC"/>
<use href="#ic-layers" transform="translate(738,485) scale(1.1)" color="#94A3B8"/>
<text x="785" y="494" font-size="13.5" font-weight="700" fill="#94A3B8" font-family="Menlo, SF Mono, monospace">rerank_memory</text>
<text x="785" y="514" font-size="11" fill="#CBD5E1" font-family="Menlo, SF Mono, monospace">(stale entries)</text>
<rect x="893" y="449" width="52" height="22" rx="11" fill="#F1F5F9"/>
<text x="919" y="464" font-size="11.5" font-weight="700" fill="#94A3B8" text-anchor="middle">0.33</text>
</g>
<!-- ββ answer ββ -->
<g filter="url(#soft)"><rect x="110" y="600" width="300" height="60" rx="12" fill="#ECFDF5" stroke="#059669" stroke-width="2"/></g>
<circle cx="140" cy="630" r="13" fill="#059669"/>
<path d="M134 630l4.5 4.5 8-9" fill="none" stroke="#FFFFFF" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/>
<text x="162" y="626" font-size="13.5" font-weight="700" fill="#065F46">Final answer Β· SQ218, $372</text>
<text x="162" y="646" font-size="11.5" fill="#059669">trajectory reward R(Ο*) = 0.91</text>
<!-- ββ legend ββ -->
<g font-size="12" fill="#475569">
<path d="M560 626 h44" stroke="#C7D2FE" stroke-width="8" stroke-linecap="round"/>
<path d="M560 626 h44" stroke="#4F46E5" stroke-width="3"/>
<text x="614" y="630">selected path</text>
<path d="M720 626 h44" stroke="#94A3B8" stroke-width="2"/>
<text x="774" y="630">explored</text>
<path d="M860 626 h44" stroke="#CBD5E1" stroke-width="2" stroke-dasharray="6 5"/>
<text x="914" y="630">pruned (v < ΞΈ)</text>
</g>
<text x="44" y="695" font-size="11.5" fill="#94A3B8">Figure 2 Β· Generated as native SVG by Claude Code β icons are inline vector paths, no external assets.</text>
</svg>
|