ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s

This commit is contained in:
2026-08-20 13:12:50 +00:00
commit b119135836
10275 changed files with 3284984 additions and 0 deletions
+60
View File
@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 440" width="780" height="440" style="background:#ffffff">
<defs>
<marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker>
<marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker>
</defs>
<!-- Central Agent circle -->
<circle cx="390" cy="230" r="68" fill="#e8e8e8" stroke="#333333" stroke-width="2.5"/>
<text x="390" y="222" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="22" fill="#333333" text-anchor="middle" font-weight="bold">Agent</text>
<text x="390" y="248" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle">Decisión autónoma</text>
<!-- LLM (top) -->
<rect x="295" y="62" width="190" height="72" rx="8" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="390" y="90" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" font-weight="bold">LLM: cerebro</text>
<text x="390" y="116" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="middle">Comprender · Pensar · Planificar · Decidir</text>
<line x1="390" y1="134" x2="390" y2="162" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<!-- Context (left) -->
<rect x="50" y="194" width="190" height="72" rx="8" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="145" y="222" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" font-weight="bold">Contexto: ojos</text>
<text x="145" y="248" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7.5" fill="#666666" text-anchor="middle">Instrucciones · Memoria · Conocimiento · Trayectoria</text>
<line x1="240" y1="230" x2="322" y2="230" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<!-- Tools (right) -->
<rect x="540" y="194" width="190" height="72" rx="8" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="635" y="222" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#333333" text-anchor="middle" font-weight="bold">Herramientas: manos y pies</text>
<text x="635" y="248" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle">Percepción · Ejecución · Colaboración · Código</text>
<line x1="458" y1="230" x2="540" y2="230" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<!-- Details under LLM -->
<rect x="30" y="62" width="240" height="72" rx="6" fill="#f5f5f5" stroke="#999999" stroke-width="1.5" stroke-dasharray="6,3"/>
<text x="150" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#555555" text-anchor="middle">Cap. 6 Evaluación · Cap. 7 Posentrenamiento</text>
<text x="150" y="102" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#888888" text-anchor="middle">Modelo como Agent · SFT · Aprendizaje por refuerzo</text>
<text x="150" y="122" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#888888" text-anchor="middle">Evaluación de extremo a extremo</text>
<line x1="270" y1="98" x2="293" y2="98" stroke="#999999" stroke-width="1.5" stroke-dasharray="4,3" marker-end="url(#ah-light)"/>
<!-- Details under Context -->
<rect x="50" y="295" width="240" height="72" rx="6" fill="#f5f5f5" stroke="#999999" stroke-width="1.5" stroke-dasharray="6,3"/>
<text x="170" y="315" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#555555" text-anchor="middle">Cap. 2 Ingeniería de contexto · Cap. 3 Base de conocimiento</text>
<text x="170" y="335" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#888888" text-anchor="middle">Ingeniería de prompts · Caché KV · Compresión · Memoria</text>
<text x="170" y="355" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#888888" text-anchor="middle">RAG · Índice estructurado · RAG agéntico</text>
<line x1="170" y1="266" x2="170" y2="293" stroke="#999999" stroke-width="1.5" stroke-dasharray="4,3" marker-end="url(#ah-light)"/>
<!-- Details under Tools -->
<rect x="490" y="295" width="240" height="72" rx="6" fill="#f5f5f5" stroke="#999999" stroke-width="1.5" stroke-dasharray="6,3"/>
<text x="610" y="315" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#555555" text-anchor="middle">Cap. 4 Herramientas · Cap. 5 Generación de código</text>
<text x="610" y="335" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#888888" text-anchor="middle">MCP · Arquitectura asíncrona de eventos · Seguridad de herramientas</text>
<text x="610" y="355" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#888888" text-anchor="middle">Código como pensamiento · Autoarranque del Agent</text>
<line x1="610" y1="266" x2="610" y2="293" stroke="#999999" stroke-width="1.5" stroke-dasharray="4,3" marker-end="url(#ah-light)"/>
<!-- Applications at bottom -->
<rect x="195" y="400" width="390" height="60" rx="8" fill="#f0f0f0" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="390" y="422" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" font-weight="bold">Cap. 8 Autoevolución · Cap. 9 Multimodalidad · Cap. 10 Multiagente</text>
<text x="390" y="446" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="middle">Paradigmas de aprendizaje · Creación de herramientas · Voz · Robótica · Colaboración</text>
<line x1="390" y1="298" x2="390" y2="398" stroke="#999999" stroke-width="1.5" stroke-dasharray="4,3" marker-end="url(#ah-light)"/>
</svg>

After

Width:  |  Height:  |  Size: 6.6 KiB

+73
View File
@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 420" width="820" height="420" style="background:#ffffff">
<defs>
<marker id="ah" markerWidth="10" markerHeight="7" refX="10" refY="3.5" orient="auto"><polygon points="0 0, 10 3.5, 0 7" fill="#333333"/></marker>
<marker id="ah-g" markerWidth="10" markerHeight="7" refX="10" refY="3.5" orient="auto"><polygon points="0 0, 10 3.5, 0 7" fill="#999999"/></marker>
</defs>
<!-- Chapter 1: Intro -->
<rect x="300" y="55" width="220" height="50" rx="8" fill="#e0e0e0" stroke="#333333" stroke-width="2"/>
<text x="410" y="75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" font-weight="bold">Capítulo 1: Fundamentos de agentes</text>
<text x="410" y="95" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#666666" text-anchor="middle">Tres pilares del agente · Patrones de diseño · ReAct</text>
<!-- Down arrows from Ch1 -->
<line x1="285" y1="80" x2="155" y2="138" stroke="#999999" stroke-width="1.5" marker-end="url(#ah-g)"/>
<line x1="410" y1="105" x2="410" y2="138" stroke="#999999" stroke-width="1.5" marker-end="url(#ah-g)"/>
<line x1="535" y1="80" x2="665" y2="138" stroke="#999999" stroke-width="1.5" marker-end="url(#ah-g)"/>
<!-- Group labels -->
<text x="155" y="152" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#555555" text-anchor="middle" font-weight="bold">Contexto (núcleo)</text>
<text x="410" y="152" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#555555" text-anchor="middle" font-weight="bold">Herramientas</text>
<text x="665" y="152" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#555555" text-anchor="middle" font-weight="bold">Modelo</text>
<!-- Context group -->
<rect x="30" y="165" width="248" height="55" rx="6" fill="#d8d8d8" stroke="#333333" stroke-width="2"/>
<text x="154" y="186" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#333333" text-anchor="middle" font-weight="bold">Capítulo 2: Ingeniería de contexto</text>
<text x="154" y="207" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle">Ingeniería de prompts · Caché KV · Compresión · Habilidades · Barra de estado</text>
<rect x="30" y="230" width="248" height="55" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="154" y="251" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#333333" text-anchor="middle" font-weight="bold">Capítulo 3: Memoria de usuario y base de conocimientos</text>
<text x="154" y="272" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#666666" text-anchor="middle">Memoria de usuario · RAG · Índice estructurado · Agentic RAG</text>
<!-- Tools group -->
<rect x="286" y="165" width="248" height="55" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="410" y="186" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" font-weight="bold">Capítulo 4: Herramientas</text>
<text x="410" y="207" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle">MCP · Seguridad de herramientas · Arquitectura de eventos asíncronos</text>
<rect x="286" y="230" width="248" height="55" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="410" y="251" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#333333" text-anchor="middle" font-weight="bold">Capítulo 5: Agentes de código y generación de código</text>
<text x="410" y="272" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle">Agente de código · El código como pensamiento · Bootstrapping del agente</text>
<!-- Model group -->
<rect x="542" y="165" width="248" height="55" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="666" y="186" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" font-weight="bold">Capítulo 6: Evaluación</text>
<text x="666" y="207" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="middle">Benchmark · LLM como juez · Selección de modelos</text>
<rect x="542" y="230" width="248" height="55" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="666" y="251" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" font-weight="bold">Capítulo 7: Posentrenamiento de modelos</text>
<text x="666" y="272" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle">SFT · Aprendizaje por refuerzo · LoRA · RL con llamada a herramientas</text>
<!-- Down arrows to bottom row -->
<line x1="154" y1="285" x2="154" y2="340" stroke="#999999" stroke-width="1.5" marker-end="url(#ah-g)"/>
<line x1="410" y1="285" x2="410" y2="340" stroke="#999999" stroke-width="1.5" marker-end="url(#ah-g)"/>
<line x1="666" y1="285" x2="666" y2="340" stroke="#999999" stroke-width="1.5" marker-end="url(#ah-g)"/>
<!-- Bottom label -->
<text x="410" y="335" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#555555" text-anchor="middle" font-weight="bold">Temas avanzados y aplicaciones</text>
<!-- Ch8, Ch9, Ch10 in parallel -->
<rect x="30" y="350" width="248" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2" stroke-dasharray="6,3"/>
<text x="154" y="371" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" font-weight="bold">Capítulo 8: Autoevolución de agentes</text>
<text x="154" y="392" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle">Paradigmas de aprendizaje · Aprendizaje por experiencia · Descubrimiento y creación de herramientas</text>
<rect x="286" y="350" width="248" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2" stroke-dasharray="6,3"/>
<text x="410" y="371" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#333333" text-anchor="middle" font-weight="bold">Capítulo 9: Interacción multimodal y en tiempo real</text>
<text x="410" y="392" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle">Voz · Uso de computadora · Robótica VLA</text>
<rect x="542" y="350" width="248" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2" stroke-dasharray="6,3"/>
<text x="666" y="371" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" font-weight="bold">Capítulo 10: Colaboración multiagente</text>
<text x="666" y="392" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="middle">Contexto compartido · Gestor · Descentralización</text>
</svg>

After

Width:  |  Height:  |  Size: 7.9 KiB

+71
View File
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 450" width="900" height="450" role="img" aria-labelledby="title desc">
<title id="title">Bucle de interacción entre el Agente y el Entorno</title>
<desc id="desc">El Agente contiene un Modelo rodeado por un Harness. El Entorno devuelve observaciones al Agente y el Agente envía acciones al Entorno; el Harness media la interacción, pero no es el Entorno.</desc>
<defs>
<marker id="arrow-dark" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="userSpaceOnUse">
<polygon points="0 0, 10 4, 0 8" fill="#333333"/>
</marker>
<style>
.sans { font-family: Arial, "Helvetica Neue", Helvetica, "PingFang SC", "Microsoft YaHei", sans-serif; }
.heading { fill: #303030; font-size: 20px; font-weight: 700; }
.subheading { fill: #333333; font-size: 17px; font-weight: 700; }
.body { fill: #333333; font-size: 15px; }
.note { fill: #666666; font-size: 13.5px; }
.box { stroke: #3f3f3f; stroke-width: 2; }
.flow { fill: none; stroke: #333333; stroke-width: 2.2; marker-end: url(#arrow-dark); }
</style>
</defs>
<rect width="900" height="500" fill="#ffffff"/>
<!-- Agent boundary -->
<rect class="box" x="28" y="42" width="432" height="382" rx="12" fill="#ffffff"/>
<text class="sans heading" x="50" y="72" dominant-baseline="middle">Agente</text>
<!-- Harness surrounds the model but remains inside the Agent boundary -->
<rect x="58" y="92" width="372" height="300" rx="10" fill="#f3f3f3" stroke="#666666" stroke-width="2" stroke-dasharray="8 4"/>
<text class="sans subheading" x="244" y="112" text-anchor="middle" dominant-baseline="middle">Harness (capa de ejecución e interacción del modelo)</text>
<rect class="box" x="145" y="130" width="250" height="58" rx="7" fill="#ffffff"/>
<text class="sans subheading" x="270" y="151" text-anchor="middle" dominant-baseline="middle">Contexto</text>
<text class="sans note" x="270" y="172" text-anchor="middle" dominant-baseline="middle">observaciones · historial · memoria · estado de la tarea</text>
<line class="flow" x1="270" y1="190" x2="270" y2="207"/>
<rect class="box" x="145" y="210" width="250" height="78" rx="8" fill="#d5d5d5"/>
<text class="sans heading" x="270" y="236" text-anchor="middle" dominant-baseline="middle">Model</text>
<text class="sans body" x="270" y="263" text-anchor="middle" dominant-baseline="middle">comprende · razona · elige la siguiente acción</text>
<line class="flow" x1="270" y1="290" x2="270" y2="313"/>
<rect class="box" x="145" y="316" width="250" height="50" rx="7" fill="#ffffff"/>
<text class="sans subheading" x="270" y="341" text-anchor="middle" dominant-baseline="middle">Herramientas e interfaces de acción</text>
<text class="sans note" x="244" y="382" text-anchor="middle" dominant-baseline="middle">bucle · gestión de estado · permisos · verificación · corrección</text>
<!-- Environment boundary -->
<rect class="box" x="620" y="78" width="252" height="322" rx="12" fill="#eeeeee"/>
<text class="sans heading" x="746" y="111" text-anchor="middle" dominant-baseline="middle">Entorno</text>
<text class="sans note" x="746" y="136" text-anchor="middle" dominant-baseline="middle">estado y reglas de transición</text>
<rect x="650" y="161" width="192" height="67" rx="7" fill="#ffffff" stroke="#777777" stroke-width="1.7"/>
<text class="sans subheading" x="746" y="184" text-anchor="middle" dominant-baseline="middle">Estado actual</text>
<text class="sans note" x="746" y="207" text-anchor="middle" dominant-baseline="middle">nuevo estado después de la acción</text>
<line x1="650" y1="247" x2="842" y2="247" stroke="#b0b0b0"/>
<text class="sans body" x="670" y="274" dominant-baseline="middle">sistema de archivos · base de datos</text>
<text class="sans body" x="670" y="304" dominant-baseline="middle">web · API · aplicaciones</text>
<text class="sans body" x="670" y="334" dominant-baseline="middle">usuarios · otros Agentes</text>
<text class="sans body" x="670" y="364" dominant-baseline="middle">mundo simulado o físico</text>
<!-- Classic AgentEnvironment loop -->
<path class="flow" d="M 620 145 H 398"/>
<rect x="477" y="119" width="116" height="22" rx="4" fill="#ffffff"/>
<text class="sans body" x="535" y="131" text-anchor="middle" dominant-baseline="middle">observación</text>
<path class="flow" d="M 398 341 H 617"/>
<rect x="477" y="311" width="116" height="22" rx="4" fill="#ffffff"/>
<text class="sans body" x="535" y="323" text-anchor="middle" dominant-baseline="middle">acción</text>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

+30
View File
@@ -0,0 +1,30 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 340" width="820" height="340" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="50" y="100" width="200" height="65" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="150.0" y="122.1" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Generador LLM</text>
<text x="150.0" y="142.9" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Crear primera traducción</text>
<rect x="50" y="185" width="200" height="45" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="150" y="208" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;Bahar uykusu...&quot; → traducción v1</text>
<line x1="150" y1="167" x2="150" y2="183" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="330" y="100" width="200" height="65" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="430.0" y="113.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Evaluador LLM</text>
<text x="430.0" y="132.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Evaluación</text>
<text x="430.0" y="152.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">multidimensional</text>
<line x1="252" y1="207" x2="330" y2="160" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="330" y="185" width="200" height="80" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="340" y="205" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">Precisión: 4/5</text>
<text x="340" y="225" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">Fluidez: 3/5 ← debe mejorarse</text>
<text x="340" y="245" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">Adecuación cultural: 4/5</text>
<line x1="430" y1="167" x2="430" y2="183" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<path d="M 430,267 Q 331.339380517819,114.0087186687023 150,98" fill="none" stroke="#999999" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah-light)"/>
<text x="290" y="90" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">Retroalimentación + sugerencias de mejora</text>
<rect x="610" y="100" width="170" height="55" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="695.0" y="117.1" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Número de</text>
<text x="695.0" y="137.9" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">iteraciones: n</text>
<text x="695" y="170" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Condiciones de salida:</text>
<text x="695" y="195" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">① Todas las dimensiones ≥ 4/5</text>
<text x="695" y="218" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">② Máximo de rondas alcanzado</text>
<rect x="220" y="310" width="380" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="410.0" y="327.1" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Resultado final: traducción de alta calidad tras 3</text>
<text x="410.0" y="347.90000000000003" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">iteraciones</text>
</svg>

After

Width:  |  Height:  |  Size: 5.7 KiB

+34
View File
@@ -0,0 +1,34 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 460" width="820" height="460" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="80" y="60" width="500" height="380" rx="8" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="330" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">while not done:</text>
<rect x="120" y="100" width="420" height="60" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="130" y="115" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">① Pensar (Razonamiento)</text>
<rect x="130" y="125" width="400" height="28" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="140" y="140" font-family="'Courier New', Courier, monospace" font-size="11.5" fill="#333333" text-anchor="start" dominant-baseline="central">&quot;Resultados insuficientes, se requieren más búsquedas&quot;</text>
<rect x="120" y="175" width="420" height="60" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="130" y="190" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">② Actuar</text>
<rect x="130" y="200" width="400" height="28" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="140" y="215" font-family="'Courier New', Courier, monospace" font-size="11.5" fill="#333333" text-anchor="start" dominant-baseline="central">web_search(&quot;Técnicas de entrenamiento RL Agentes 2025&quot;)</text>
<line x1="330" y1="162" x2="330" y2="173" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="120" y="250" width="420" height="60" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="130" y="265" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">③ Observar</text>
<rect x="130" y="275" width="400" height="28" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="140" y="290" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">tool_result: &quot;Encontrados 3 artículos relevantes...&quot;</text>
<line x1="330" y1="237" x2="330" y2="248" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<path d="M 540,280 Q 500.0,200.0 540,120" fill="none" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<text x="520.0" y="190.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Continuar bucle</text>
<rect x="610" y="60" width="190" height="190" rx="8" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="622" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Condiciones de salida</text>
<text x="620" y="100" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">① Tarea completada</text>
<text x="620" y="132" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">② final_answer invocado</text>
<text x="620" y="164" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">③ Sin respuesta de herramienta</text>
<text x="620" y="196" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">④ Máximo de rondas alcanzado</text>
<text x="620" y="228" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">⑤ Límite de errores superado</text>
<rect x="80" y="360" width="500" height="70" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="330" y="380" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ejemplo de ejecución práctica: corrección SWE-bench</text>
<text x="330" y="405" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Buscar código → Hallar error → Editar → Probar → Fallo → Editar → Éxito</text>
<text x="330" y="425" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">(5 rondas de iteración, 12 llamadas a herramientas)</text>
<line x1="330" y1="312" x2="330" y2="358" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="330.0" y="325.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle">done = True</text>
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

+45
View File
@@ -0,0 +1,45 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 440" width="820" height="440" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30.0" y="65" width="240" height="65" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="150.0" y="97.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Posentrenamiento</text>
<rect x="77.63492" y="140" width="144.73016" height="28" rx="14" fill="#666666" stroke="#333333" stroke-width="2"/>
<text x="150.0" y="154.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Entrenamiento</text>
<rect x="30.0" y="185" width="240" height="38" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="150.0" y="204.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Modifica los pesos del modelo</text>
<rect x="30.0" y="230" width="240" height="38" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="150.0" y="249.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Persistente · general</text>
<rect x="30.0" y="275" width="240" height="38" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="150.0" y="294.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Alto costo · actualización lenta</text>
<rect x="30.0" y="330" width="240" height="45" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="150.0" y="352" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">ej. aprender cuándo llamar a una herramienta</text>
<rect x="290.0" y="65" width="240" height="65" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="410.0" y="84.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Aprendizaje en</text>
<text x="410.0" y="110.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">contexto</text>
<rect x="355.29124" y="140" width="109.41752" height="28" rx="14" fill="#666666" stroke="#333333" stroke-width="2"/>
<text x="410.0" y="154.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Inferencia</text>
<rect x="290.0" y="185" width="240" height="38" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="410.0" y="204.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Actualización suave por atención</text>
<rect x="290.0" y="230" width="240" height="38" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="410.0" y="249.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Temporal · adaptación instantánea</text>
<rect x="290.0" y="275" width="240" height="38" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="410.0" y="294.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Limitado por la ventana de contexto</text>
<rect x="290.0" y="330" width="240" height="45" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="410.0" y="352" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">ej. aprender un formato desde 3 ejemplos</text>
<rect x="550.0" y="65" width="240" height="65" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="670.0" y="84.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Aprendizaje</text>
<text x="670.0" y="110.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">externalizado</text>
<rect x="615.7594" y="140" width="108.4812" height="28" rx="14" fill="#666666" stroke="#333333" stroke-width="2"/>
<text x="670.0" y="154.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ejecución</text>
<rect x="550.0" y="185" width="240" height="38" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="670.0" y="204.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Base de conocimiento + herramientas</text>
<rect x="550.0" y="230" width="240" height="38" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="670.0" y="249.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Persistente · actualizable</text>
<rect x="550.0" y="275" width="240" height="38" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="670.0" y="294.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Confiable · verificable</text>
<rect x="550.0" y="330" width="240" height="45" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="670.0" y="352" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">ej. convertir flujo de trabajo en herramienta</text>
<line x1="60" y1="430" x2="760" y2="430" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<text x="60" y="455" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Lento (Semanas)</text>
<text x="410" y="455" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Velocidad de aprendizaje</text>
<text x="760" y="455" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">Rápido (Milisegundos)</text>
</svg>

After

Width:  |  Height:  |  Size: 8.1 KiB

+74
View File
@@ -0,0 +1,74 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 1000 430" width="1000" height="430" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<text x="236.0" y="56" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Prompt del</text>
<text x="236.0" y="76" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">sistema</text>
<text x="354.0" y="56" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Definición de</text>
<text x="354.0" y="76" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">herramientas</text>
<text x="472.0" y="56" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Resultados de</text>
<text x="472.0" y="76" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">herramientas</text>
<text x="590.0" y="56" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Proceso de</text>
<text x="590.0" y="76" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">pensamiento</text>
<text x="708.0" y="56" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Historial de</text>
<text x="708.0" y="76" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">mensajes</text>
<text x="874" y="66" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Resultado</text>
<text x="168" y="128" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">Referencia completa</text>
<rect x="182" y="100" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="236.0" y="128" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="300" y="100" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="354.0" y="128" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="418" y="100" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="472.0" y="128" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="536" y="100" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="590.0" y="128" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="654" y="100" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="708.0" y="128" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<text x="874" y="128" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Funciona normalmente</text>
<text x="168" y="196" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">Sin def. herramientas</text>
<rect x="182" y="168" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="236.0" y="196" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="300" y="168" width="108" height="55" rx="6" fill="#ffffff" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="354.0" y="196" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#999999" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="418" y="168" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="472.0" y="196" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="536" y="168" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="590.0" y="196" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="654" y="168" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="708.0" y="196" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<text x="874" y="196" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#999999" text-anchor="middle" dominant-baseline="central" font-weight="normal">✗ No puede llamar herramientas</text>
<text x="168" y="264" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">Sin res. herramientas</text>
<rect x="182" y="236" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="236.0" y="264" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="300" y="236" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="354.0" y="264" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="418" y="236" width="108" height="55" rx="6" fill="#ffffff" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="472.0" y="264" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#999999" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="536" y="236" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="590.0" y="264" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="654" y="236" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="708.0" y="264" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<text x="874" y="264" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#999999" text-anchor="middle" dominant-baseline="central" font-weight="normal">✗ Bucle ciego</text>
<text x="168" y="332" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">Sin razonamiento</text>
<rect x="182" y="304" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="236.0" y="332" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="300" y="304" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="354.0" y="332" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="418" y="304" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="472.0" y="332" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="536" y="304" width="108" height="55" rx="6" fill="#ffffff" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="590.0" y="332" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#999999" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="654" y="304" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="708.0" y="332" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<text x="874" y="332" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">△ Decisiones inconsistentes</text>
<text x="168" y="400" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">Sin historial</text>
<rect x="182" y="372" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="236.0" y="400" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="300" y="372" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="354.0" y="400" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="418" y="372" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="472.0" y="400" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="536" y="372" width="108" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="590.0" y="400" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="654" y="372" width="108" height="55" rx="6" fill="#ffffff" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="708.0" y="400" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#999999" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<text x="874" y="400" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">△ Operaciones repetidas</text>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

+44
View File
@@ -0,0 +1,44 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 640" width="820" height="640" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="31.399200000000008" y="60" width="97.20159999999998" height="26" rx="13" fill="#666666" stroke="#333333" stroke-width="2"/>
<text x="80.0" y="73.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ronda 1</text>
<rect x="40" y="96" width="480" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="50" y="110" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">user</text>
<text x="50" y="132" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">&quot;Calcular el ingreso anual total: Q1 $2.5M, Q2 €2.1M, Q3 £1.8M&quot;</text>
<rect x="40" y="156" width="480" height="45" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="50" y="170" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">assistant.reasoning</text>
<text x="50" y="190" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">&quot;Convertir EUR y GBP a USD y luego sumar&quot;</text>
<rect x="40" y="211" width="480" height="70" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="50" y="225" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">assistant.tool_calls</text>
<text x="50" y="247" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">convert_currency(2100000, &quot;EUR&quot;, &quot;USD&quot;)</text>
<text x="50" y="265" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">convert_currency(1800000, &quot;GBP&quot;, &quot;USD&quot;)</text>
<rect x="40" y="291" width="480" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="50" y="305" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">tool (resultado)</text>
<text x="50" y="327" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">EUR→USD: 2,282,608.70</text>
<text x="290" y="327" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">GBP→USD: 2,278,481.01</text>
<rect x="31.399200000000008" y="356" width="97.20159999999998" height="26" rx="13" fill="#666666" stroke="#333333" stroke-width="2"/>
<text x="80.0" y="369.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ronda 2</text>
<rect x="40" y="392" width="480" height="45" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="50" y="406" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">assistant.reasoning</text>
<text x="50" y="426" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">&quot;Tipos de cambio obtenidos, llamando al intérprete de código&quot;</text>
<rect x="40" y="447" width="480" height="50" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="50" y="461" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">assistant.tool_calls</text>
<text x="50" y="483" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">code_interpreter(&quot;total = 2.5M + 2.28M + 2.28M&quot;)</text>
<rect x="31.399200000000008" y="507" width="97.20159999999998" height="26" rx="13" fill="#666666" stroke="#333333" stroke-width="2"/>
<text x="80.0" y="520.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ronda 3</text>
<rect x="40" y="543" width="480" height="45" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="50" y="557" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">assistant.content (respuesta final)</text>
<text x="50" y="579" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">&quot;Ingreso anual total $7.061.089,71, promedio trimestral $2.353.696,57&quot;</text>
<path d="M 540,60 C 560,60 560,319.0 565,324.0 C 560,329.0 560,588 540,588" fill="none" stroke="#333333" stroke-width="2"/>
<text x="600" y="250" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Trayectoria</text>
<text x="600" y="280" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">=</text>
<text x="600" y="310" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">Entrada completa</text>
<text x="600" y="340" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">que ve el LLM</text>
<text x="600" y="370" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">en cada llamada</text>
<rect x="570" y="410" width="230" height="140" rx="8" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="582" y="428" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Características clave</text>
<text x="685" y="445" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Acumulación de contexto</text>
<text x="685" y="470" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Se ve todo el historial en cada ronda</text>
<text x="685" y="500" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Trayectoria estructurada</text>
<text x="685" y="525" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">user / assistant / tool</text>
</svg>

After

Width:  |  Height:  |  Size: 8.6 KiB

+51
View File
@@ -0,0 +1,51 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 480" width="820" height="480" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="260" y="70" width="300" height="100" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="410" y="100" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">LLM (Kimi K3 / GPT-5.6)</text>
<text x="410" y="130" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Capacidades agénticas nativas tras entrenamiento con RL</text>
<rect x="620" y="70" width="180" height="210" rx="8" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="632" y="88" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Herramientas nativas</text>
<rect x="635" y="105" width="150" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="710.0" y="130.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">$web_search</text>
<rect x="635" y="170" width="150" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="710.0" y="195.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">code_interpreter</text>
<rect x="635" y="235" width="150" height="50" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="710.0" y="249.6" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Más</text>
<text x="710.0" y="270.4" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">herramientas...</text>
<line x1="560" y1="120" x2="633" y2="130" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="633" y1="195" x2="560" y2="145" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="100" y="210" width="460" height="280" rx="8" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="112" y="228" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Bucle ReAct (ejecución autónoma dentro del modelo)</text>
<rect x="120" y="250" width="200" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="220.0" y="268.4" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Usuario: Buscar la tendencia</text>
<text x="220.0" y="286.59999999999997" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">de Bitcoin del último mes</text>
<rect x="120" y="325" width="200" height="55" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="220.0" y="336.25" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Pensamiento: Se deben buscar</text>
<text x="220.0" y="352.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">datos en tiempo real y</text>
<text x="220.0" y="368.75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">analizarlos con código</text>
<line x1="220" y1="307" x2="220" y2="323" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="340" y="250" width="200" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="440.0" y="267.425" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Llamando a $web_search</text>
<text x="440.0" y="287.575" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;Precio BTC último mes&quot;</text>
<line x1="322" y1="277" x2="338" y2="277" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="340" y="325" width="200" height="55" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="440.0" y="343.4" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Resultado: [datos de precio]</text>
<text x="440.0" y="361.59999999999997" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">$67,230 → $71,450</text>
<line x1="440" y1="307" x2="440" y2="323" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="120" y="400" width="200" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="220.0" y="419.05" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Llamando a code_interpreter</text>
<text x="220.0" y="435.95" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Código de cálculo RSI, MACD</text>
<line x1="340" y1="377" x2="220" y2="398" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="340" y="400" width="200" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="440.0" y="411.25" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Resultado final: Informe de</text>
<text x="440.0" y="427.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">análisis técnico + gráfico de</text>
<text x="440.0" y="443.75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">visualización</text>
<line x1="322" y1="427" x2="338" y2="427" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<path d="M 565,480 Q 523.2305639386065,308.0187097062208 410,172" fill="none" stroke="#999999" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah-light)"/>
<text x="605" y="330" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Señal de entrenamiento RL</text>
<rect x="15" y="70" width="230" height="120" rx="8" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="27" y="88" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.0" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Diferencias con marcos tradicionales</text>
<text x="130" y="110" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">✗ Sin código de orquestación externo</text>
<text x="130" y="135" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">✗ Sin necesidad de escribir ReAct manual</text>
<text x="130" y="160" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ El modelo decide todo autónomamente</text>
</svg>

After

Width:  |  Height:  |  Size: 9.4 KiB

+34
View File
@@ -0,0 +1,34 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 460" width="820" height="460" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="80" y="60" width="500" height="380" rx="8" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="330" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">while not done:</text>
<rect x="120" y="100" width="420" height="60" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="130" y="115" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">① Pensar (Razonamiento)</text>
<rect x="130" y="125" width="400" height="28" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="140" y="140" font-family="'Courier New', Courier, monospace" font-size="11.5" fill="#333333" text-anchor="start" dominant-baseline="central">&quot;Resultados insuficientes, se requieren más búsquedas&quot;</text>
<rect x="120" y="175" width="420" height="60" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="130" y="190" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">② Actuar</text>
<rect x="130" y="200" width="400" height="28" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="140" y="215" font-family="'Courier New', Courier, monospace" font-size="11.5" fill="#333333" text-anchor="start" dominant-baseline="central">web_search(&quot;Técnicas de entrenamiento RL Agentes 2025&quot;)</text>
<line x1="330" y1="162" x2="330" y2="173" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="120" y="250" width="420" height="60" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="130" y="265" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">③ Observar</text>
<rect x="130" y="275" width="400" height="28" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="140" y="290" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">tool_result: &quot;Encontrados 3 artículos relevantes...&quot;</text>
<line x1="330" y1="237" x2="330" y2="248" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<path d="M 540,280 Q 500.0,200.0 540,120" fill="none" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<text x="520.0" y="190.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Continuar bucle</text>
<rect x="610" y="60" width="190" height="190" rx="8" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="622" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Condiciones de salida</text>
<text x="620" y="100" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">① Tarea completada</text>
<text x="620" y="132" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">② final_answer invocado</text>
<text x="620" y="164" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">③ Sin respuesta de herramienta</text>
<text x="620" y="196" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">④ Máximo de rondas alcanzado</text>
<text x="620" y="228" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">⑤ Límite de errores superado</text>
<rect x="80" y="360" width="500" height="70" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="330" y="380" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ejemplo de ejecución práctica: corrección SWE-bench</text>
<text x="330" y="405" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Buscar código → Hallar error → Editar → Probar → Fallo → Editar → Éxito</text>
<text x="330" y="425" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">(5 rondas de iteración, 12 llamadas a herramientas)</text>
<line x1="330" y1="312" x2="330" y2="358" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="330.0" y="325.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle">done = True</text>
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

+36
View File
@@ -0,0 +1,36 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 400" width="820" height="400" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="130" width="150" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="105.0" y="145.475" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Consulta del</text>
<text x="105.0" y="169.525" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">usuario</text>
<polygon points="300,117.0 370.0,157 300,197.0 230.0,157" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="300" y="157" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central">Clasificador</text>
<line x1="182" y1="157" x2="230" y2="157" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="490" y="55" width="160" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="570.0" y="69.6" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Solicitud de</text>
<text x="570.0" y="90.39999999999999" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">devolución</text>
<rect x="660" y="55" width="140" height="50" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="730.0" y="70.9" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Prompt devolución</text>
<text x="730.0" y="89.10000000000001" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">+ API pedidos</text>
<line x1="370" y1="157" x2="488" y2="80" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="490" y="155" width="160" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="570.0" y="180.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Soporte técnico</text>
<rect x="660" y="155" width="140" height="50" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="730.0" y="170.9" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Prompt diagnóstico</text>
<text x="730.0" y="189.1" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">+ Herramientas log</text>
<line x1="370" y1="157" x2="488" y2="180" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="490" y="255" width="160" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="570.0" y="269.6" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Preguntas</text>
<text x="570.0" y="290.40000000000003" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">frecuentes</text>
<rect x="660" y="255" width="140" height="50" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="730.0" y="271.875" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Prompt FAQ</text>
<text x="730.0" y="288.125" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">+ Base conocimiento</text>
<line x1="370" y1="157" x2="488" y2="280" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="490" y="355" width="160" height="50" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="570.0" y="380.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Otro</text>
<rect x="660" y="355" width="140" height="50" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="730.0" y="370.9" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Haiku (Bajo costo)</text>
<text x="730.0" y="389.09999999999997" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">+ Prompt general</text>
<line x1="370" y1="157" x2="488" y2="380" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="410" y="425" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Nota: La clasificación puede usarse con LLM o un clasificador tradicional; consultas simples se enrutan a modelos pequeños</text>
</svg>

After

Width:  |  Height:  |  Size: 6.3 KiB

+37
View File
@@ -0,0 +1,37 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 320" width="820" height="320" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="130" width="150" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="105.0" y="147.1" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Commit de código</text>
<text x="105.0" y="167.9" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Pull Request</text>
<text x="220" y="157" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">División</text>
<rect x="290" y="70" width="155" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="367.5" y="87.1" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">LLM₁ Revisión</text>
<text x="367.5" y="107.89999999999999" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">seguridad</text>
<rect x="450" y="70" width="130" height="55" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="515.0" y="81.25" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Inyección SQL</text>
<text x="515.0" y="97.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">XSS</text>
<text x="515.0" y="113.75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Fuga de permisos</text>
<line x1="180" y1="157" x2="288" y2="98" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="290" y="155" width="155" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="367.5" y="172.1" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">LLM₂ Revisión</text>
<text x="367.5" y="192.9" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">estilo</text>
<rect x="450" y="155" width="130" height="55" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="515.0" y="170.8" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Convenciones de nombres</text>
<text x="515.0" y="182.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Duplicación de código</text>
<text x="515.0" y="194.20000000000002" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Complejidad</text>
<line x1="180" y1="157" x2="288" y2="183" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="290" y="240" width="155" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="367.5" y="257.1" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">LLM₃ Revisión</text>
<text x="367.5" y="277.90000000000003" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">lógica</text>
<rect x="450" y="240" width="130" height="55" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="515.0" y="251.25" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Condiciones límite</text>
<text x="515.0" y="267.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Punteros nulos</text>
<text x="515.0" y="283.75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Concurrencia</text>
<line x1="180" y1="157" x2="288" y2="268" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="640" y="130" width="150" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="715.0" y="148.4" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Combinar resultados</text>
<text x="715.0" y="166.6" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Informe de revisión</text>
<line x1="582" y1="98" x2="638" y2="157" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="582" y1="183" x2="638" y2="157" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="582" y1="268" x2="638" y2="157" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
</svg>

After

Width:  |  Height:  |  Size: 6.6 KiB

+34
View File
@@ -0,0 +1,34 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 400" width="820" height="400" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="260" y="60" width="300" height="95" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="410" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Orquestador LLM</text>
<rect x="270" y="105" width="280" height="38" rx="4" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="410" y="124" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;Analizar problema → Buscar archivos → Asignar tareas&quot;</text>
<rect x="40" y="220" width="230" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="155.0" y="237.75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Trabajador 1: Modificar auth.py</text>
<text x="155.0" y="257.25" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Añadir soporte OAuth2</text>
<rect x="60" y="285" width="190" height="40" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="155.0" y="296.55" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Lectura/Edición</text>
<text x="155.0" y="313.45" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Herramienta archivo</text>
<line x1="410" y1="157" x2="155.0" y2="218" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="290" y="220" width="230" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="405.0" y="237.425" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Trabajador 2: Modificar api.py</text>
<text x="405.0" y="257.575" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Añadir nuevo endpoint</text>
<rect x="310" y="285" width="190" height="40" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="405.0" y="296.55" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Lectura/Edición</text>
<text x="405.0" y="313.45" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Herramienta archivo</text>
<line x1="410" y1="157" x2="405.0" y2="218" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="540" y="220" width="230" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="655.0" y="238.725" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Trabajador 3: Escribir test_auth.py</text>
<text x="655.0" y="256.275" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Casos de prueba</text>
<rect x="560" y="285" width="190" height="40" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="655.0" y="296.55" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ejecutar pruebas</text>
<text x="655.0" y="313.45" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Herramienta</text>
<line x1="410" y1="157" x2="655.0" y2="218" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="260" y="370" width="300" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="410.0" y="387.1" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Orquestador: combinar resultados →</text>
<text x="410.0" y="407.90000000000003" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">verificar consistencia</text>
<line x1="155.0" y1="327" x2="410" y2="368" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="405.0" y1="327" x2="410" y2="368" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="655.0" y1="327" x2="410" y2="368" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
</svg>

After

Width:  |  Height:  |  Size: 5.9 KiB

+27
View File
@@ -0,0 +1,27 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 260" width="820" height="260" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="55.0" y="65" width="130" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="120.0" y="92.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Documento de requisitos</text>
<rect x="200.0" y="65" width="130" height="55" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="265.0" y="92.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">LLM: Generar esquema</text>
<line x1="187.0" y1="92.5" x2="198.0" y2="92.5" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="345.0" y="65" width="130" height="55" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="410.0" y="92.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">LLM: Escribir cuerpo</text>
<line x1="332.0" y1="92.5" x2="343.0" y2="92.5" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="490.0" y="65" width="130" height="55" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="555.0" y="92.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">LLM: Traducir</text>
<line x1="477.0" y1="92.5" x2="488.0" y2="92.5" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="635.0" y="65" width="130" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="700.0" y="92.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Documento multilingüe</text>
<line x1="622.0" y1="92.5" x2="633.0" y2="92.5" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<polygon points="265.0,137.0 295.0,157 265.0,177.0 235.0,157" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="265.0" y="157" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central">Control</text>
<line x1="265.0" y1="120" x2="265.0" y2="137" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<polygon points="410.0,137.0 440.0,157 410.0,177.0 380.0,157" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="410.0" y="157" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central">Control</text>
<line x1="410.0" y1="120" x2="410.0" y2="137" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="70.0" y="195" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">&amp;quot;Notas de lanzamiento del producto&amp;quot;</text>
<text x="215.0" y="195" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">→ Esquema de 5 secciones</text>
<text x="360.0" y="195" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">→ Documento de 3000 palabras</text>
<text x="505.0" y="195" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">→ EN / JP / KR</text>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

+27
View File
@@ -0,0 +1,27 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 340" width="820" height="340" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="50" y="100" width="200" height="65" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="150.0" y="122.9" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">LLM generador</text>
<text x="150.0" y="143.70000000000002" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">generar traducción inicial</text>
<rect x="50" y="185" width="200" height="45" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="150" y="208" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">&amp;quot;Traducción inicial&amp;quot; → traducción v1</text>
<line x1="150" y1="167" x2="150" y2="183" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="330" y="100" width="200" height="65" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="430.0" y="122.9" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">LLM evaluador</text>
<text x="430.0" y="143.70000000000002" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">puntuación multidimensional</text>
<line x1="252" y1="207" x2="330" y2="160" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="330" y="185" width="200" height="80" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="340" y="205" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">precisión: 4/5</text>
<text x="340" y="225" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">fluidez: 3/5 ← requiere mejora</text>
<text x="340" y="245" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">adaptación cultural: 4/5</text>
<line x1="430" y1="167" x2="430" y2="183" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<path d="M 430,267 Q 331.339380517819,114.0087186687023 150,98" fill="none" stroke="#999999" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah-light)"/>
<text x="290" y="90" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">retroalimentación + sugerencias de mejora</text>
<rect x="610" y="100" width="170" height="55" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="695.0" y="127.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">número de iteraciones: n</text>
<text x="695" y="170" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">condiciones de salida:</text>
<text x="695" y="195" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">① todas las dimensiones ≥ 4/5</text>
<text x="695" y="218" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">② alcanzó el número máximo de rondas</text>
<rect x="220" y="310" width="380" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="410.0" y="337.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">salida final: traducción de alta calidad tras 3 iteraciones</text>
</svg>

After

Width:  |  Height:  |  Size: 5.0 KiB

+33
View File
@@ -0,0 +1,33 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 400" width="820" height="400" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="260" y="60" width="300" height="95" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="410" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">LLM orquestador</text>
<rect x="270" y="105" width="280" height="38" rx="4" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="410" y="124" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">&amp;quot;Analizar problema → Localizar archivos → Asignar subtareas&amp;quot;</text>
<rect x="40" y="220" width="230" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="155.0" y="237.9" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Trabajador 1: Modificar auth.py</text>
<text x="155.0" y="258.7" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Añadir soporte para OAuth2</text>
<rect x="60" y="285" width="190" height="40" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="155.0" y="296.6" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Lectura/Edición</text>
<text x="155.0" y="314.8" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Herramientas de archivos</text>
<line x1="410" y1="157" x2="155.0" y2="218" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="290" y="220" width="230" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="405.0" y="237.9" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Trabajador 2: Modificar api.py</text>
<text x="405.0" y="258.7" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Añadir nuevo endpoint</text>
<rect x="310" y="285" width="190" height="40" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="405.0" y="296.6" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Lectura/Edición</text>
<text x="405.0" y="314.8" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Herramientas de archivos</text>
<line x1="410" y1="157" x2="405.0" y2="218" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="540" y="220" width="230" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="655.0" y="237.9" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Trabajador 3: Escribir test_auth.py</text>
<text x="655.0" y="258.7" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Casos de prueba</text>
<rect x="560" y="285" width="190" height="40" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="655.0" y="296.6" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ejecutar pruebas</text>
<text x="655.0" y="314.8" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Herramientas</text>
<line x1="410" y1="157" x2="655.0" y2="218" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="260" y="370" width="300" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="410.0" y="397.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Orquestador: Fusionar resultados → Verificar consistencia</text>
<line x1="155.0" y1="327" x2="410" y2="368" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="405.0" y1="327" x2="410" y2="368" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="655.0" y1="327" x2="410" y2="368" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
</svg>

After

Width:  |  Height:  |  Size: 5.7 KiB

+34
View File
@@ -0,0 +1,34 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 320" width="820" height="320" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="130" width="150" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="105.0" y="147.9" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Commit de código</text>
<text x="105.0" y="168.70000000000002" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Pull Request</text>
<text x="220" y="157" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Segmentación</text>
<rect x="290" y="70" width="155" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="367.5" y="97.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">LLM de revisión de seguridad₁</text>
<rect x="450" y="70" width="130" height="55" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="515.0" y="80.7" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Inyección SQL</text>
<text x="515.0" y="98.9" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">XSS</text>
<text x="515.0" y="117.1" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Fuga de permisos</text>
<line x1="180" y1="157" x2="288" y2="98" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="290" y="155" width="155" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="367.5" y="182.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">LLM₂ de revisión de estilo</text>
<rect x="450" y="155" width="130" height="55" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="515.0" y="165.7" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Convención de nombres</text>
<text x="515.0" y="183.89999999999998" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Duplicación de código</text>
<text x="515.0" y="202.1" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Complejidad</text>
<line x1="180" y1="157" x2="288" y2="183" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="290" y="240" width="155" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="367.5" y="267.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">LLM₃ de revisión lógica</text>
<rect x="450" y="240" width="130" height="55" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="515.0" y="250.7" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Condición de frontera</text>
<text x="515.0" y="268.9" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Puntero nulo</text>
<text x="515.0" y="287.09999999999997" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Problema de concurrencia</text>
<line x1="180" y1="157" x2="288" y2="268" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="640" y="130" width="150" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="715.0" y="147.9" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Resultado agregado</text>
<text x="715.0" y="168.70000000000002" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Informe de revisión exhaustivo</text>
<line x1="582" y1="98" x2="638" y2="157" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="582" y1="183" x2="638" y2="157" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="582" y1="268" x2="638" y2="157" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
</svg>

After

Width:  |  Height:  |  Size: 6.0 KiB

+33
View File
@@ -0,0 +1,33 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 400" width="820" height="400" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="130" width="150" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="105.0" y="157.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Consulta del usuario</text>
<polygon points="300,117.0 370.0,157 300,197.0 230.0,157" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="300" y="157" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central">Clasificador</text>
<line x1="182" y1="157" x2="230" y2="157" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="490" y="55" width="160" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="570.0" y="80.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Solicitud de reembolso</text>
<rect x="660" y="55" width="140" height="50" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="730.0" y="71.6" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Prompt de política de reembolso</text>
<text x="730.0" y="89.8" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">+ API de pedidos</text>
<line x1="370" y1="157" x2="488" y2="80" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="490" y="155" width="160" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="570.0" y="180.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Soporte técnico</text>
<rect x="660" y="155" width="140" height="50" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="730.0" y="171.6" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Prompt de diagnóstico</text>
<text x="730.0" y="189.79999999999998" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">+ Herramienta de registros</text>
<line x1="370" y1="157" x2="488" y2="180" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="490" y="255" width="160" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="570.0" y="280.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">FAQ</text>
<rect x="660" y="255" width="140" height="50" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="730.0" y="271.6" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Prompt de FAQ</text>
<text x="730.0" y="289.8" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">+ Base de conocimientos</text>
<line x1="370" y1="157" x2="488" y2="280" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="490" y="355" width="160" height="50" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="570.0" y="380.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Otros</text>
<rect x="660" y="355" width="140" height="50" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="730.0" y="371.6" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Haiku (bajo costo)</text>
<text x="730.0" y="389.8" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">+ Prompt general</text>
<line x1="370" y1="157" x2="488" y2="380" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="410" y="425" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Clave: la clasificación se puede realizar mediante LLM o un clasificador tradicional; las preguntas simples/comunes se dirigen a un modelo pequeño</text>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

+67
View File
@@ -0,0 +1,67 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 520" width="780" height="520" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="20" y="55" width="350" height="480" rx="8" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="32" y="73" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Contexto compartido (colaboración heredada)</text>
<g transform="translate(0 4)">
<rect x="35" y="82" width="320" height="100" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="43" y="96" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Fase 1: Analista de requisitos</text>
<text x="47" y="114" font-family="'Courier New', Courier, monospace" font-size="7" fill="#333333" text-anchor="start" dominant-baseline="central">sys: "Tu responsabilidad es comprender completamente los requisitos..."</text>
<text x="47" y="132" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">herramientas: [ask_question, save_req]</text>
<text x="47" y="150" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#333333" text-anchor="start" dominant-baseline="central">usuario: "Escribe un script de análisis de CSV"</text>
<text x="47" y="168" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">agente: "¿Qué tipos de archivos deben procesarse?"</text>
<g transform="translate(0 10)">
<rect x="35" y="184" width="320" height="100" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="43" y="198" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Fase 2: Ingeniero de software</text>
<text x="47" y="216" font-family="'Courier New', Courier, monospace" font-size="8" fill="#333333" text-anchor="start" dominant-baseline="central">sys: "Escribir código basado en los requisitos confirmados..."</text>
<text x="47" y="234" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">herramientas: [write_file, execute_code]</text>
<text x="47" y="252" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">agente: write_file(&quot;analyze.py&quot;, ...)</text>
<text x="47" y="270" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">agente: execute_code(&quot;python test.py&quot;)</text>
</g>
<g transform="translate(0 20)">
<rect x="35" y="286" width="320" height="100" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="43" y="300" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Fase 3: Revisor de código</text>
<text x="47" y="318" font-family="'Courier New', Courier, monospace" font-size="9.5" fill="#333333" text-anchor="start" dominant-baseline="central">sys: "Revisar la calidad y seguridad del código..."</text>
<text x="47" y="336" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">herramientas: [run_linter, run_tests]</text>
<text x="47" y="354" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">agente: run_linter → 2 advertencias</text>
<text x="47" y="372" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">agente: approve_code()</text>
</g>
<g transform="translate(0 38)">
<rect x="35" y="388" width="320" height="28" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="195" y="402" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">↑ Todas las fases comparten el mismo historial de conversación</text>
<text x="195" y="434" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Traza completa</text>
<text x="195" y="456" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✗ Expansión rápida del contexto</text>
</g>
</g>
<rect x="410" y="55" width="350" height="480" rx="8" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="422" y="73" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Sin contexto compartido (colaboración aislada)</text>
<g transform="translate(0 4)">
<rect x="425" y="82" width="320" height="80" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="433" y="96" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Agente de glosario</text>
<text x="437" y="114" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">sys: "Identificar términos y traducir..."</text>
<text x="437" y="132" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">herramientas: [search_dict, write_file]</text>
<text x="437" y="150" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">→ glossary.json</text>
<g transform="translate(0 10)">
<rect x="425" y="170" width="320" height="80" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="433" y="184" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Agente de traducción</text>
<text x="437" y="202" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">sys: "Traducir este capítulo..."</text>
<text x="437" y="220" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">herramientas: [read_file, write_file]</text>
<text x="437" y="238" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">→ chapter1_zh.md</text>
</g>
<g transform="translate(0 20)">
<rect x="425" y="258" width="320" height="80" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="433" y="272" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Agente corrector</text>
<text x="437" y="290" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">sys: "Verificar la consistencia terminológica..."</text>
<text x="437" y="308" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">herramientas: [read_file, write_file]</text>
<text x="437" y="326" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">→ review_report.md</text>
</g>
<g transform="translate(0 39)">
<rect x="425" y="351" width="320" height="65" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="585" y="367" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Sistema de archivos compartido</text>
<text x="437" y="389" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#333333" text-anchor="start" dominant-baseline="central">glossary.json chapter1_zh.md review_report.md</text>
<text x="585" y="406" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">+ Parámetros de llamada a herramientas pasan datos estructurados</text>
<text x="585" y="433" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Modular · Extensible · Paralelo</text>
<text x="585" y="455" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✗ Sincronización compleja de información</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.8 KiB

+56
View File
@@ -0,0 +1,56 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 810 555" width="810" height="555" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="55" width="180" height="65" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="120" y="72" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Isabella Rodriguez</text>
<text x="120" y="92" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Propietario de Hobbs Cafe</text>
<text x="120" y="108" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Hospitalario y sociable</text>
<rect x="30" y="140" width="240" height="224" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="150" y="160" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Flujo de memoria</text>
<text x="40" y="184" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">[08:30] Hobbs Cafe abre sus puertas</text>
<text x="40" y="199" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">importancia: 4 recencia: 0.9</text>
<text x="40" y="220" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">[09:15] El cliente Klaus viene a comprar café</text>
<text x="40" y="235" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">importancia: 5 recencia: 0.85</text>
<text x="40" y="256" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">[10:00] Se decide celebrar una fiesta de San Valentín</text>
<text x="40" y="271" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">importancia: 9 recencia: 0.8</text>
<text x="40" y="292" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">[11:30] Se invita a la cliente María a la fiesta</text>
<text x="40" y="307" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">importancia: 8 recencia: 0.7</text>
<text x="40" y="328" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">[14:00] Pedir a María ayuda para decorar el lugar</text>
<text x="40" y="343" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">importancia: 7 recencia: 0.6</text>
<rect x="285" y="140" width="230" height="188" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="400" y="160" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Reflexión</text>
<text x="295" y="184" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">"¿Quiénes son los clientes habituales de Hobbs?"</text>
<text x="295" y="199" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">→ Maria, Klaus, Tom (visitantes frecuentes)</text>
<text x="295" y="220" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">"¿A quién debería invitar a la fiesta?"</text>
<text x="295" y="235" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">→ Invitar tanto a habituales como a amigos</text>
<text x="295" y="256" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">"¿Qué tan avanzada está la preparación de la fiesta?"</text>
<text x="295" y="271" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">→ Varios invitados, el lugar aún necesita decoración</text>
<text x="295" y="292" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">"¿Quién puede ayudarme a decorar la cafetería?"</text>
<text x="295" y="307" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">→ Maria (amiga, dispuesta a ayudar)</text>
<rect x="530" y="140" width="250" height="260" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="655" y="160" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Planificación y acción</text>
<text x="540" y="184" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">08:00 Despertar + Desayuno</text>
<text x="540" y="220" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">09:00 Hobbs abre al público</text>
<text x="540" y="256" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">12:00 Invitar a clientes mientras se opera la tienda</text>
<text x="540" y="292" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">14:00 Decorar el lugar con María</text>
<text x="540" y="328" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">16:00 Preparar refrigerios y asientos</text>
<text x="540" y="343" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">← Ajuste dinámico</text>
<text x="540" y="364" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">18:00 Celebrar la fiesta de San Valentín en Hobbs</text>
<line x1="270" y1="250" x2="285" y2="250" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="263" y="213" width="30" height="16" rx="2" fill="#ffffff" stroke="none"/>
<text x="277.5" y="225" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="auto">Recuperación</text>
<line x1="515" y1="250" x2="530" y2="250" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="508" y="213" width="30" height="16" rx="2" fill="#ffffff" stroke="none"/>
<text x="522.5" y="225" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="auto">Conducir</text>
<rect x="30" y="420" width="750" height="150" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="405" y="438" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Comportamiento emergente (25 agentes · 2 días de tiempo virtual)</text>
<text x="50" y="468" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">▸ Socialización espontánea</text>
<text x="62" y="489" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Encuentros → amistad → reuniones</text>
<text x="410" y="468" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">▸ Propagación de información</text>
<text x="422" y="489" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">La invitación a la fiesta se difunde a muchos agentes</text>
<text x="50" y="516" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">▸ Propagación de elección</text>
<text x="62" y="537" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">La campaña para la alcaldía se propaga entre los agentes</text>
<text x="410" y="516" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">▸ Memoria de relaciones</text>
<text x="422" y="537" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Recuerda chats anteriores, continúa temas</text>
<text x="405" y="563" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Los comportamientos no están preprogramados: son resultados emergentes de memoria + reflexión + razonamiento social de sentido común</text>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

+68
View File
@@ -0,0 +1,68 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 560" width="780" height="560" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="260" y="55" width="260" height="75" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="390" y="75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Juez (basado en código)</text>
<text x="390" y="97" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">Estado del juego · Control de fase · Distribución de información</text>
<text x="390" y="113" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">Noche → Día → Votación → Resolución</text>
<rect x="40" y="180" width="135" height="155" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="107" y="200" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">🐺 Hombre lobo 1</text>
<text x="107" y="228" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Visible: Identidades de compañeros</text>
<text x="107" y="252" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Estrategia: Disfrazarse de aldeano</text>
<text x="107" y="276" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Noche: Elegir objetivo</text>
<line x1="390" y1="132" x2="107" y2="178" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="130" y="315" width="40" height="18" rx="9" fill="#666666" stroke="#333333" stroke-width="2"/>
<text x="150.0" y="324.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Conocimiento mutuo</text>
<rect x="185" y="180" width="135" height="155" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="252" y="200" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">🐺 Hombre lobo 2</text>
<text x="252" y="228" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Visible: Identidades de compañeros</text>
<text x="252" y="252" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Estrategia: Seguir y proteger</text>
<text x="252" y="276" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Noche: Negociar objetivo</text>
<line x1="390" y1="132" x2="252" y2="178" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="275" y="315" width="40" height="18" rx="9" fill="#666666" stroke="#333333" stroke-width="2"/>
<text x="295.0" y="324.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Conocimiento mutuo</text>
<rect x="330" y="180" width="135" height="155" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="397" y="200" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">🔮 Vidente</text>
<text x="397" y="228" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Visible: Resultados de investigación</text>
<text x="397" y="252" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Estrategia: Elegir cuándo revelar</text>
<text x="397" y="276" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Noche: Investigar a 1 persona</text>
<line x1="390" y1="132" x2="397" y2="178" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="410" y="315" width="50" height="18" rx="9" fill="#666666" stroke="#333333" stroke-width="2"/>
<text x="435.0" y="324.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Resultados de la investigación</text>
<rect x="475" y="180" width="135" height="155" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="542" y="200" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">🧪 Bruja</text>
<text x="542" y="228" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Visible: Muerte/Curación</text>
<text x="542" y="252" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Estrategia: Conservar poción/antídoto</text>
<text x="542" y="276" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Noche: Salvar/Envenenar a 1 persona</text>
<line x1="390" y1="132" x2="542" y2="178" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="620" y="180" width="135" height="155" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="687" y="200" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">👤 Aldeano ×2</text>
<text x="687" y="228" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Visible: Solo información pública</text>
<text x="687" y="252" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Estrategia: Razonamiento lógico</text>
<text x="687" y="276" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Día: Analizar discurso</text>
<line x1="390" y1="132" x2="687" y2="178" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="30" y="355" width="720" height="95" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="375" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Control de acceso a la información: El juez filtra el contexto por rol</text>
<text x="50" y="399" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Hombre lobo:</text>
<text x="132" y="399" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">ID de aliados + conversación nocturna + discurso público</text>
<text x="400" y="399" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Vidente:</text>
<text x="485" y="399" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Resultados de verificación propia + discurso público</text>
<text x="50" y="423" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Bruja:</text>
<text x="132" y="423" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Muertes + estado de pociones + discurso público</text>
<text x="400" y="423" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Aldeano:</text>
<text x="485" y="423" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Solo discurso público + votos</text>
<rect x="30" y="468" width="720" height="105" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="390" y="488" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Interacción de voz en tiempo real (ASR + LLM + TTS)</text>
<text x="137" y="514" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Discusión diurna</text>
<text x="137" y="534" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">El juez establece el orden de habla</text>
<text x="137" y="552" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Hablar en turno por asiento</text>
<text x="312" y="514" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fase de votación</text>
<text x="312" y="534" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Recopilar votos de los jugadores</text>
<text x="312" y="552" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Contar + anunciar votos</text>
<text x="487" y="514" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fase nocturna</text>
<text x="487" y="534" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Despertar roles por turno</text>
<text x="487" y="552" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Canal de voz privado</text>
<text x="662" y="514" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Jugador humano</text>
<text x="662" y="534" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Asignar roles aleatoriamente</text>
<text x="662" y="552" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Votación por voz/habla</text>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

+81
View File
@@ -0,0 +1,81 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 460" width="780" height="460" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<!-- Agents (left) -->
<rect x="30" y="60" width="150" height="44" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="105" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente A</text>
<rect x="30" y="118" width="150" height="44" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="105" y="140" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente B</text>
<!-- Root: virtual filesystem -->
<rect x="288" y="56" width="204" height="60" rx="8" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="390" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Sistema de archivos virtual /</text>
<text x="390" y="100" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#555555" text-anchor="middle" dominant-baseline="central">Interfaz unificada: read_file · write_file · list_dir</text>
<!-- User (right) -->
<rect x="600" y="58" width="160" height="48" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="680" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Usuario</text>
<text x="680" y="96" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#555555" text-anchor="middle" dominant-baseline="central">Subida / Descarga</text>
<!-- Agent -> raíz -->
<line x1="180" y1="82" x2="284" y2="82" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="180" y1="140" x2="284" y2="100" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<!-- User -> espacio de trabajo compartido (ortogonal, discontinuo) -->
<polyline points="680,106 680,140 295,140 295,196" fill="none" stroke="#333333" stroke-width="2" stroke-dasharray="6,4" marker-end="url(#ah)"/>
<text x="470" y="132" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#555555" text-anchor="middle" dominant-baseline="central">Subida / Descarga</text>
<!-- Root -> cuatro regiones (fan-out de montaje) -->
<line x1="390" y1="118" x2="105" y2="196" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="390" y1="118" x2="485" y2="196" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="390" y1="118" x2="675" y2="196" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="210" y="168" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#999999" text-anchor="middle" dominant-baseline="central">Montar</text>
<!-- Region 1: Scratchpad (stacked to imply per-agent) -->
<rect x="26" y="206" width="170" height="185" rx="6" fill="#f7f7f7" stroke="#333333" stroke-width="1.5"/>
<rect x="20" y="200" width="170" height="185" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="105" y="226" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Espacio de trabajo privado del agente</text>
<text x="105" y="250" font-family="'Courier New', Courier, monospace" font-size="12" fill="#444444" text-anchor="middle" dominant-baseline="central">/scratch/&lt;id&gt;</text>
<text x="105" y="270" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central">Scratchpad</text>
<line x1="40" y1="284" x2="170" y2="284" stroke="#cccccc" stroke-width="1"/>
<text x="105" y="303" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central">Privado · Solo agente</text>
<text x="105" y="324" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central">Destruido con la instancia</text>
<text x="105" y="345" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#333333" text-anchor="middle" dominant-baseline="central">Lectura/Escritura · No requiere control de concurrencia</text>
<text x="105" y="372" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central">Uno por agente</text>
<!-- Region 2: Shared Workspace (emphasis) -->
<rect x="210" y="200" width="170" height="185" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="295" y="226" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Espacio compartido multiagente</text>
<text x="295" y="250" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central">/workspace/shared</text>
<text x="295" y="270" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#555555" text-anchor="middle" dominant-baseline="central">Espacio de trabajo compartido</text>
<line x1="224" y1="284" x2="366" y2="284" stroke="#999999" stroke-width="1"/>
<text x="295" y="303" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central">Visible para el usuario · Persistente</text>
<text x="295" y="324" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#333333" text-anchor="middle" dominant-baseline="central">Lectura/Escritura · Control de concurrencia requerido</text>
<text x="295" y="345" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central">Bloqueo optimista · worktree</text>
<!-- Region 3: External mounted resources -->
<rect x="400" y="200" width="170" height="185" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="485" y="226" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Recursos externos montados</text>
<text x="485" y="250" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#444444" text-anchor="middle" dominant-baseline="central">/mnt/gdrive · /mnt/notion</text>
<text x="485" y="270" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central">Vía adaptador</text>
<line x1="414" y1="284" x2="556" y2="284" stroke="#cccccc" stroke-width="1"/>
<text x="485" y="303" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central">Sujeto a autorización externa</text>
<text x="485" y="324" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#333333" text-anchor="middle" dominant-baseline="central">Principalmente de solo lectura · Escribir con precaución</text>
<text x="485" y="345" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central">Alta latencia · Consistencia débil</text>
<!-- Region 4: Built-in system resources -->
<rect x="590" y="200" width="170" height="185" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="675" y="226" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Recursos integrados del sistema</text>
<text x="675" y="250" font-family="'Courier New', Courier, monospace" font-size="12" fill="#444444" text-anchor="middle" dominant-baseline="central">/skills</text>
<text x="675" y="270" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="middle" dominant-baseline="central">Habilidades · Plantillas · Manuales</text>
<line x1="604" y1="284" x2="746" y2="284" stroke="#cccccc" stroke-width="1"/>
<text x="675" y="303" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#333333" text-anchor="middle" dominant-baseline="central">Compartido globalmente · Solo lectura</text>
<text x="675" y="324" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central">Estable entre sesiones</text>
<text x="675" y="345" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central">Divulgación progresiva</text>
<!-- External data source cloud under region 3 -->
<rect x="400" y="418" width="170" height="42" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="6,4"/>
<text x="485" y="433" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central">Fuentes de datos externas</text>
<text x="485" y="450" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Google Drive · Notion</text>
<line x1="485" y1="416" x2="485" y2="387" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

+55
View File
@@ -0,0 +1,55 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 490" width="780" height="490" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="65" width="300" height="200" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="180" y="87" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente proponente</text>
<text x="42" y="113" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Entrada: Resumen extendido del artículo (2000 palabras)</text>
<rect x="40" y="127" width="280" height="124" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="50" y="144.0" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">---</text>
<text x="50" y="158.0" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">tema: académico</text>
<text x="50" y="172.0" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">---</text>
<text x="50" y="186.0" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"># Mecanismo de atención de Transformer</text>
<text x="50" y="200.0" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"></text>
<text x="50" y="214.0" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">## Idea central</text>
<text x="50" y="228.0" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">- Autoatención calcula Q·K^T/√d</text>
<text x="50" y="242.0" font-family="'Courier New', Courier, monospace" font-size="8" fill="#333333" text-anchor="start" dominant-baseline="central">- Procesamiento en paralelo de atención multicabezal</text>
<text x="180" y="255" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Comprender estructura del contenido → descomponer en diapositivas</text>
<rect x="450" y="65" width="300" height="200" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="600" y="87" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente revisor</text>
<rect x="460" y="107" width="280" height="38" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="468" y="120" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">① Renderizado con Slidev → PDF/PNG</text>
<text x="468" y="135" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">② Evaluación multidimensional del LLM de visión</text>
<rect x="460" y="151" width="280" height="85" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="468" y="165" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Retroalimentación estructurada:</text>
<text x="468" y="183" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">Página Tipo de problema Gravedad</text>
<text x="468" y="198" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">P3 Contenido denso Alto</text>
<text x="468" y="213" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">P7 Fuente demasiado pequeña Medio</text>
<text x="468" y="228" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">P11 Desajuste de color Bajo</text>
<text x="600" y="255" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Renderizado + análisis visual → sugerencias de mejora accionables</text>
<line x1="332" y1="135" x2="448" y2="135" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="390.0" y="123" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Código Slidev</text>
<line x1="448" y1="215" x2="332" y2="215" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="390.0" y="231" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Retroalimentación estructurada</text>
<rect x="30" y="290" width="720" height="110" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="308" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Proceso de mejora iterativo</text>
<rect x="75" y="325" width="190" height="62" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="85" y="339" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Ronda 1</text>
<text x="85" y="357" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Borrador de 12 páginas</text>
<text x="85" y="375" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">5 problemas</text>
<line x1="269" y1="356" x2="291" y2="356" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="295" y="325" width="190" height="62" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="305" y="339" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Ronda 2</text>
<text x="305" y="357" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">14 páginas (páginas densas divididas)</text>
<text x="305" y="375" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">2 problemas</text>
<line x1="489" y1="356" x2="511" y2="356" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="515" y="325" width="190" height="62" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="525" y="339" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Ronda 3</text>
<text x="525" y="357" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">14 páginas (fuente corregida)</text>
<text x="525" y="375" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">0 problemas ✓</text>
<rect x="30" y="415" width="720" height="90" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="390" y="435" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">¿Por qué no usar un solo agente?</text>
<text x="60" y="460" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Agente único: renderizado de imágenes ×N rondas → explosión de contexto</text>
<text x="60" y="478" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">(captura de pantalla 1080p = miles de tokens × 14 páginas × 5 rondas)</text>
<text x="410" y="460" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">Agente dual: El revisor solo ve la versión actual</text>
<text x="410" y="478" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">El proponente solo acumula retroalimentación de texto → contexto limpio</text>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

+44
View File
@@ -0,0 +1,44 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 455" width="780" height="455" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="240" y="60" width="300" height="100" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="390" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente gestor</text>
<text x="390" y="106" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Comprensión de la tarea → Descomposición → Programación → Síntesis</text>
<text x="390" y="126" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Conjunto de herramientas: [call_agent_A, call_agent_B,</text>
<text x="390" y="142" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">call_agent_C, search, write_file]</text>
<rect x="50" y="240" width="210" height="120" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="155" y="260" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Subagente A</text>
<text x="155" y="280" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Rol: Recopilación de datos</text>
<text x="155" y="302" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Buscar documentación técnica</text>
<text x="155" y="320" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Extraer información clave</text>
<rect x="205" y="335" width="50" height="20" rx="10" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="230.0" y="345.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Paso 1</text>
<line x1="290" y1="162" x2="155" y2="238" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<line x1="262" y1="300" x2="283" y2="300" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="285" y="240" width="210" height="120" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="390" y="260" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Subagente B</text>
<text x="390" y="280" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Rol: Análisis y procesamiento</text>
<text x="390" y="302" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Comparar y analizar datos</text>
<text x="390" y="320" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Generar informe estadístico</text>
<rect x="440" y="335" width="50" height="20" rx="10" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="465.0" y="345.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Paso 2</text>
<line x1="390" y1="162" x2="390" y2="238" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<line x1="497" y1="300" x2="518" y2="300" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="520" y="240" width="210" height="120" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="625" y="260" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Subagente C</text>
<text x="625" y="280" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Rol: Generación de informes</text>
<text x="625" y="302" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Escribir informe final</text>
<text x="625" y="320" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Formatear salida</text>
<rect x="675" y="335" width="50" height="20" rx="10" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="700.0" y="345.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Paso 3</text>
<line x1="490" y1="162" x2="625" y2="238" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="30" y="380" width="720" height="95" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="398" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Flujo de ejecución secuencial</text>
<text x="50" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">El gestor llama a A</text>
<text x="155" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">→ A devuelve datos</text>
<text x="260" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">→ El gestor pasa a B</text>
<text x="380" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">→ B devuelve análisis</text>
<text x="485" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">→ El gestor pasa a C</text>
<text x="610" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">→ C devuelve informe</text>
<text x="390" y="452" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Perspectiva del gestor: Llamar a un agente = Llamar a una herramienta (enviar solicitud → recibir respuesta)</text>
</svg>

After

Width:  |  Height:  |  Size: 8.4 KiB

+55
View File
@@ -0,0 +1,55 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 530" width="780" height="530" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker><marker id="ah-sm" markerWidth="6" markerHeight="4" refX="6" refY="2" orient="auto"><polygon points="0 0, 6 2, 0 4" fill="#333333"/></marker></defs>
<rect x="240" y="55" width="300" height="70" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="390" y="77" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente gestor</text>
<text x="390" y="103" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Planificación de tareas · Monitoreo de progreso · Manejo de excepciones · Síntesis de resultados</text>
<rect x="30" y="170" width="230" height="185" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="145" y="190" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente de glosario</text>
<text x="145" y="208" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Glosario</text>
<text x="42" y="230" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Recibir libro completo → Identificar términos técnicos</text>
<text x="42" y="248" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Buscar en diccionarios especializados + convenciones de traducción</text>
<text x="42" y="266" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Salida: glossary.json</text>
<rect x="38" y="285" width="214" height="55" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="44" y="298" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">{"attention": "Atención",</text>
<text x="44" y="313" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;transformer&quot;: &quot;Transformer&quot;,</text>
<text x="44" y="328" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> "backprop": "retropropagación"}</text>
<line x1="390" y1="127" x2="145" y2="168" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="270" y="170" width="230" height="185" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="385" y="190" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente de traducción ×N</text>
<text x="385" y="208" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Traducción del capítulo</text>
<text x="282" y="230" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Entrada: Capítulo + Glosario + Guía</text>
<text x="282" y="248" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Traducir términos estrictamente según el glosario</text>
<text x="282" y="266" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Salida: chapter{n}_zh.md</text>
<rect x="278" y="285" width="214" height="40" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="284" y="298" font-family="'Courier New', Courier, monospace" font-size="6.5" fill="#333333" text-anchor="start" dominant-baseline="central">"...el mecanismo de atención calcula la similitud de</text>
<text x="284" y="313" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> Query·Key^T ..."</text>
<line x1="390" y1="127" x2="385" y2="168" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="520" y="170" width="230" height="185" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="635" y="190" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente corrector</text>
<text x="635" y="208" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Revisión del texto completo</text>
<text x="532" y="230" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Escanear y verificar la consistencia de términos</text>
<text x="532" y="248" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Verificar fluidez y legibilidad</text>
<text x="532" y="266" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Salida: review_report.md</text>
<rect x="528" y="285" width="214" height="40" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="534" y="298" font-family="'Courier New', Courier, monospace" font-size="8.5" fill="#333333" text-anchor="start" dominant-baseline="central">P3: inconsistencia "Atención"→"Enfoque"</text>
<text x="534" y="313" font-family="'Courier New', Courier, monospace" font-size="8.5" fill="#333333" text-anchor="start" dominant-baseline="central">P8: Se sugiere dividir la oración larga</text>
<line x1="390" y1="127" x2="635" y2="168" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<line x1="260" y1="365" x2="270" y2="365" stroke="#333333" stroke-width="2" marker-end="url(#ah-sm)"/>
<text x="265.0" y="383" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="auto">Glosario</text>
<line x1="504" y1="365" x2="516" y2="365" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="510.0" y="383" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="auto">Traducción</text>
<rect x="30" y="400" width="720" height="70" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="390" y="418" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Sistema de archivos compartido</text>
<text x="137" y="440" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central">glossary.json</text>
<text x="137" y="458" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Glosario</text>
<text x="312" y="440" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central">chapter{1..10}_zh.md</text>
<text x="312" y="458" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Traducción del capítulo</text>
<text x="487" y="440" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central">review_report.md</text>
<text x="487" y="458" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Informe de revisión</text>
<text x="662" y="440" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central">translation_guide.md</text>
<text x="662" y="458" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Guía de traducción</text>
<rect x="30" y="485" width="720" height="60" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="503" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ventajas del aislamiento de contexto</text>
<text x="390" y="527" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Glosario: Solo ver términos | Traducción: Solo ver capítulo actual + glosario | Gestor: Solo mantener índice de archivos</text>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

+44
View File
@@ -0,0 +1,44 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 470" width="780" height="470" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="240" y="55" width="300" height="70" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="390" y="77" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente gestor</text>
<text x="390" y="103" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Planificación paralela · Monitoreo en tiempo real · Agregación de resultados</text>
<rect x="50" y="155" width="680" height="36" rx="4" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="390" y="173" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Bus de mensajes</text>
<line x1="390" y1="127" x2="390" y2="153" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="49" y="225" width="160" height="100" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="129" y="245" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente 1</text>
<text x="129" y="265" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Recopilación de datos</text>
<text x="129" y="290" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ejecutando ◎</text>
<text x="129" y="307" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Contexto independiente</text>
<line x1="129" y1="193" x2="129" y2="223" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="223" y="225" width="160" height="100" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="303" y="245" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente 2</text>
<text x="303" y="265" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Análisis de contenido</text>
<text x="303" y="290" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ejecutando ◎</text>
<text x="303" y="307" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Contexto independiente</text>
<line x1="303" y1="193" x2="303" y2="223" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="397" y="225" width="160" height="100" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="477" y="245" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente 3</text>
<text x="477" y="265" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Generación de gráficos</text>
<text x="477" y="290" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Completado ✓</text>
<text x="477" y="307" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Contexto independiente</text>
<line x1="477" y1="193" x2="477" y2="223" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="571" y="225" width="160" height="100" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="651" y="245" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente 4</text>
<text x="651" y="265" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Validación de formato</text>
<text x="651" y="290" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Esperando ○</text>
<text x="651" y="307" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Contexto independiente</text>
<line x1="651" y1="193" x2="651" y2="223" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="30" y="350" width="720" height="135" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="370" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ejemplo de comunicación por bus de mensajes</text>
<text x="40" y="394" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Gestor → Agente 1</text>
<text x="200" y="394" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">{"type":"start","task":"Recolectar artículos de arXiv","params":{"query":"agente LLM"}}</text>
<text x="40" y="418" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Agente 3 → Gestor</text>
<text x="200" y="418" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">{"type":"completed","agent_id":"3","result":"charts/fig1.svg generado"}</text>
<text x="40" y="442" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Agente 1 → Agente 2</text>
<text x="200" y="442" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;type&quot;:&quot;data_ready&quot;,&quot;source&quot;:&quot;agent_1&quot;,&quot;file&quot;:&quot;raw_data.json&quot;}</text>
<text x="40" y="466" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Gestor → Agente 4</text>
<text x="200" y="466" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;type&quot;:&quot;start&quot;,&quot;depends_on&quot;:[&quot;agent_2&quot;,&quot;agent_3&quot;]}</text>
</svg>

After

Width:  |  Height:  |  Size: 8.3 KiB

+55
View File
@@ -0,0 +1,55 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 520" width="780" height="520" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker><marker id="ah-sm" markerWidth="6" markerHeight="4" refX="6" refY="2" orient="auto"><polygon points="0 0, 6 2, 0 4" fill="#999999"/></marker></defs>
<rect x="30" y="65" width="310" height="240" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="185" y="87" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente telefónico</text>
<text x="185" y="107" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Node.js · Llamada de voz en tiempo real</text>
<rect x="40" y="125" width="290" height="36" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="50" y="139" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Voz del usuario</text>
<text x="50" y="153" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Entrada del micrófono</text>
<line x1="185" y1="161" x2="185" y2="167" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="40" y="167" width="290" height="36" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="50" y="181" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">VAD + ASR</text>
<text x="50" y="195" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Silero VAD → Transcripción STT</text>
<line x1="185" y1="203" x2="185" y2="209" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="40" y="209" width="290" height="36" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="50" y="223" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Inferencia del LLM</text>
<text x="50" y="237" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Comprender intención + Extraer información</text>
<line x1="185" y1="245" x2="185" y2="251" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="40" y="251" width="290" height="36" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="50" y="265" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Síntesis TTS</text>
<text x="50" y="279" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Generar respuesta de voz → Reproducir</text>
<rect x="440" y="65" width="310" height="240" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="595" y="87" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente de computadora</text>
<text x="595" y="107" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Python · Automatización del navegador</text>
<rect x="450" y="125" width="290" height="36" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="460" y="139" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Captura de pantalla</text>
<text x="460" y="153" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Página actual del navegador</text>
<line x1="595" y1="161" x2="595" y2="167" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="450" y="167" width="290" height="36" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="460" y="181" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">LLM de visión</text>
<text x="460" y="195" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Comprender estructura de página + Campos de formulario</text>
<line x1="595" y1="203" x2="595" y2="209" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="450" y="209" width="290" height="36" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="460" y="223" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Planificación de acciones</text>
<text x="460" y="237" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Localizar campos → Planificar secuencia de entrada</text>
<line x1="595" y1="245" x2="595" y2="251" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="450" y="251" width="290" height="36" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="460" y="265" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Ejecutar acciones</text>
<text x="460" y="279" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Clic / Entrada / Enviar</text>
<rect x="30" y="320" width="720" height="36" rx="4" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="390" y="338" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Comunicación bidireccional WebSocket (ws://localhost:8849)</text>
<line x1="185" y1="307" x2="185" y2="318" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<line x1="595" y1="307" x2="595" y2="318" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="30" y="370" width="720" height="150" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="388" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="17" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Flujo de mensajes bidireccional en tiempo real (usar la computadora durante la llamada)</text>
<text x="42" y="412" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Teléfono → Computadora</text>
<text x="210" y="412" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">[FROM_PHONE_AGENT] El usuario dice que su nombre es Zhang San</text>
<text x="42" y="438" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Computadora → Teléfono</text>
<text x="210" y="438" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">[FROM_COMPUTER_AGENT] Nombre completado, se requiere número de identificación</text>
<text x="42" y="464" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Teléfono → Computadora</text>
<text x="210" y="464" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">[FROM_PHONE_AGENT] Número de identificación 310101199001011234</text>
<text x="42" y="490" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Computadora → Teléfono</text>
<text x="210" y="490" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">[FROM_COMPUTER_AGENT] Formulario enviado, registro exitoso</text>
<text x="390" y="510" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Clave: dos agentes ejecutan bucles ReAct independientes en paralelo, de forma no bloqueante</text>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

+68
View File
@@ -0,0 +1,68 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 495" width="780" height="495" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="230" y="55" width="320" height="65" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="390" y="75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente gestor</text>
<text x="390" y="99" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Creación dinámica · Monitoreo en tiempo real · Terminación en cascada</text>
<rect x="41" y="160" width="130" height="95" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="106" y="176" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente 1</text>
<text x="106" y="195" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central">cs.edu.cn</text>
<text x="106" y="215" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Búsqueda en el directorio de profesores</text>
<text x="106" y="235" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Buscando... ◎</text>
<line x1="390" y1="122" x2="106" y2="158" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="183" y="160" width="130" height="95" rx="4" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="248" y="176" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente 2</text>
<text x="248" y="195" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central">math.edu.cn</text>
<text x="248" y="215" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Búsqueda en el directorio de profesores</text>
<text x="248" y="235" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">No encontrado ✗</text>
<line x1="390" y1="122" x2="248" y2="158" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="325" y="160" width="130" height="95" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="390" y="176" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente 3</text>
<text x="390" y="195" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central">phys.edu.cn</text>
<text x="390" y="215" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Búsqueda en el directorio de profesores</text>
<text x="390" y="235" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">¡Encontrado! ✓</text>
<line x1="390" y1="122" x2="390" y2="158" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="467" y="160" width="130" height="95" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="532" y="176" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente 4</text>
<text x="532" y="195" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central">chem.edu.cn</text>
<text x="532" y="215" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Búsqueda en el directorio de profesores</text>
<text x="532" y="235" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Finalizado ⊘</text>
<line x1="390" y1="122" x2="532" y2="158" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="609" y="160" width="130" height="95" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="674" y="176" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente 5 … 10</text>
<text x="674" y="195" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central">… (10 en total)</text>
<text x="674" y="215" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Búsqueda en el directorio de profesores</text>
<text x="674" y="235" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Finalizado ⊘</text>
<line x1="390" y1="122" x2="674" y2="158" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="30" y="280" width="720" height="120" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="298" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Secuencia de terminación en cascada</text>
<text x="100" y="322" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">t=0s</text>
<text x="100" y="338" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Iniciar 10 agentes</text>
<text x="100" y="353" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Búsqueda paralela de "Zhang Wei"</text>
<line x1="155" y1="335" x2="175" y2="335" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<text x="240" y="322" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">t=12s</text>
<text x="240" y="338" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Agente 2 completa</text>
<text x="240" y="353" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">No encontrado → salir</text>
<line x1="295" y1="335" x2="315" y2="335" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<text x="380" y="322" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">t=18s</text>
<text x="380" y="338" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">¡Agente 3 encontrado!</text>
<text x="380" y="353" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Enviar target_found</text>
<line x1="435" y1="335" x2="455" y2="335" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<text x="520" y="322" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">t=18.1s</text>
<text x="520" y="338" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">El gestor emite la finalización</text>
<text x="520" y="353" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">A los agentes en ejecución restantes</text>
<line x1="585" y1="335" x2="605" y2="335" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<text x="670" y="322" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">t=19s</text>
<text x="670" y="338" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Todos confirman la finalización</text>
<text x="670" y="353" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Agregar resultados y devolver</text>
<rect x="30" y="420" width="340" height="100" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="200" y="438" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Resultado encontrado</text>
<text x="50" y="460" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">Nombre: Zhang Wei Escuela: Escuela de Física</text>
<text x="50" y="476" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">Cargo: Profesor Campo: Computación cuántica</text>
<text x="50" y="492" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">Correo electrónico: zhangwei@phys.edu.cn</text>
<rect x="400" y="420" width="350" height="100" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="575" y="438" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Comparación de rendimiento</text>
<text x="420" y="462" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">En serie: 10 sitios web × 30s = ~5 minutos</text>
<text x="420" y="480" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Paralelo: 18 s para encontrar + 1 s para finalizar = 19 s</text>
<text x="420" y="498" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Aceleración: ~15× (con optimización de terminación en cascada)</text>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

+79
View File
@@ -0,0 +1,79 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 890 515" width="890" height="515" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="26" y="55" width="150" height="230" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="101" y="75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Gestor de producto</text>
<text x="34" y="97" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Entrada: Descripción de requisitos del usuario</text>
<rect x="34" y="113" width="134" height="68" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="40" y="127" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Salida:</text>
<text x="40" y="143" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Lista de características + prioridad</text>
<text x="40" y="159" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Historias de usuario (5 elementos)</text>
<text x="40" y="175" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Criterios de aceptación</text>
<rect x="34" y="223" width="134" height="30" rx="12" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="101" y="238" font-family="'Courier New', Courier, monospace" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central">docs/PRD.md</text>
<line x1="186" y1="170" x2="198" y2="170" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="198" y="55" width="150" height="230" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="273" y="75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Arquitecto</text>
<text x="206" y="97" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Entrada: PRD.md</text>
<rect x="206" y="113" width="134" height="68" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="212" y="127" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Salida:</text>
<text x="212" y="143" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Stack tecnológico: FastAPI+React</text>
<text x="212" y="159" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Especificación de API (OpenAPI)</text>
<text x="212" y="175" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Esquema de la base de datos</text>
<rect x="206" y="223" width="134" height="30" rx="12" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="273" y="238" font-family="'Courier New', Courier, monospace" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central">docs/design.md</text>
<line x1="358" y1="170" x2="370" y2="170" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="370" y="55" width="150" height="230" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="445" y="75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Gestor de proyectos</text>
<text x="378" y="97" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Entrada: design.md</text>
<rect x="378" y="113" width="134" height="68" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="384" y="127" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Salida:</text>
<text x="384" y="143" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Lista de tareas + asignación</text>
<text x="384" y="159" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Asignación a nivel de archivo</text>
<text x="384" y="175" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Orden de dependencia de módulos</text>
<rect x="378" y="223" width="134" height="30" rx="12" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="445" y="238" font-family="'Courier New', Courier, monospace" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central">docs/tasks.md</text>
<line x1="530" y1="170" x2="542" y2="170" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="542" y="55" width="150" height="230" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="617" y="75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ingeniero ×3</text>
<text x="550" y="97" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Entrada: tasks.md + design.md</text>
<rect x="550" y="113" width="134" height="68" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="556" y="127" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Salida:</text>
<text x="556" y="143" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Módulo A: Servicio de usuario</text>
<text x="556" y="159" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Módulo B: Servicio de pedidos</text>
<text x="556" y="175" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Módulo C: Servicio de pagos</text>
<rect x="550" y="223" width="134" height="30" rx="12" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="617" y="238" font-family="'Courier New', Courier, monospace" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central">src/*.py</text>
<line x1="702" y1="170" x2="714" y2="170" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="714" y="55" width="150" height="230" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="789" y="75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ingeniero de QA</text>
<text x="722" y="97" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Entrada: src/ + PRD.md</text>
<rect x="722" y="113" width="134" height="68" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="728" y="127" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Salida:</text>
<text x="728" y="143" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Pruebas unitarias (pytest)</text>
<text x="728" y="159" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Pruebas de integración (API)</text>
<text x="728" y="175" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Informe de error → Ingeniero</text>
<rect x="722" y="223" width="134" height="30" rx="12" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="789" y="238" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#ffffff" text-anchor="middle" dominant-baseline="central">docs/test_report.md</text>
<path d="M 789,293 Q 703,346 617,293" fill="none" stroke="#333333" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah)"/>
<text x="703" y="300" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Corrección de errores</text>
<rect x="30" y="335" width="830" height="50" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="445" y="351" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Directorio de proyecto compartido</text>
<text x="445" y="371" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central">docs/PRD.md docs/design.md docs/tasks.md src/*.py docs/test_report.md</text>
<rect x="30" y="400" width="830" height="130" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="445" y="418" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Diseño principal de MetaGPT</text>
<text x="42" y="442" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">▸ Documentos estandarizados</text>
<text x="270" y="442" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Cada rol emite un formato fijo; el proceso posterior necesita el formato, no el razonamiento</text>
<text x="42" y="466" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">▸ Desacoplamiento de interfaz</text>
<text x="270" y="466" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Sustituir por un gestor de producto más capacitado; si la salida mantiene el formato PRD, el flujo posterior no cambia</text>
<text x="42" y="490" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">▸ Sin gestor</text>
<text x="270" y="490" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">El flujo de control sigue el DAG: Gestor de producto→Arquitecto→Gestor de proyecto→Ingeniero→QA</text>
<text x="42" y="514" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">▸ Canal de excepciones</text>
<text x="270" y="514" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Fallo de QA → informe de error enrutado de nuevo al ingeniero por módulo → corrección iterativa</text>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,55 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 410" width="780" height="410" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="37" y="60" width="160" height="130" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="117" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente A</text>
<text x="117" y="100" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Análisis de requisitos</text>
<rect x="45" y="115" width="144" height="50" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="117" y="132" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Salida: Documento de requisitos estructurado</text>
<text x="117" y="148" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">spec.json</text>
<text x="117" y="182" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Transferencia →</text>
<line x1="201" y1="125" x2="215" y2="125" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="219" y="60" width="160" height="130" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="299" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente B</text>
<text x="299" y="100" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Diseño de arquitectura</text>
<rect x="227" y="115" width="144" height="50" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="299" y="132" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Salida: Documento de diseño técnico</text>
<text x="299" y="148" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">design.md</text>
<text x="299" y="182" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Transferencia →</text>
<line x1="383" y1="125" x2="397" y2="125" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="401" y="60" width="160" height="130" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="481" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente C</text>
<text x="481" y="100" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Implementación de código</text>
<rect x="409" y="115" width="144" height="50" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="481" y="132" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Salida: Código fuente</text>
<text x="481" y="148" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">src/*.py</text>
<text x="481" y="182" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Transferencia →</text>
<line x1="565" y1="125" x2="579" y2="125" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="583" y="60" width="160" height="130" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="663" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente D</text>
<text x="663" y="100" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Pruebas y validación</text>
<rect x="591" y="115" width="144" height="50" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="663" y="132" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Salida: Informe de pruebas</text>
<text x="663" y="148" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">test_report.md</text>
<text x="663" y="182" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Transferencia →</text>
<rect x="30" y="215" width="720" height="100" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="233" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Contenido de transferencia (Ejemplo Agente A → Agente B)</text>
<text x="42" y="253" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Condición de activación:</text>
<text x="210" y="253" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">A completa el documento de requisitos → is_complete=True</text>
<text x="42" y="269" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Agente objetivo:</text>
<text x="210" y="269" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">target=&quot;architect&quot; (Agente B)</text>
<text x="42" y="285" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Contenido de transferencia:</text>
<text x="210" y="285" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">files=[&quot;spec.json&quot;] + summary=&quot;Sistema de comercio electrónico: 3 microservicios, API REST&quot;</text>
<text x="42" y="301" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Estado tras la transferencia:</text>
<text x="210" y="301" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">status=&quot;exit&quot; (liberar recursos, no permanecer en espera)</text>
<rect x="30" y="330" width="340" height="100" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="200" y="348" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ventajas de la descentralización</text>
<text x="48" y="372" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">✓ Sin necesidad de un gestor central para entender todos los roles</text>
<text x="48" y="392" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">✓ Límites claros de responsabilidad, desacoplamiento de interfaces</text>
<text x="48" y="412" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">✓ Salir al completar, liberar recursos persistentes</text>
<rect x="400" y="330" width="350" height="100" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="575" y="348" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Limitaciones de la descentralización</text>
<text x="418" y="372" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">✗ Falta de perspectiva de optimización global</text>
<text x="418" y="392" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">✗ Manejo difícil de excepciones (sin coordinación central)</text>
<text x="418" y="412" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">✗ Proceso fijo, difícil de ajustar dinámicamente</text>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

+54
View File
@@ -0,0 +1,54 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 480" width="820" height="480" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="55" width="760" height="28" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="410" y="69" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">▼ Flujo continuo dentro del mismo contexto: el historial de conversación se conserva por completo entre etapas ▼</text>
<rect x="24" y="100" width="248" height="380" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="148" y="122" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Fase 1</text>
<text x="148" y="142" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Analista de requisitos</text>
<rect x="32" y="160" width="232" height="88" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="40" y="175" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Prompt de sistema</text>
<text x="40" y="192" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">&quot;Tu responsabilidad es comprender plenamente los requisitos.</text>
<text x="40" y="208" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">No apresurarse a implementar en esta etapa</text>
<text x="40" y="224" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Tu tarea es preguntar y confirmar.&quot;</text>
<rect x="32" y="258" width="232" height="78" rx="3" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="40" y="272" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Conjunto de herramientas</text>
<text x="40" y="290" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">ask_clarifying_question(q)</text>
<text x="40" y="310" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">save_requirement(k, v)</text>
<text x="40" y="330" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">complete_req_analysis()</text>
<rect x="32" y="390" width="232" height="48" rx="12" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="148" y="406" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">Desencadenar conversión</text>
<text x="148" y="424" font-family="'Courier New', Courier, monospace" font-size="10" fill="#ffffff" text-anchor="middle" dominant-baseline="central">complete_req_analysis()</text>
<line x1="274" y1="410" x2="288" y2="410" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="290" y="100" width="248" height="380" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="414" y="122" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Fase 2</text>
<text x="414" y="142" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ingeniero de software</text>
<rect x="298" y="160" width="232" height="88" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="306" y="175" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Prompt de sistema</text>
<text x="306" y="192" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">&quot;Escribir según los requisitos confirmados</text>
<text x="306" y="208" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Código Python de alta calidad. Sigue</text>
<text x="306" y="224" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Modularización, mejores prácticas de manejo de errores."</text>
<rect x="298" y="258" width="232" height="78" rx="3" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="306" y="272" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Conjunto de herramientas</text>
<text x="306" y="290" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">write_file(path, content)</text>
<text x="306" y="310" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">read_file(path)</text>
<text x="306" y="330" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">execute_code(code)</text>
<rect x="298" y="390" width="232" height="48" rx="12" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="414" y="406" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">Desencadenar conversión</text>
<text x="414" y="424" font-family="'Courier New', Courier, monospace" font-size="10" fill="#ffffff" text-anchor="middle" dominant-baseline="central">submit_for_review()</text>
<line x1="540" y1="410" x2="554" y2="410" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="556" y="100" width="248" height="380" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="680" y="122" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Fase 3</text>
<text x="680" y="142" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Revisor de código</text>
<rect x="564" y="160" width="232" height="88" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="572" y="175" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Prompt de sistema</text>
<text x="572" y="192" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">&quot;Evaluar la calidad del código desde múltiples dimensiones:</text>
<text x="572" y="208" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Corrección funcional, estándares de código, </text>
<text x="572" y="224" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Seguridad. Adopta un pensamiento crítico.&quot;</text>
<rect x="564" y="258" width="232" height="78" rx="3" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="572" y="272" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Conjunto de herramientas</text>
<text x="572" y="290" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">run_linter(file)</text>
<text x="572" y="310" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">run_tests(file)</text>
<text x="572" y="330" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">analyze_complexity(file)</text>
<text x="410" y="510" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Cambio de rol: actualización del prompt del sistema + conjunto de herramientas, historial de conversación y estado preservados continuamente</text>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

+29
View File
@@ -0,0 +1,29 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 580" width="820" height="580" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="40" y="60" width="700" height="84" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="55" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Prompt del sistema</text>
<text x="65" y="102" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">&quot;Eres un asistente útil. Tus respuestas deben ser CONCISAS.&quot;</text>
<text x="65" y="124" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">&quot;Usa herramientas cuando el usuario solicite información en tiempo real.&quot;</text>
<rect x="40" y="152" width="700" height="84" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="55" y="172" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Definiciones de herramientas</text>
<text x="65" y="194" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;name&quot;: &quot;web_search&quot;, &quot;description&quot;: &quot;Buscar en la web&quot;,</text>
<text x="65" y="216" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;parameters&quot;: {&quot;query&quot;: {&quot;type&quot;: &quot;string&quot;}}}</text>
<rect x="40" y="244" width="700" height="106" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="55" y="264" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Historial de conversación</text>
<text x="65" y="286" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">user: &quot;¿Cómo está el clima hoy en Pekín?&quot;</text>
<text x="65" y="308" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">assistant: [tool_call] → get_weather(&quot;Pekín&quot;)</text>
<text x="65" y="330" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">tool: {&quot;temp&quot;: &quot;23°C&quot;, &quot;conditions&quot;: &quot;despejado&quot;}</text>
<rect x="40" y="358" width="700" height="84" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="55" y="378" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Traza de razonamiento</text>
<text x="65" y="400" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">&lt;think&gt;El usuario pregunta por el clima. Ya tengo el resultado,</text>
<text x="65" y="422" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">puedo resumir y responder sin llamar de nuevo a la herramienta.&lt;/think&gt;</text>
<rect x="40" y="450" width="700" height="62" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="55" y="470" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Posición actual de generación →</text>
<text x="65" y="492" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">assistant: &quot;Pekín está despejado hoy, temperatura 23°C...&quot; ← LLM generando</text>
<path d="M 748,60 C 768,60 768,281.0 773,286.0 C 768,291.0 768,512 748,512" fill="none" stroke="#333333" stroke-width="2"/>
<text x="755" y="274.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Ventana de</text>
<text x="755" y="298.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Contexto</text>
<rect x="100" y="535" width="620" height="50" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="410" y="552" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Tamaño de ventana: Qwen3 = 32K tokens | Claude = 200K | Gemini = 2M</text>
<text x="410" y="572" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Todo el contenido se serializa en el flujo de tokens → procesado por la atención Transformer</text>
</svg>

After

Width:  |  Height:  |  Size: 5.7 KiB

+39
View File
@@ -0,0 +1,39 @@
<svg xml:lang="es" xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 440" width="820" height="440" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<text x="40" y="70" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Solicitud 1</text>
<rect x="40" y="85" width="380" height="40" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="230" y="105" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">System Prompt + Tools (1200 tokens)</text>
<rect x="425" y="85" width="180" height="40" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="515" y="105" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">user: "¿Qué tiempo hace?"</text>
<rect x="610" y="85" width="170" height="40" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="695" y="105" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">→ Generar respuesta</text>
<text x="40" y="155" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Solicitud 2</text>
<rect x="40" y="170" width="380" height="40" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="230" y="190" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">System Prompt + Tools (acierto de caché ✓)</text>
<rect x="425" y="170" width="180" height="40" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="515" y="190" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">user: "¿Qué hora es?"</text>
<rect x="610" y="170" width="170" height="40" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="695" y="190" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">→ Generar respuesta</text>
<line x1="230" y1="127" x2="230" y2="168" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<text x="230.0" y="137.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle">Reutilización de KV</text>
<text x="40" y="245" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Sol. 3</text>
<text x="125" y="245" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">(prompt del sistema cambiado)</text>
<rect x="40" y="260" width="400" height="40" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="240" y="280" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">System + Tools + "Time: 10:30:45"</text>
<rect x="445" y="260" width="160" height="40" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="525" y="280" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">user: "¿Qué tiempo hace?"</text>
<rect x="610" y="260" width="170" height="40" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="695" y="280" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">→ Recalcular sufijo ✗</text>
<rect x="80" y="330" width="660" height="130" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="410" y="355" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Comparación de rendimiento (contexto total de 3000 tokens)</text>
<line x1="100" y1="370" x2="720" y2="370" stroke="#999999" stroke-width="2"/>
<text x="230" y="390" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Acierto de caché</text>
<text x="490" y="390" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fallo de caché del sufijo</text>
<line x1="100" y1="405" x2="720" y2="405" stroke="#999999" stroke-width="2"/>
<text x="130" y="425" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">TTFT</text>
<text x="230" y="425" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">~0,5 segundos</text>
<text x="490" y="425" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">35 segundos</text>
<text x="100" y="450" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">Coste</text>
<text x="230" y="450" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Solo tokens nuevos</text>
<text x="490" y="450" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Reprocesar tokens tras el cambio</text>
</svg>

After

Width:  |  Height:  |  Size: 7.2 KiB

+36
View File
@@ -0,0 +1,36 @@
<svg xml:lang="es" xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 525" width="820" height="525" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="40" y="70" width="740" height="90" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="60" y="90" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Capa 1: Metadatos (cargados al inicio, ~300 tokens)</text>
<rect x="60" y="108" width="700" height="48" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="70" y="130" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">skills: [{name: "PPTX", desc: "Crear presentaciones PowerPoint desde contenido"}</text>
<text x="70" y="145" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central"> {name: "PDF", desc: "Extraer y analizar documentos PDF"}, ...]</text>
<line x1="410" y1="162" x2="410" y2="185" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="430" y="173" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Tarea activadora: "Generar PPT desde un artículo"</text>
<rect x="40" y="190" width="740" height="150" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="60" y="210" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Capa 2: Flujo principal de SKILL.md (bajo demanda, ~2K tokens)</text>
<rect x="60" y="230" width="700" height="100" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="70" y="250" font-family="'Courier New', Courier, monospace" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central">Flujo principal de PPTX Skill:</text>
<text x="70" y="272" font-family="'Courier New', Courier, monospace" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central">1. markitdown extrae texto → 2. Descomprimir PPTX para acceder al XML</text>
<text x="70" y="294" font-family="'Courier New', Courier, monospace" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central">3. Modificar slide{N}.xml → 4. Volver a empaquetar como .pptx</text>
<text x="70" y="316" font-family="'Courier New', Courier, monospace" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central">Referencias: → html2pptx.md | → reference.md | → scripts/</text>
<line x1="410" y1="342" x2="410" y2="365" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="430" y="353" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Método detallado: "Crear PPT con una plantilla HTML"</text>
<rect x="40" y="370" width="740" height="140" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="60" y="390" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Capa 3: Subdocumentos (consulta selectiva, bajo demanda)</text>
<rect x="60" y="415" width="215" height="80" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="167.5" y="433" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">html2pptx.md</text>
<text x="167.5" y="455" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Flujo completo para</text>
<text x="167.5" y="473" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">plantilla HTML → PPT</text>
<rect x="295" y="415" width="215" height="80" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="402.5" y="433" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">reference.md</text>
<text x="402.5" y="455" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Especificación del formato XML</text>
<text x="402.5" y="473" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">y detalles técnicos</text>
<rect x="530" y="415" width="215" height="80" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="637.5" y="433" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">scripts/*.py</text>
<text x="637.5" y="455" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Herramientas ejecutables:</text>
<text x="637.5" y="473" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">thumbnail.py, etc.</text>
<rect x="100" y="520" width="620" height="35" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="410" y="538" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Metadatos fijos → favorecen KV Cache | Contenido dinámico añadido → no invalida la caché</text>
</svg>

After

Width:  |  Height:  |  Size: 6.7 KiB

+88
View File
@@ -0,0 +1,88 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 620" width="820" height="620" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-y" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#e6a817"/></marker><marker id="ah-o" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#d46e4e"/></marker></defs>
<!-- messages array label -->
<text x="40" y="60" font-family="'Courier New', Courier, monospace" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">messages: [</text>
<!-- Row 1: system -->
<rect x="50" y="78" width="500" height="32" rx="4" fill="#e8e8e8" stroke="#999999" stroke-width="1.5"/>
<text x="62" y="94" font-family="'Courier New', Courier, monospace" font-size="12.5" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "system", content: "Eres el asistente Claude Code..." }</text>
<!-- Row 2: tools -->
<rect x="50" y="114" width="500" height="32" rx="4" fill="#e8e8e8" stroke="#999999" stroke-width="1.5"/>
<text x="62" y="130" font-family="'Courier New', Courier, monospace" font-size="13" fill="#333333" text-anchor="start" dominant-baseline="central">herramientas: [Skill, Read, Bash, Edit, Write, ...]</text>
<!-- Bracket for "Fijo" -->
<path d="M 560,78 C 575,78 575,114 580,123 C 575,132 575,146 560,146" fill="none" stroke="#999999" stroke-width="1.5"/>
<text x="590" y="112" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="start" dominant-baseline="central">corregido</text>
<text x="590" y="130" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="start" dominant-baseline="central">(Caché KV)</text>
<!-- Row 3: user message -->
<rect x="50" y="158" width="500" height="32" rx="4" fill="#dce9f5" stroke="#999999" stroke-width="1.5"/>
<text x="62" y="174" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "user", content: "Ayúdame a generar una PPT a partir de este PDF" }</text>
<!-- Row 4: Skill listing attachment (highlighted yellow) -->
<rect x="50" y="198" width="500" height="64" rx="4" fill="#fff3cd" stroke="#e6a817" stroke-width="2.5"/>
<text x="62" y="214" font-family="'Courier New', Courier, monospace" font-size="13" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "user", isMeta: true,</text>
<text x="62" y="232" font-family="'Courier New', Courier, monospace" font-size="13" fill="#333333" text-anchor="start" dominant-baseline="central"> content: "&lt;sistema-reminder&gt;</text>
<text x="62" y="250" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> Habilidades disponibles: pdf, pptx, ...&lt;/system-reminder&gt;" }</text>
<!-- Annotation A -->
<line x1="600" y1="230" x2="555" y2="230" stroke="#e6a817" stroke-width="2" marker-end="url(#ah-y)"/>
<text x="608" y="214" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#c9a227" text-anchor="start" dominant-baseline="central" font-weight="bold">ⓐ Listado de habilidades</text>
<text x="608" y="232" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central">Harness de emisión única</text>
<text x="608" y="250" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central">~300 tokens</text>
<!-- Row 5: assistant Skill tool_use -->
<rect x="50" y="270" width="500" height="32" rx="4" fill="#d9f0d9" stroke="#999999" stroke-width="1.5"/>
<text x="62" y="286" font-family="'Courier New', Courier, monospace" font-size="13" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "assistant", tool_calls: [Skill(skill: "pptx")] }</text>
<!-- Row 6: tool_result placeholder -->
<rect x="50" y="306" width="500" height="32" rx="4" fill="#fdf6e3" stroke="#999999" stroke-width="1.5"/>
<text x="62" y="322" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "tool", content: "Lanzando habilidad: pptx" } ← marcador de posición</text>
<!-- Row 7: skill content (highlighted orange) -->
<rect x="50" y="346" width="500" height="64" rx="4" fill="#ffe4d9" stroke="#d46e4e" stroke-width="2.5"/>
<text x="62" y="362" font-family="'Courier New', Courier, monospace" font-size="13" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "user", isMeta: true,</text>
<text x="62" y="380" font-family="'Courier New', Courier, monospace" font-size="13" fill="#333333" text-anchor="start" dominant-baseline="central"> content: "Base directory: ...\n# PPTX Skill</text>
<text x="62" y="398" font-family="'Courier New', Courier, monospace" font-size="13" fill="#333333" text-anchor="start" dominant-baseline="central"> ## Flujo de trabajo: 1. Usar markitdown..." }</text>
<!-- Annotation B -->
<line x1="600" y1="378" x2="555" y2="378" stroke="#d46e4e" stroke-width="2" marker-end="url(#ah-o)"/>
<text x="608" y="362" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#a04830" text-anchor="start" dominant-baseline="central" font-weight="bold">ⓑ Contenido de la habilidad</text>
<text x="608" y="380" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central">Herramienta de habilidad emisión única</text>
<text x="608" y="398" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central">~2k tokens</text>
<!-- Row 8: assistant Read tool_use -->
<rect x="50" y="418" width="500" height="32" rx="4" fill="#d9f0d9" stroke="#999999" stroke-width="1.5"/>
<text x="62" y="434" font-family="'Courier New', Courier, monospace" font-size="13" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "assistant", tool_calls: [Read(file: "input.pdf")] }</text>
<!-- Row 9: tool_result Read -->
<rect x="50" y="454" width="500" height="32" rx="4" fill="#fdf6e3" stroke="#999999" stroke-width="1.5"/>
<text x="62" y="470" font-family="'Courier New', Courier, monospace" font-size="13" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "tool", content: "...contenido de texto del PDF..." }</text>
<!-- Row 10: assistant Write -->
<rect x="50" y="490" width="500" height="32" rx="4" fill="#d9f0d9" stroke="#999999" stroke-width="1.5"/>
<text x="62" y="506" font-family="'Courier New', Courier, monospace" font-size="12.5" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "assistant", tool_calls: [Write(file: "slides.html")] }</text>
<!-- Row 11: tool_result Write -->
<rect x="50" y="526" width="500" height="32" rx="4" fill="#fdf6e3" stroke="#999999" stroke-width="1.5"/>
<text x="62" y="542" font-family="'Courier New', Courier, monospace" font-size="13" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "tool", content: "Se escribieron 12345 bytes" }</text>
<!-- Bracket for "Persistente append" -->
<path d="M 560,418 C 575,418 575,490 580,506 C 575,522 575,558 560,558" fill="none" stroke="#999999" stroke-width="1.5"/>
<text x="590" y="478" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="start" dominant-baseline="central">tool_use subsecuente /</text>
<text x="590" y="496" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="start" dominant-baseline="central">tool_result continúa</text>
<text x="590" y="514" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="start" dominant-baseline="central">añadir al final</text>
<!-- Ellipsis -->
<text x="300" y="580" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#999999" text-anchor="middle" dominant-baseline="central">... rondas posteriores ...</text>
<!-- Closing bracket -->
<text x="40" y="604" font-family="'Courier New', Courier, monospace" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">]</text>
<!-- Bottom note -->
<rect x="50" y="624" width="720" height="22" rx="4" fill="#f5f5f5" stroke="none"/>
<text x="410" y="635" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="middle" dominant-baseline="central">ⓐ y ⓑ son de emisión única: tras pagar cache_creation una vez, permanecen permanentemente en el prefijo de la caché y no se moverán con los tool_use posteriores</text>
</svg>

After

Width:  |  Height:  |  Size: 9.3 KiB

+190
View File
@@ -0,0 +1,190 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 860 500" width="860" height="500" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker></defs>
<!-- Column headers -->
<text x="145" y="62" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Turno 1 completado</text>
<text x="400" y="62" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Turno 2 completado</text>
<text x="655" y="62" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Turno 3 completado</text>
<text x="145" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central">(primero cargar habilidad PPTX)</text>
<text x="400" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central">(leer archivo PDF)</text>
<text x="655" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central">(escribir HTML)</text>
<!-- Column dividers -->
<line x1="270" y1="55" x2="270" y2="430" stroke="#dddddd" stroke-width="1"/>
<line x1="525" y1="55" x2="525" y2="430" stroke="#dddddd" stroke-width="1"/>
<!-- ===================================================== -->
<!-- Helper: 11 rows of fixed labels positioned at y = 100 + i*24 -->
<!-- Row labels: -->
<!-- 0: system (NEW T1, HIT T2, HIT T3) -->
<!-- 1: tools (NEW T1, HIT T2, HIT T3) -->
<!-- 2: user_q1 (NEW T1, HIT T2, HIT T3) -->
<!-- 3: ★ skill_listing (NEW T1, HIT T2, HIT T3) -->
<!-- 4: asst: Skill(pptx) (NEW T1, HIT T2, HIT T3) -->
<!-- 5: tool_result (NEW T1, HIT T2, HIT T3) -->
<!-- 6: ★ skill_content (NEW T1, HIT T2, HIT T3) -->
<!-- 7: asst: Read(pdf) (— T1, NEW T2, HIT T3) -->
<!-- 8: tool_result (— T1, NEW T2, HIT T3) -->
<!-- 9: asst: Write(html) (— T1, — T2, NEW T3) -->
<!-- 10: tool_result (— T1, — T2, NEW T3) -->
<!-- ===================================================== -->
<!-- ============== COLUMN 1: Turn 1 ============== -->
<!-- Rows 0-6: NEW (yellow) -->
<rect x="25" y="100" width="240" height="22" rx="3" fill="#fff3cd" stroke="#e6a817" stroke-width="1.5"/>
<text x="33" y="111" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" dominant-baseline="central">sistema</text>
<text x="258" y="111" font-family="Arial, sans-serif" font-size="10" fill="#c9a227" text-anchor="end" dominant-baseline="central" font-weight="bold">NUEVO</text>
<rect x="25" y="124" width="240" height="22" rx="3" fill="#fff3cd" stroke="#e6a817" stroke-width="1.5"/>
<text x="33" y="135" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" dominant-baseline="central">herramientas</text>
<text x="258" y="135" font-family="Arial, sans-serif" font-size="10" fill="#c9a227" text-anchor="end" dominant-baseline="central" font-weight="bold">NUEVO</text>
<rect x="25" y="148" width="240" height="22" rx="3" fill="#fff3cd" stroke="#e6a817" stroke-width="1.5"/>
<text x="33" y="159" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" dominant-baseline="central">user_q1</text>
<text x="258" y="159" font-family="Arial, sans-serif" font-size="10" fill="#c9a227" text-anchor="end" dominant-baseline="central" font-weight="bold">NUEVO</text>
<rect x="25" y="172" width="240" height="22" rx="3" fill="#fff3cd" stroke="#e6a817" stroke-width="1.5"/>
<text x="33" y="183" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" dominant-baseline="central">★ skill_listing</text>
<text x="258" y="183" font-family="Arial, sans-serif" font-size="10" fill="#c9a227" text-anchor="end" dominant-baseline="central" font-weight="bold">NUEVO</text>
<rect x="25" y="196" width="240" height="22" rx="3" fill="#fff3cd" stroke="#e6a817" stroke-width="1.5"/>
<text x="33" y="207" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" dominant-baseline="central">asst: Skill(pptx)</text>
<text x="258" y="207" font-family="Arial, sans-serif" font-size="10" fill="#c9a227" text-anchor="end" dominant-baseline="central" font-weight="bold">NUEVO</text>
<rect x="25" y="220" width="240" height="22" rx="3" fill="#fff3cd" stroke="#e6a817" stroke-width="1.5"/>
<text x="33" y="231" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" dominant-baseline="central">tool_result</text>
<text x="258" y="231" font-family="Arial, sans-serif" font-size="10" fill="#c9a227" text-anchor="end" dominant-baseline="central" font-weight="bold">NUEVO</text>
<rect x="25" y="244" width="240" height="22" rx="3" fill="#fff3cd" stroke="#e6a817" stroke-width="1.5"/>
<text x="33" y="255" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" dominant-baseline="central">★ skill_content</text>
<text x="258" y="255" font-family="Arial, sans-serif" font-size="10" fill="#c9a227" text-anchor="end" dominant-baseline="central" font-weight="bold">NUEVO</text>
<!-- Rows 7-10: future (dashed empty) -->
<rect x="25" y="268" width="240" height="22" rx="3" fill="none" stroke="#cccccc" stroke-width="1" stroke-dasharray="4,3"/>
<rect x="25" y="292" width="240" height="22" rx="3" fill="none" stroke="#cccccc" stroke-width="1" stroke-dasharray="4,3"/>
<rect x="25" y="316" width="240" height="22" rx="3" fill="none" stroke="#cccccc" stroke-width="1" stroke-dasharray="4,3"/>
<rect x="25" y="340" width="240" height="22" rx="3" fill="none" stroke="#cccccc" stroke-width="1" stroke-dasharray="4,3"/>
<!-- Column 1 footer: cost -->
<rect x="25" y="378" width="240" height="44" rx="4" fill="#fff8e1" stroke="#e6a817" stroke-width="1.5"/>
<text x="145" y="392" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">cache_creation para este turno</text>
<text x="145" y="410" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#a06a00" text-anchor="middle" dominant-baseline="central" font-weight="bold">≈ 2.5k tokens</text>
<!-- ============== COLUMN 2: Turn 2 ============== -->
<!-- Rows 0-6: CACHED (gray) -->
<rect x="280" y="100" width="240" height="22" rx="3" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="288" y="111" font-family="'Courier New', Courier, monospace" font-size="11" fill="#777777" dominant-baseline="central">sistema</text>
<text x="513" y="111" font-family="Arial, sans-serif" font-size="10" fill="#666666" text-anchor="end" dominant-baseline="central">HIT</text>
<rect x="280" y="124" width="240" height="22" rx="3" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="288" y="135" font-family="'Courier New', Courier, monospace" font-size="11" fill="#777777" dominant-baseline="central">herramientas</text>
<text x="513" y="135" font-family="Arial, sans-serif" font-size="10" fill="#666666" text-anchor="end" dominant-baseline="central">HIT</text>
<rect x="280" y="148" width="240" height="22" rx="3" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="288" y="159" font-family="'Courier New', Courier, monospace" font-size="11" fill="#777777" dominant-baseline="central">user_q1</text>
<text x="513" y="159" font-family="Arial, sans-serif" font-size="10" fill="#666666" text-anchor="end" dominant-baseline="central">HIT</text>
<rect x="280" y="172" width="240" height="22" rx="3" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="288" y="183" font-family="'Courier New', Courier, monospace" font-size="11" fill="#777777" dominant-baseline="central">★ skill_listing</text>
<text x="513" y="183" font-family="Arial, sans-serif" font-size="10" fill="#666666" text-anchor="end" dominant-baseline="central">HIT</text>
<rect x="280" y="196" width="240" height="22" rx="3" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="288" y="207" font-family="'Courier New', Courier, monospace" font-size="11" fill="#777777" dominant-baseline="central">asst: Skill(pptx)</text>
<text x="513" y="207" font-family="Arial, sans-serif" font-size="10" fill="#666666" text-anchor="end" dominant-baseline="central">HIT</text>
<rect x="280" y="220" width="240" height="22" rx="3" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="288" y="231" font-family="'Courier New', Courier, monospace" font-size="11" fill="#777777" dominant-baseline="central">tool_result</text>
<text x="513" y="231" font-family="Arial, sans-serif" font-size="10" fill="#666666" text-anchor="end" dominant-baseline="central">HIT</text>
<rect x="280" y="244" width="240" height="22" rx="3" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="288" y="255" font-family="'Courier New', Courier, monospace" font-size="11" fill="#777777" dominant-baseline="central">★ skill_content</text>
<text x="513" y="255" font-family="Arial, sans-serif" font-size="10" fill="#666666" text-anchor="end" dominant-baseline="central">HIT</text>
<!-- Rows 7-8: NEW (yellow) -->
<rect x="280" y="268" width="240" height="22" rx="3" fill="#fff3cd" stroke="#e6a817" stroke-width="1.5"/>
<text x="288" y="279" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" dominant-baseline="central">asist: Read(pdf)</text>
<text x="513" y="279" font-family="Arial, sans-serif" font-size="10" fill="#c9a227" text-anchor="end" dominant-baseline="central" font-weight="bold">NUEVO</text>
<rect x="280" y="292" width="240" height="22" rx="3" fill="#fff3cd" stroke="#e6a817" stroke-width="1.5"/>
<text x="288" y="303" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" dominant-baseline="central">tool_result</text>
<text x="513" y="303" font-family="Arial, sans-serif" font-size="10" fill="#c9a227" text-anchor="end" dominant-baseline="central" font-weight="bold">NUEVO</text>
<!-- Rows 9-10: future (dashed) -->
<rect x="280" y="316" width="240" height="22" rx="3" fill="none" stroke="#cccccc" stroke-width="1" stroke-dasharray="4,3"/>
<rect x="280" y="340" width="240" height="22" rx="3" fill="none" stroke="#cccccc" stroke-width="1" stroke-dasharray="4,3"/>
<!-- Column 2 footer: cost -->
<rect x="280" y="378" width="240" height="44" rx="4" fill="#fff8e1" stroke="#e6a817" stroke-width="1.5"/>
<text x="400" y="392" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">cache_creation para este turno</text>
<text x="400" y="410" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#a06a00" text-anchor="middle" dominant-baseline="central" font-weight="bold">≈ 0.5k tokens</text>
<!-- ============== COLUMN 3: Turn 3 ============== -->
<!-- Rows 0-8: CACHED (gray) -->
<rect x="535" y="100" width="240" height="22" rx="3" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="543" y="111" font-family="'Courier New', Courier, monospace" font-size="11" fill="#777777" dominant-baseline="central">sistema</text>
<text x="768" y="111" font-family="Arial, sans-serif" font-size="10" fill="#666666" text-anchor="end" dominant-baseline="central">HIT</text>
<rect x="535" y="124" width="240" height="22" rx="3" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="543" y="135" font-family="'Courier New', Courier, monospace" font-size="11" fill="#777777" dominant-baseline="central">herramientas</text>
<text x="768" y="135" font-family="Arial, sans-serif" font-size="10" fill="#666666" text-anchor="end" dominant-baseline="central">HIT</text>
<rect x="535" y="148" width="240" height="22" rx="3" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="543" y="159" font-family="'Courier New', Courier, monospace" font-size="11" fill="#777777" dominant-baseline="central">user_q1</text>
<text x="768" y="159" font-family="Arial, sans-serif" font-size="10" fill="#666666" text-anchor="end" dominant-baseline="central">HIT</text>
<rect x="535" y="172" width="240" height="22" rx="3" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="543" y="183" font-family="'Courier New', Courier, monospace" font-size="11" fill="#777777" dominant-baseline="central">★ skill_listing</text>
<text x="768" y="183" font-family="Arial, sans-serif" font-size="10" fill="#666666" text-anchor="end" dominant-baseline="central">HIT</text>
<rect x="535" y="196" width="240" height="22" rx="3" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="543" y="207" font-family="'Courier New', Courier, monospace" font-size="11" fill="#777777" dominant-baseline="central">asst: Skill(pptx)</text>
<text x="768" y="207" font-family="Arial, sans-serif" font-size="10" fill="#666666" text-anchor="end" dominant-baseline="central">HIT</text>
<rect x="535" y="220" width="240" height="22" rx="3" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="543" y="231" font-family="'Courier New', Courier, monospace" font-size="11" fill="#777777" dominant-baseline="central">tool_result</text>
<text x="768" y="231" font-family="Arial, sans-serif" font-size="10" fill="#666666" text-anchor="end" dominant-baseline="central">HIT</text>
<rect x="535" y="244" width="240" height="22" rx="3" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="543" y="255" font-family="'Courier New', Courier, monospace" font-size="11" fill="#777777" dominant-baseline="central">★ skill_content</text>
<text x="768" y="255" font-family="Arial, sans-serif" font-size="10" fill="#666666" text-anchor="end" dominant-baseline="central">HIT</text>
<rect x="535" y="268" width="240" height="22" rx="3" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="543" y="279" font-family="'Courier New', Courier, monospace" font-size="11" fill="#777777" dominant-baseline="central">asist: Read(pdf)</text>
<text x="768" y="279" font-family="Arial, sans-serif" font-size="10" fill="#666666" text-anchor="end" dominant-baseline="central">HIT</text>
<rect x="535" y="292" width="240" height="22" rx="3" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="543" y="303" font-family="'Courier New', Courier, monospace" font-size="11" fill="#777777" dominant-baseline="central">tool_result</text>
<text x="768" y="303" font-family="Arial, sans-serif" font-size="10" fill="#666666" text-anchor="end" dominant-baseline="central">HIT</text>
<!-- Rows 9-10: NEW (yellow) -->
<rect x="535" y="316" width="240" height="22" rx="3" fill="#fff3cd" stroke="#e6a817" stroke-width="1.5"/>
<text x="543" y="327" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" dominant-baseline="central">asst: Write(html)</text>
<text x="768" y="327" font-family="Arial, sans-serif" font-size="10" fill="#c9a227" text-anchor="end" dominant-baseline="central" font-weight="bold">NUEVO</text>
<rect x="535" y="340" width="240" height="22" rx="3" fill="#fff3cd" stroke="#e6a817" stroke-width="1.5"/>
<text x="543" y="351" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" dominant-baseline="central">tool_result</text>
<text x="768" y="351" font-family="Arial, sans-serif" font-size="10" fill="#c9a227" text-anchor="end" dominant-baseline="central" font-weight="bold">NUEVO</text>
<!-- Column 3 footer: cost -->
<rect x="535" y="378" width="240" height="44" rx="4" fill="#fff8e1" stroke="#e6a817" stroke-width="1.5"/>
<text x="655" y="392" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">cache_creation para este turno</text>
<text x="655" y="410" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#a06a00" text-anchor="middle" dominant-baseline="central" font-weight="bold">≈ 0.4k tokens</text>
<!-- Legend -->
<rect x="40" y="450" width="20" height="14" rx="2" fill="#fff3cd" stroke="#e6a817" stroke-width="1.5"/>
<text x="68" y="457" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" dominant-baseline="central">NEW = nuevos tokens añadidos en este turno, pagar cache_creation una sola vez</text>
<rect x="40" y="472" width="20" height="14" rx="2" fill="#f0f0f0" stroke="#aaaaaa" stroke-width="1"/>
<text x="68" y="479" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" dominant-baseline="central">HIT = ya en el prefijo de caché, acierto gratuito este turno</text>
<rect x="40" y="494" width="20" height="14" rx="2" fill="none" stroke="#cccccc" stroke-width="1" stroke-dasharray="4,3"/>
<text x="68" y="501" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" dominant-baseline="central">— contenido aún no generado en este turno</text>
<text x="450" y="479" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" dominant-baseline="central">★ Marcar adjunto con emit-once: pagar cache_creation solo en el Turno 1,</text>
<text x="450" y="497" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" dominant-baseline="central"> luego HIT permanente para todos los turnos subsiguientes, costo marginal cero.</text>
<!-- Bottom note about position -->
<text x="410" y="525" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" dominant-baseline="central" font-style="italic">Nota: una vez insertado, la posición del índice de cada mensaje nunca cambia; el nuevo contenido solo se añade al final del array.</text>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

+64
View File
@@ -0,0 +1,64 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 920 540" width="920" height="540" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<text x="220.0" y="65" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Sin barra de estado</text>
<text x="645.0" y="65" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Con barra de estado</text>
<rect x="30" y="90" width="385" height="35" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="38" y="107.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">sistema:</text>
<text x="120" y="107.5" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">Prompt de sistema + Herramientas</text>
<rect x="30" y="128" width="385" height="35" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="38" y="145.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">usuario:</text>
<text x="120" y="145.5" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#333333" text-anchor="start" dominant-baseline="central">"Ayúdame a contactar a Xfinity para negociar"</text>
<rect x="30" y="166" width="385" height="35" rx="4" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="38" y="183.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">asistente:</text>
<text x="120" y="183.5" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">phone_call(Xfinity) → 1.er intento</text>
<rect x="30" y="204" width="385" height="35" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="38" y="221.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">herramienta:</text>
<text x="120" y="221.5" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#333333" text-anchor="start" dominant-baseline="central">Resultado: espera de 45 minutos, no conectado</text>
<rect x="30" y="242" width="385" height="35" rx="4" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="38" y="259.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">asistente:</text>
<text x="120" y="259.5" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">web_search(&quot;Xfinity deals&quot;)</text>
<rect x="30" y="280" width="385" height="35" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="38" y="297.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">herramienta:</text>
<text x="120" y="297.5" font-family="'Courier New', Courier, monospace" font-size="8.5" fill="#333333" text-anchor="start" dominant-baseline="central">Resultado: [gran cantidad de contenido de búsqueda...]</text>
<rect x="30" y="318" width="385" height="35" rx="4" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="38" y="335.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">asistente:</text>
<text x="120" y="335.5" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">phone_call(Xfinity) → 2.º intento</text>
<rect x="30" y="356" width="385" height="35" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="38" y="373.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">herramienta:</text>
<text x="120" y="373.5" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Resultado: conectado, cotizado a $65/mes</text>
<rect x="30" y="394" width="385" height="35" rx="4" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="38" y="411.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">asistente:</text>
<text x="120" y="411.5" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">phone_call(Xfinity) → 3.er intento</text>
<rect x="30" y="432" width="385" height="35" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="38" y="449.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">herramienta:</text>
<text x="120" y="449.5" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">Resultado: reducción de precio confirmada a $59/mes</text>
<rect x="30" y="470" width="385" height="35" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="38" y="487.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">usuario:</text>
<text x="120" y="487.5" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">"¿Puedes llamar de nuevo para hacer un seguimiento?"</text>
<text x="220.0" y="523" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">→ El modelo necesita escanear todo el contexto para "contar"</text>
<text x="220.0" y="543" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">cuántas llamadas se realizaron, fácil de contar mal</text>
<rect x="455" y="90" width="385" height="35" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="463" y="107.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">sistema:</text>
<text x="540" y="107.5" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">Prompt de sistema + Herramientas</text>
<rect x="455" y="128" width="385" height="35" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="463" y="145.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">usuario:</text>
<text x="540" y="145.5" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#333333" text-anchor="start" dominant-baseline="central">"Ayúdame a contactar a Xfinity para negociar"</text>
<rect x="455" y="166" width="385" height="90" rx="4" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="463" y="211.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">...:</text>
<text x="540" y="211.0" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">[ Mismo contenido de trayectoria ]</text>
<rect x="455" y="259" width="385" height="35" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="463" y="276.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">usuario:</text>
<text x="540" y="276.5" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">"¿Puedes llamar de nuevo para hacer un seguimiento?"</text>
<rect x="455" y="297" width="385" height="130" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="465" y="315" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">&lt;agent_status&gt;</text>
<text x="470" y="337" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">phone_call llamado 3 veces (Xfinity: 3)</text>
<text x="470" y="357" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">Verificación de restricción: límite alcanzado (3/3) ✗</text>
<text x="470" y="377" font-family="'Courier New', Courier, monospace" font-size="9.5" fill="#333333" text-anchor="start" dominant-baseline="central">TODO: [✓]Contactar a Xfinity [✓]Confirmar reducción de precio</text>
<text x="470" y="397" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">Hora actual: 2025-09-14 10:30</text>
<text x="470" y="417" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Estado actual: esperando confirmación del usuario</text>
<text x="815" y="417" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">&lt;/agent_status&gt;</text>
<text x="645.0" y="445" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">→ El modelo lee directamente el estado refinado</text>
<text x="645.0" y="465" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Sigue las restricciones con precisión, sin más llamadas</text>
<text x="435.0" y="300" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">VS</text>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

+66
View File
@@ -0,0 +1,66 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 460" width="820" height="460" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<!-- messages array label -->
<text x="40" y="60" font-family="'Courier New', Courier, monospace" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">messages: [</text>
<!-- Row 1: system -->
<rect x="50" y="78" width="480" height="32" rx="4" fill="#e8e8e8" stroke="#999999" stroke-width="1.5"/>
<text x="62" y="94" font-family="'Courier New', Courier, monospace" font-size="8" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "system", content: "Eres un agente de atención al cliente de telecomunicaciones..." }</text>
<!-- Row 2: tools -->
<rect x="50" y="114" width="480" height="32" rx="4" fill="#e8e8e8" stroke="#999999" stroke-width="1.5"/>
<text x="62" y="130" font-family="'Courier New', Courier, monospace" font-size="13" fill="#333333" text-anchor="start" dominant-baseline="central">herramientas: [cancel_plan, query_records, ...]</text>
<!-- Bracket for "fixed" -->
<path d="M 540,78 C 555,78 555,114 560,123 C 555,132 555,146 540,146" fill="none" stroke="#999999" stroke-width="1.5"/>
<text x="570" y="112" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="start" dominant-baseline="central">corregido</text>
<text x="570" y="130" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="start" dominant-baseline="central">(Caché KV)</text>
<!-- Row 3: user message -->
<rect x="50" y="154" width="480" height="32" rx="4" fill="#dce9f5" stroke="#999999" stroke-width="1.5"/>
<text x="62" y="170" font-family="'Courier New', Courier, monospace" font-size="13" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "user", content: "Ayúdame a cancelar mi plan" }</text>
<!-- Row 4: assistant tool_calls -->
<rect x="50" y="190" width="480" height="32" rx="4" fill="#d9f0d9" stroke="#999999" stroke-width="1.5"/>
<text x="62" y="206" font-family="'Courier New', Courier, monospace" font-size="13" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "assistant", tool_calls: [cancel_plan(...)] }</text>
<!-- Row 5: tool result -->
<rect x="50" y="226" width="480" height="32" rx="4" fill="#fdf6e3" stroke="#999999" stroke-width="1.5"/>
<text x="62" y="242" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "tool", content: "Este plan tiene un periodo de contrato..." }</text>
<!-- Row 6: assistant text -->
<rect x="50" y="262" width="480" height="32" rx="4" fill="#d9f0d9" stroke="#999999" stroke-width="1.5"/>
<text x="62" y="278" font-family="'Courier New', Courier, monospace" font-size="9.5" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "assistant", content: "Su plan está dentro del período de contrato..." }</text>
<!-- Ellipsis row -->
<text x="280" y="306" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#999999" text-anchor="middle" dominant-baseline="central">... más turnos de conversación ...</text>
<!-- Row 7: user follow-up -->
<rect x="50" y="322" width="480" height="32" rx="4" fill="#dce9f5" stroke="#999999" stroke-width="1.5"/>
<text x="62" y="338" font-family="'Courier New', Courier, monospace" font-size="9.5" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "user", content: "Luego ayúdame a consultar mis registros de llamadas" }</text>
<text x="570" y="338" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central">seguimiento del usuario</text>
<!-- Row 8: Agent status bar (highlighted) -->
<rect x="50" y="362" width="480" height="48" rx="4" fill="#fff3cd" stroke="#e6a817" stroke-width="2.5"/>
<text x="62" y="380" font-family="'Courier New', Courier, monospace" font-size="13" fill="#333333" text-anchor="start" dominant-baseline="central">{ role: "user", content: "&lt;agent_status&gt;</text>
<text x="62" y="398" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#333333" text-anchor="start" dominant-baseline="central"> Llamado 3/3 veces · TODO: Cancelar plan (en progreso)&lt;/agent_status&gt;" }</text>
<!-- Arrow pointing to system hint -->
<line x1="570" y1="386" x2="538" y2="386" stroke="#e6a817" stroke-width="2" marker-end="url(#ah)"/>
<text x="578" y="378" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#c9a227" text-anchor="start" dominant-baseline="central" font-weight="bold">Inserción del framework de agentes</text>
<text x="578" y="396" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#c9a227" text-anchor="start" dominant-baseline="central" font-weight="bold">barra de estado del agente</text>
<!-- Closing bracket -->
<text x="40" y="428" font-family="'Courier New', Courier, monospace" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">]</text>
<!-- Generation position arrow and label -->
<line x1="50" y1="422" x2="50" y2="450" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="60" y="442" width="20" height="20" rx="2" fill="#d9f0d9" stroke="#999999" stroke-width="1"/>
<text x="88" y="452" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">el modelo comienza a generar desde aquí</text>
<!-- Bottom note -->
<rect x="50" y="472" width="720" height="22" rx="4" fill="#f5f5f5" stroke="none"/>
<text x="410" y="483" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central">← adyacente al inicio de generación del modelo, recibe el mayor peso de atención</text>
</svg>

After

Width:  |  Height:  |  Size: 6.4 KiB

+51
View File
@@ -0,0 +1,51 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 490" width="820" height="490" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<text x="102.5" y="65" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Estrategia</text>
<text x="225.0" y="65" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Tokens</text>
<text x="312.5" y="65" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ratio</text>
<text x="382.5" y="65" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Iter.</text>
<text x="462.5" y="65" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Resultado</text>
<text x="645.0" y="65" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Uso de tokens</text>
<line x1="30" y1="77" x2="790" y2="77" stroke="#333333" stroke-width="2"/>
<text x="102" y="110" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Sin compresión</text>
<text x="225" y="110" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">166,043</text>
<text x="312" y="110" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">102.1%</text>
<text x="382" y="110" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">5</text>
<text x="462" y="110" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#999999" text-anchor="middle" dominant-baseline="central" font-weight="normal">✗ Fallido</text>
<rect x="505" y="90" width="166.043" height="40" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="102" y="172" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Resumen individual</text>
<text x="225" y="172" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">276,608</text>
<text x="312" y="172" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">10.9%</text>
<text x="382" y="172" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">12</text>
<text x="462" y="172" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Éxito</text>
<rect x="505" y="152" width="276.608" height="40" rx="3" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="102" y="234" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Resumen combinado</text>
<text x="225" y="234" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">93,449</text>
<text x="312" y="234" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">4.3%</text>
<text x="382" y="234" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">10</text>
<text x="462" y="234" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Éxito</text>
<rect x="505" y="214" width="93.449" height="40" rx="3" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="102" y="296" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Sensible al contexto</text>
<text x="225" y="296" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">40,157</text>
<text x="312" y="296" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">3.0%</text>
<text x="382" y="296" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">7</text>
<text x="462" y="296" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Éxito</text>
<rect x="505" y="276" width="40.157" height="40" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="102" y="358" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Conciencia + Citación</text>
<text x="225" y="358" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">222,992</text>
<text x="312" y="358" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">4.1%</text>
<text x="382" y="358" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">10</text>
<text x="462" y="358" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Éxito</text>
<rect x="505" y="338" width="222.992" height="40" rx="3" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="102" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ventana adaptativa</text>
<text x="225" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">174,601</text>
<text x="312" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">102.4%</text>
<text x="382" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">7</text>
<text x="462" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Éxito</text>
<rect x="505" y="400" width="174.601" height="40" rx="3" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<rect x="28" y="273" width="764" height="48" rx="4" fill="none" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<rect x="100" y="470" width="620" height="45" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="410" y="485" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Compresión sensible al contexto: 76 % menos tokens que sin compresión y mínimo de iteraciones empatado</text>
<text x="410" y="505" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Clave: incorporar la intención de la consulta y la información existente en las decisiones de compresión</text>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

+65
View File
@@ -0,0 +1,65 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 560" width="820" height="560" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<text x="410" y="58" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Cada búsqueda devuelve ~52 K caracteres de media → cada estrategia los procesa de forma distinta</text>
<rect x="30" y="75" width="130" height="26" rx="13" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="95.0" y="88.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">① Sin compresión</text>
<rect x="30" y="105" width="120" height="40" rx="4" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="90" y="125" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Conservar directamente</text>
<line x1="152" y1="125" x2="165" y2="125" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="168" y="105" width="330" height="40" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="333" y="125" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Texto original completo al contexto</text>
<line x1="500" y1="125" x2="513" y2="125" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="516" y="105" width="275" height="40" rx="4" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="653" y="125" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">166K tok · 102,1 % · fallo</text>
<rect x="30" y="153" width="130" height="26" rx="13" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="95.0" y="166.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">② Resumen individual</text>
<rect x="30" y="183" width="120" height="40" rx="4" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="90" y="203" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Resumen independiente</text>
<line x1="152" y1="203" x2="165" y2="203" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="168" y="183" width="330" height="40" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="333" y="203" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Cada resultado genera de forma independiente resúmenes de 2-3 párrafos</text>
<line x1="500" y1="203" x2="513" y2="203" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="516" y="183" width="275" height="40" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="653" y="203" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">277K tok · 10,9 % · 12 rondas</text>
<rect x="30" y="231" width="130" height="26" rx="13" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="95.0" y="244.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">③ Resumen combinado</text>
<rect x="30" y="261" width="120" height="40" rx="4" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="90" y="281" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Resumen fusionado</text>
<line x1="152" y1="281" x2="165" y2="281" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="168" y="261" width="330" height="40" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="333" y="281" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Todos los resultados concatenados y luego resumen unificado</text>
<line x1="500" y1="281" x2="513" y2="281" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="516" y="261" width="275" height="40" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="653" y="281" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">93K tok · 4,3 % · 10 rondas</text>
<rect x="30" y="309" width="130" height="26" rx="13" fill="#666666" stroke="#333333" stroke-width="2"/>
<text x="95.0" y="322.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">④ Sensible al contexto</text>
<rect x="30" y="339" width="120" height="40" rx="4" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="90" y="359" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Compresión inteligente</text>
<line x1="152" y1="359" x2="165" y2="359" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="168" y="339" width="330" height="40" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="333" y="359" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Consulta + contexto dados → compresión dirigida</text>
<line x1="500" y1="359" x2="513" y2="359" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="516" y="339" width="275" height="40" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="653" y="359" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">40K tok · 3,0 % · 7 rondas</text>
<rect x="30" y="387" width="130" height="26" rx="13" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="95.0" y="400.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7.5" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">⑤ Sensible al contexto + citación</text>
<rect x="30" y="417" width="120" height="40" rx="4" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="90" y="437" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Inteligente + trazabilidad</text>
<line x1="152" y1="437" x2="165" y2="437" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="168" y="417" width="330" height="40" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="333" y="437" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Contenido comprimido + conservar marcadores de citación de URL</text>
<line x1="500" y1="437" x2="513" y2="437" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="516" y="417" width="275" height="40" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="653" y="437" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">223K tok · 4,1 % · 10 rondas</text>
<rect x="30" y="465" width="130" height="26" rx="13" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="95.0" y="478.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">⑥ Ventana adaptativa</text>
<rect x="30" y="495" width="120" height="40" rx="4" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="90" y="515" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Compresión diferida</text>
<line x1="152" y1="515" x2="165" y2="515" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="168" y="495" width="330" height="40" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="333" y="515" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">&lt; 80% de ventana conservar texto original, comprimir en lote al superar</text>
<line x1="500" y1="515" x2="513" y2="515" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="516" y="495" width="275" height="40" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="653" y="515" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">175K tok · 102,4 % · 7 rondas</text>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

+20
View File
@@ -0,0 +1,20 @@
<svg xml:lang="es" xmlns="http://www.w3.org/2000/svg" viewBox="0 40 900 300" width="900" height="300" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="66" width="380" height="210" rx="6" fill="#ffffff" stroke="#999999" stroke-width="2"/>
<text x="220" y="90" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Solicitud (construida por el framework del agente)</text>
<rect x="50" y="112" width="340" height="62" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="70" y="132" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">system</text>
<text x="70" y="154" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Reglas escritas por el desarrollador</text>
<rect x="50" y="190" width="340" height="62" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="70" y="210" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">user</text>
<text x="70" y="232" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">"Hola, ¿quién eres?"</text>
<line x1="410" y1="171" x2="470" y2="171" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="440.0" y="161.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle">Llamada</text>
<rect x="490" y="66" width="380" height="210" rx="6" fill="#ffffff" stroke="#999999" stroke-width="2"/>
<text x="680" y="90" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Respuesta (devuelta por la API)</text>
<rect x="510" y="150" width="340" height="82" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="530" y="174" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">assistant</text>
<text x="530" y="198" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Respuesta generada por el modelo</text>
<text x="530" y="218" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">"¡Hola! Soy un asistente de programación…"</text>
<text x="450" y="308" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Cada llamada no tiene estado: toda la información necesaria debe incluirse en la lista messages de la solicitud</text>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

+31
View File
@@ -0,0 +1,31 @@
<svg xml:lang="es" xmlns="http://www.w3.org/2000/svg" viewBox="0 40 900 430" width="900" height="430" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<text x="30" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="19" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Primera llamada a la API del modelo</text>
<rect x="30" y="92" width="340" height="106" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="200" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">messages: system + user</text>
<text x="200" y="148" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">tools: get_current_time,</text>
<text x="200" y="170" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">get_weather</text>
<line x1="370" y1="145" x2="480" y2="145" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="425" y="135" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle">API</text>
<rect x="480" y="92" width="390" height="106" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="675" y="112" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">assistant: tool_calls</text>
<text x="675" y="138" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">get_current_time(timezone=&quot;America/Vancouver&quot;)</text>
<text x="675" y="158" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">get_weather(city=&quot;Vancouver&quot;, unit=&quot;celsius&quot;)</text>
<text x="675" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Sin dependencia de datos → se pueden ejecutar en paralelo</text>
<line x1="675" y1="198" x2="675" y2="218" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="480" y="220" width="390" height="50" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="675" y="245" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">El framework del Agente ejecuta dos herramientas en paralelo</text>
<line x1="675" y1="270" x2="675" y2="298" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="30" y="286" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="19" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Segunda llamada a la API del modelo</text>
<rect x="480" y="300" width="390" height="78" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="675" y="322" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">messages: + resultados de herramientas</text>
<text x="675" y="346" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Hora y tiempo de Vancouver</text>
<text x="675" y="364" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Añadir al historial de mensajes y volver a solicitar el modelo</text>
<line x1="480" y1="339" x2="370" y2="339" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="425" y="329" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle">API</text>
<rect x="30" y="300" width="340" height="78" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="200" y="322" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">assistant: respuesta final</text>
<text x="200" y="346" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Sin llamada a herramienta → fin del bucle</text>
<text x="200" y="364" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;Ahora son las…, y el tiempo…&quot;</text>
<text x="450" y="430" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Con una API sin estado, hay que reenviar al modelo todo el historial en cada ronda</text>
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

+26
View File
@@ -0,0 +1,26 @@
<svg xml:lang="es" xmlns="http://www.w3.org/2000/svg" viewBox="0 40 900 320" width="900" height="320" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="78" width="840" height="96" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="50" y="100" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Prefijo estático (no cambia entre rondas)</text>
<rect x="60" y="116" width="380" height="44" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="250" y="138" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">System Prompt (prompt del sistema)</text>
<rect x="460" y="116" width="380" height="44" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="650" y="138" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Tool Definitions (definiciones de herramientas)</text>
<rect x="30" y="200" width="840" height="110" rx="6" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="50" y="222" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Historial / trayectoria (crece con la interacción →)</text>
<rect x="60" y="244" width="140" height="46" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="130.0" y="267" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">user</text>
<line x1="200" y1="267" x2="216" y2="267" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="216" y="244" width="140" height="46" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="286.0" y="267" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">assistant</text>
<line x1="356" y1="267" x2="372" y2="267" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="372" y="244" width="140" height="46" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="442.0" y="267" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">resultado de herramienta</text>
<line x1="512" y1="267" x2="528" y2="267" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="528" y="244" width="140" height="46" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="598.0" y="267" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">user</text>
<line x1="668" y1="267" x2="684" y2="267" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="684" y="244" width="60" height="46" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="714.0" y="267" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<text x="450" y="344" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Estructura "prefijo estático + trayectoria": el prefijo se fija para KV Cache; la trayectoria se puede comprimir</text>
</svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

+22
View File
@@ -0,0 +1,22 @@
<svg xml:lang="es" xmlns="http://www.w3.org/2000/svg" viewBox="0 40 900 184" width="900" height="184" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="26.0" y="44" width="200" height="84" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="126.0" y="74.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Solicitud del usuario</text>
<text x="126.0" y="100.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">"Ayúdame a negociar con Xfinity"</text>
<rect x="242.0" y="44" width="200" height="84" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="342.0" y="74.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Servicio LLM local</text>
<text x="342.0" y="100.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">vLLM/Ollama (compatible con OpenAI)</text>
<line x1="228.0" y1="86.0" x2="240.0" y2="86.0" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="458.0" y="44" width="200" height="84" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="558.0" y="74.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="19" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Inferencia del modelo</text>
<text x="558.0" y="100.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">Decidir y generar tool_call</text>
<line x1="444.0" y1="86.0" x2="456.0" y2="86.0" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="674.0" y="44" width="200" height="84" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="774.0" y="74.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ejecución local de herramientas</text>
<text x="774.0" y="100.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">Llamar a función / API externa</text>
<line x1="660.0" y1="86.0" x2="672.0" y2="86.0" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="774.0" y1="128" x2="774.0" y2="158" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<line x1="774.0" y1="158" x2="558.0" y2="158" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<line x1="558.0" y1="158" x2="558.0" y2="130" stroke="#333333" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah)"/>
<text x="666.0" y="176" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Devolver resultados al modelo y generar la respuesta final</text>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

+55
View File
@@ -0,0 +1,55 @@
<svg xml:lang="es" xmlns="http://www.w3.org/2000/svg" viewBox="0 40 760 570" width="760" height="570" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<text x="40" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">① Pesos de atención de «qué tal» respecto de cada palabra anterior</text>
<rect x="60" y="96" width="150" height="66" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="135.0" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Pekín</text>
<text x="135.0" y="143" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Key · Peso 0.35</text>
<rect x="228" y="96" width="150" height="66" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="303.0" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">de</text>
<text x="303.0" y="143" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Key · Peso 0.05</text>
<rect x="396" y="96" width="150" height="66" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="471.0" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">tiempo</text>
<text x="471.0" y="143" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Key · Peso 0.55</text>
<rect x="564" y="96" width="150" height="66" rx="6" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="639.0" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">qué tal</text>
<text x="639.0" y="143" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Query (actual)</text>
<text x="380" y="192" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Puntuación QueryKey → normalización de pesos → suma ponderada de Value (sobre todo «tiempo»)</text>
<text x="40" y="244" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">② Mapa de calor de atención: cada palabra solo se ve a sí misma y las anteriores (triángulo causal)</text>
<text x="176" y="284" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">Key →</text>
<text x="232.0" y="284" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Pekín</text>
<text x="296.0" y="284" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">de</text>
<text x="360.0" y="284" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">tiempo</text>
<text x="424.0" y="284" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">qué tal</text>
<text x="110" y="428" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Query ↓</text>
<text x="176" y="332.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">Pekín</text>
<rect x="200" y="300" width="64" height="64" fill="#555555" stroke="#ffffff" stroke-width="2"/>
<text x="232.0" y="332.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central">1.00</text>
<rect x="264" y="300" width="64" height="64" fill="#ffffff" stroke="#e0e0e0" stroke-width="1"/>
<rect x="328" y="300" width="64" height="64" fill="#ffffff" stroke="#e0e0e0" stroke-width="1"/>
<rect x="392" y="300" width="64" height="64" fill="#ffffff" stroke="#e0e0e0" stroke-width="1"/>
<text x="176" y="396.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">de</text>
<rect x="200" y="364" width="64" height="64" fill="#b0b0b0" stroke="#ffffff" stroke-width="2"/>
<text x="232.0" y="396.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central">0.30</text>
<rect x="264" y="364" width="64" height="64" fill="#555555" stroke="#ffffff" stroke-width="2"/>
<text x="296.0" y="396.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central">0.70</text>
<rect x="328" y="364" width="64" height="64" fill="#ffffff" stroke="#e0e0e0" stroke-width="1"/>
<rect x="392" y="364" width="64" height="64" fill="#ffffff" stroke="#e0e0e0" stroke-width="1"/>
<text x="176" y="460.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">tiempo</text>
<rect x="200" y="428" width="64" height="64" fill="#b0b0b0" stroke="#ffffff" stroke-width="2"/>
<text x="232.0" y="460.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central">0.20</text>
<rect x="264" y="428" width="64" height="64" fill="#dcdcdc" stroke="#ffffff" stroke-width="2"/>
<text x="296.0" y="460.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central">0.10</text>
<rect x="328" y="428" width="64" height="64" fill="#555555" stroke="#ffffff" stroke-width="2"/>
<text x="360.0" y="460.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central">0.70</text>
<rect x="392" y="428" width="64" height="64" fill="#ffffff" stroke="#e0e0e0" stroke-width="1"/>
<text x="176" y="524.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">qué tal</text>
<rect x="200" y="492" width="64" height="64" fill="#b0b0b0" stroke="#ffffff" stroke-width="2"/>
<text x="232.0" y="524.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central">0.35</text>
<rect x="264" y="492" width="64" height="64" fill="#dcdcdc" stroke="#ffffff" stroke-width="2"/>
<text x="296.0" y="524.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central">0.05</text>
<rect x="328" y="492" width="64" height="64" fill="#888888" stroke="#ffffff" stroke-width="2"/>
<text x="360.0" y="524.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central">0.55</text>
<rect x="392" y="492" width="64" height="64" fill="#dcdcdc" stroke="#ffffff" stroke-width="2"/>
<text x="424.0" y="524.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central">0.05</text>
<text x="380" y="586" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Celda más oscura = más atención; triángulo superior vacío = no se ven palabras aún no generadas</text>
</svg>

After

Width:  |  Height:  |  Size: 9.8 KiB

+23
View File
@@ -0,0 +1,23 @@
<svg xml:lang="es" xmlns="http://www.w3.org/2000/svg" viewBox="0 30 900 260" width="900" height="260" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<text x="170" y="44" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Mensajes estructurados de la API</text>
<rect x="30" y="62" width="300" height="58" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="44" y="84" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">system</text>
<text x="44" y="104" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">"Eres un asistente útil."</text>
<rect x="30" y="132" width="300" height="58" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="44" y="154" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">user</text>
<text x="44" y="174" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">"¿Qué tiempo hace hoy en Pekín?"</text>
<rect x="30" y="202" width="300" height="58" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="44" y="224" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">assistant</text>
<text x="44" y="244" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">(pendiente de generar)</text>
<line x1="345" y1="170" x2="405" y2="170" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="375.0" y="158.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle">Chat Template</text>
<text x="640" y="44" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Flujo lineal de tokens que procesa realmente el modelo</text>
<rect x="420" y="62" width="450" height="117.0" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="430" y="82.5" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">&lt;|im_start|&gt;system</text>
<text x="430" y="103.5" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">Eres un asistente útil.&lt;|im_end|&gt;</text>
<text x="430" y="124.5" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">&lt;|im_start|&gt;user</text>
<text x="430" y="145.5" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">¿Qué tiempo hace hoy en Pekín?&lt;|im_end|&gt;</text>
<text x="430" y="166.5" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">&lt;|im_start|&gt;assistant</text>
<text x="645" y="254" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Los tokens especiales delimitan roles y mensajes para formar una secuencia continua</text>
</svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

+75
View File
@@ -0,0 +1,75 @@
<svg xml:lang="es" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 280" width="900" height="280" style="background:#ffffff">
<style>text{font-family:Arial,'Helvetica Neue',Helvetica,'PingFang SC','Microsoft YaHei',sans-serif}</style>
<defs>
<marker id="arrow" markerWidth="10" markerHeight="7" refX="10" refY="3.5" orient="auto"><polygon points="0 0, 10 3.5, 0 7" fill="#555555"/></marker>
</defs>
<!-- Left section: API layer -->
<text x="200" y="24" font-size="15" fill="#333333" text-anchor="middle" font-weight="bold">Nivel de API (lo que ve el desarrollador)</text>
<rect x="20" y="40" width="360" height="220" rx="8" fill="#f8f9fb" stroke="#b0b8c4" stroke-width="1.5"/>
<!-- System message -->
<rect x="35" y="55" width="330" height="82" rx="5" fill="#ffffff" stroke="#d0d5dc" stroke-width="1"/>
<text x="50" y="80" font-size="14" fill="#555555" font-family="'Courier New',Courier,monospace">{ </text>
<text x="68" y="80" font-size="14" fill="#0b7285" font-family="'Courier New',Courier,monospace">"role"</text>
<text x="128" y="80" font-size="14" fill="#555555" font-family="'Courier New',Courier,monospace">: </text>
<text x="144" y="80" font-size="14" fill="#c92a2a" font-family="'Courier New',Courier,monospace">"system"</text>
<text x="224" y="80" font-size="14" fill="#555555" font-family="'Courier New',Courier,monospace">,</text>
<text x="68" y="104" font-size="14" fill="#0b7285" font-family="'Courier New',Courier,monospace">"content"</text>
<text x="148" y="104" font-size="14" fill="#555555" font-family="'Courier New',Courier,monospace">: </text>
<text x="164" y="104" font-size="14" fill="#c92a2a" font-family="'Courier New',Courier,monospace">"Eres un asistente"</text>
<text x="264" y="104" font-size="14" fill="#555555" font-family="'Courier New',Courier,monospace"> }</text>
<!-- User message -->
<rect x="35" y="152" width="330" height="82" rx="5" fill="#ffffff" stroke="#d0d5dc" stroke-width="1"/>
<text x="50" y="177" font-size="14" fill="#555555" font-family="'Courier New',Courier,monospace">{ </text>
<text x="68" y="177" font-size="14" fill="#0b7285" font-family="'Courier New',Courier,monospace">"role"</text>
<text x="128" y="177" font-size="14" fill="#555555" font-family="'Courier New',Courier,monospace">: </text>
<text x="144" y="177" font-size="14" fill="#c92a2a" font-family="'Courier New',Courier,monospace">"user"</text>
<text x="208" y="177" font-size="14" fill="#555555" font-family="'Courier New',Courier,monospace">,</text>
<text x="68" y="201" font-size="14" fill="#0b7285" font-family="'Courier New',Courier,monospace">"content"</text>
<text x="148" y="201" font-size="14" fill="#555555" font-family="'Courier New',Courier,monospace">: </text>
<text x="164" y="201" font-size="14" fill="#c92a2a" font-family="'Courier New',Courier,monospace">"Hola"</text>
<text x="224" y="201" font-size="14" fill="#555555" font-family="'Courier New',Courier,monospace"> }</text>
<!-- Arrow -->
<line x1="395" y1="150" x2="455" y2="150" stroke="#555555" stroke-width="2.5" marker-end="url(#arrow)"/>
<!-- Right section: Model layer -->
<text x="680" y="24" font-size="15" fill="#333333" text-anchor="middle" font-weight="bold">Nivel del modelo (tras convertir con Chat Template)</text>
<rect x="475" y="40" width="405" height="220" rx="8" fill="#f5faf7" stroke="#8fc5a6" stroke-width="1.5"/>
<!-- Token line 1: <|im_start|>system -->
<rect x="490" y="55" width="150" height="22" rx="4" fill="#555555"/>
<text x="565" y="66" font-size="12" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-family="'Courier New',Courier,monospace">&lt;|im_start|&gt;</text>
<text x="645" y="66" font-size="14" fill="#333333" dominant-baseline="central">system</text>
<!-- Token line 2: 你是助手<|im_end|> -->
<text x="490" y="98" font-size="14" fill="#333333" dominant-baseline="central">Eres un asistente</text>
<rect x="568" y="86" width="120" height="22" rx="4" fill="#999999"/>
<text x="628" y="97" font-size="12" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-family="'Courier New',Courier,monospace">&lt;|im_end|&gt;</text>
<!-- Token line 3: <|im_start|>user -->
<rect x="490" y="118" width="150" height="22" rx="4" fill="#555555"/>
<text x="565" y="129" font-size="12" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-family="'Courier New',Courier,monospace">&lt;|im_start|&gt;</text>
<text x="645" y="129" font-size="14" fill="#333333" dominant-baseline="central">user</text>
<!-- Token line 4: 你好<|im_end|> -->
<text x="490" y="161" font-size="14" fill="#333333" dominant-baseline="central">Hola</text>
<rect x="530" y="149" width="120" height="22" rx="4" fill="#999999"/>
<text x="590" y="160" font-size="12" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-family="'Courier New',Courier,monospace">&lt;|im_end|&gt;</text>
<!-- Token line 5: <|im_start|>assistant -->
<rect x="490" y="181" width="150" height="22" rx="4" fill="#555555"/>
<text x="565" y="192" font-size="12" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-family="'Courier New',Courier,monospace">&lt;|im_start|&gt;</text>
<text x="645" y="192" font-size="14" fill="#333333" dominant-baseline="central">assistant</text>
<!-- Token line 6: (模型从这里开始生成) -->
<text x="490" y="226" font-size="13" fill="#888888" dominant-baseline="central">(el modelo empieza a generar aquí)</text>
<line x1="490" y1="234" x2="680" y2="234" stroke="#888888" stroke-width="1" stroke-dasharray="4,3"/>
</svg>

After

Width:  |  Height:  |  Size: 5.4 KiB

+26
View File
@@ -0,0 +1,26 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 920 400" width="920" height="400" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="40" y="70" width="400" height="46" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="240" y="93" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Memoria del usuario (escala individual)</text>
<rect x="480" y="70" width="400" height="46" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="680" y="93" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Base de conocimiento (escala colectiva)</text>
<rect x="40" y="128" width="400" height="158" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="60" y="156" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">· Jerarquía de memoria · Evaluación en tres niveles</text>
<text x="60" y="184" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">· Cuatro formatos de almacenamiento</text>
<text x="60" y="212" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal" style="font-size:15px">· Tipos cognitivos: episódica · semántica · procedimental</text>
<text x="60" y="240" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">· Marcos de memoria: Mem0 · Memobase</text>
<text x="60" y="268" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">· Compresión y consolidación · Niveles de privacidad</text>
<rect x="480" y="128" width="400" height="158" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="500" y="156" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal" style="font-size:15px">· Fragmentación de documentos · Extracción multimodal</text>
<text x="500" y="184" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal" style="font-size:15.5px">· Embeddings densos/dispersos · Recuperación híbrida</text>
<text x="500" y="212" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">· Indexación estructurada: RAPTOR · GraphRAG</text>
<text x="500" y="240" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">· Paradigma de sistema de archivos · RAG agéntico</text>
<text x="500" y="268" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal" style="font-size:13px">· Recuperación contextual · Extracción profunda de conocimiento</text>
<line x1="240" y1="320" x2="240" y2="288" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<line x1="680" y1="320" x2="680" y2="288" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="40" y="322" width="840" height="50" rx="6" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="460" y="340" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Base común: técnicas de recuperación</text>
<text x="460" y="360" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Fragmentación · Embeddings vectoriales/por palabra clave · Recuperación híbrida · Reordenación</text>
<text x="460" y="397" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ambas líneas convergen en una «arquitectura de memoria de doble capa»:</text>
<text x="460" y="414" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Las tarjetas JSON avanzadas mantienen el resumen residente; la recuperación contextual trae el detalle a demanda.</text>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

+54
View File
@@ -0,0 +1,54 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 800 400" width="800" height="400" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="300" y="55" width="200" height="50" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="400.0" y="80.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Resumen general</text>
<text x="515" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">← Nodo raíz</text>
<rect x="80" y="150" width="160" height="48" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="160.0" y="174.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Resumen clúster A</text>
<rect x="320" y="150" width="160" height="48" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="400.0" y="174.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Resumen clúster B</text>
<rect x="560" y="150" width="160" height="48" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="640.0" y="174.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Resumen clúster C</text>
<line x1="400" y1="105" x2="160" y2="150" stroke="#333333" stroke-width="2"/>
<line x1="400" y1="105" x2="400" y2="150" stroke="#333333" stroke-width="2"/>
<line x1="400" y1="105" x2="640" y2="150" stroke="#333333" stroke-width="2"/>
<text x="35" y="230" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Capa media ↑</text>
<rect x="40" y="250" width="88" height="40" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="84.0" y="261.55" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Fragmento</text>
<text x="84.0" y="278.45" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">1</text>
<line x1="84.0" y1="250" x2="160" y2="198" stroke="#999999" stroke-width="2"/>
<rect x="140" y="250" width="88" height="40" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="184.0" y="261.55" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Fragmento</text>
<text x="184.0" y="278.45" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">2</text>
<line x1="184.0" y1="250" x2="160" y2="198" stroke="#999999" stroke-width="2"/>
<rect x="240" y="250" width="88" height="40" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="284.0" y="261.55" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Fragmento</text>
<text x="284.0" y="278.45" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">3</text>
<line x1="284.0" y1="250" x2="160" y2="198" stroke="#999999" stroke-width="2"/>
<rect x="360" y="250" width="88" height="40" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="404.0" y="261.55" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Fragmento</text>
<text x="404.0" y="278.45" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">4</text>
<line x1="404.0" y1="250" x2="400" y2="198" stroke="#999999" stroke-width="2"/>
<rect x="460" y="250" width="88" height="40" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="504.0" y="261.55" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Fragmento</text>
<text x="504.0" y="278.45" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">5</text>
<line x1="504.0" y1="250" x2="400" y2="198" stroke="#999999" stroke-width="2"/>
<rect x="560" y="250" width="88" height="40" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="604.0" y="261.55" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Fragmento</text>
<text x="604.0" y="278.45" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">6</text>
<line x1="604.0" y1="250" x2="640" y2="198" stroke="#999999" stroke-width="2"/>
<rect x="660" y="250" width="88" height="40" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="704.0" y="261.55" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Fragmento</text>
<text x="704.0" y="278.45" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">7</text>
<line x1="704.0" y1="250" x2="640" y2="198" stroke="#999999" stroke-width="2"/>
<text x="35" y="295" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Capa hoja ↑</text>
<rect x="40" y="320" width="720" height="55" rx="6" fill="#ffffff" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="400" y="340" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Documento original</text>
<rect x="60" y="350" width="90" height="16" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<rect x="170" y="350" width="90" height="16" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<rect x="280" y="350" width="90" height="16" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<rect x="390" y="350" width="90" height="16" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<rect x="500" y="350" width="90" height="16" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<rect x="610" y="350" width="90" height="16" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="400.0" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Abstracción recursiva de abajo a arriba: detalles → temas → vista general</text>
</svg>

After

Width:  |  Height:  |  Size: 8.5 KiB

+33
View File
@@ -0,0 +1,33 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 860 390" width="860" height="390" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="185" width="110" height="56" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="85.0" y="213.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Usuario</text>
<rect x="250" y="95" width="168" height="56" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="334.0" y="114.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Dra. Zhang-A</text>
<text x="334.0" y="135.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Servicio: Odontología</text>
<rect x="470" y="95" width="150" height="56" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="545.0" y="123.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Hospital Odontológico Renai</text>
<rect x="680" y="95" width="150" height="56" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="755.0" y="114.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Dirección</text>
<text x="755.0" y="135.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal" style="font-size:11.5px">Calle XX, distrito de Xuhui</text>
<rect x="250" y="280" width="168" height="56" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="334.0" y="299.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Dra. Zhang-B</text>
<text x="334.0" y="320.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Servicio: Cardiología</text>
<rect x="470" y="280" width="180" height="56" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="560.0" y="299.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Hospital Huashan</text>
<text x="560.0" y="320.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Centro cardiovascular</text>
<line x1="140" y1="205" x2="250" y2="128" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="195.0" y="156.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle">Mi dentista</text>
<line x1="140" y1="222" x2="250" y2="300" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="195.0" y="251.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle">Mi cardióloga</text>
<line x1="418" y1="123" x2="470" y2="123" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="444.0" y="110.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle">Trabaja en</text>
<line x1="620" y1="123" x2="680" y2="123" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="650.0" y="110.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle">Dirección</text>
<line x1="418" y1="308" x2="470" y2="308" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="444.0" y="295.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle">Trabaja en</text>
<text x="40" y="365" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">· Razonamiento multisalto: «dirección del hospital donde trabaja mi dentista» sigue</text>
<text x="55" y="381" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Usuario → Dra. Zhang-A → Hospital Odontológico Renai → Dirección.</text>
<text x="40" y="402" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">· Desambiguación: las aristas de relación distinguen los dos nodos «Dra. Zhang».</text>
<text x="55" y="418" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Cada arista es una tripleta sujetorelaciónobjeto.</text>
</svg>

After

Width:  |  Height:  |  Size: 6.0 KiB

+32
View File
@@ -0,0 +1,32 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 900 340" width="900" height="340" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="44" width="370" height="46" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="215.0" y="55.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">RAG no agéntico</text>
<text x="215.0" y="81.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">Paso previo fijo, recuperación única</text>
<rect x="80" y="110" width="270" height="44" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="215.0" y="132" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Consulta del usuario</text>
<line x1="215.0" y1="156" x2="215.0" y2="174" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="80" y="174" width="270" height="44" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="215.0" y="196" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Recuperación (una vez)</text>
<line x1="215.0" y1="220" x2="215.0" y2="238" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="80" y="238" width="270" height="44" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="215.0" y="260" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Generación directa de la respuesta</text>
<rect x="500" y="44" width="370" height="46" rx="6" fill="#eef3f6" stroke="#333333" stroke-width="2"/>
<text x="685.0" y="55.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">RAG agéntico</text>
<text x="685.0" y="81.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">Guiado por ReAct, recuperación iterativa</text>
<rect x="530" y="110" width="310" height="44" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="685.0" y="132" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal" style="font-size:13px">Pensar: analizar la necesidad y fijar palabras clave</text>
<line x1="685.0" y1="156" x2="685.0" y2="174" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="530" y="174" width="310" height="44" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="685.0" y="196" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal" style="font-size:14px">Actuar: llamar a la herramienta de recuperación</text>
<line x1="685.0" y1="220" x2="685.0" y2="238" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="530" y="238" width="310" height="44" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="685.0" y="260" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Observar: ¿basta la información?</text>
<line x1="840" y1="260" x2="858" y2="260" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<line x1="858" y1="260" x2="858" y2="196" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<line x1="858" y1="196" x2="840" y2="196" stroke="#333333" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah)"/>
<text x="862" y="228.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">No</text>
<line x1="685.0" y1="302" x2="685.0" y2="320" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="550" y="322" width="270" height="44" rx="6" fill="#dfeef0" stroke="#333333" stroke-width="2"/>
<text x="685.0" y="344" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Sí → sintetizar la respuesta</text>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

+45
View File
@@ -0,0 +1,45 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 460" width="880" height="460" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="220" y="55" width="440" height="200" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="440" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente (Bucle ReAct)</text>
<rect x="240" y="100" width="180" height="45" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="330.0" y="122.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">① Pensamiento</text>
<rect x="460" y="100" width="180" height="45" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="550.0" y="122.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">② Acción</text>
<rect x="350" y="180" width="180" height="45" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="440.0" y="202.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">③ Observación</text>
<line x1="420" y1="122" x2="458" y2="122" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="640" y1="130" x2="530" y2="178" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="350" y1="202" x2="280" y2="145" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="360" y="165" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Bucle hasta que la información sea suficiente</text>
<rect x="20" y="95" width="160" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="100.0" y="110.475" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Consulta</text>
<text x="100.0" y="134.525" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">usuario</text>
<line x1="180" y1="122" x2="218" y2="122" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="700" y="95" width="160" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="780.0" y="122.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="19.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Respuesta final</text>
<line x1="660" y1="122" x2="698" y2="122" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="100" y="290" width="680" height="85" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="440" y="312" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Capa de herramientas</text>
<rect x="120" y="330" width="220" height="35" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="230.0" y="347" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central">knowledge_base_search</text>
<rect x="370" y="330" width="140" height="35" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="440.0" y="347" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central">web_search</text>
<rect x="540" y="330" width="160" height="35" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="620.0" y="347" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central">code_interpreter</text>
<line x1="440" y1="255" x2="440" y2="288" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="440" y1="288" x2="440" y2="255" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="100" y="400" width="680" height="85" rx="6" fill="#ffffff" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="440" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Backend de base de conocimiento (intercambiable)</text>
<rect x="120" y="435" width="180" height="45" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="210.0" y="447.75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">retrieval-pipeline</text>
<text x="210.0" y="467.25" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Búsqueda híbrida</text>
<rect x="340" y="435" width="180" height="45" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="430.0" y="447.75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">structured-index</text>
<text x="430.0" y="467.25" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.0" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">RAPTOR/GraphRAG</text>
<rect x="560" y="435" width="180" height="45" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="650.0" y="448.075" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">contextual-retrieval</text>
<text x="650.0" y="466.925" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Consciente del contexto</text>
<line x1="230" y1="365" x2="230" y2="398" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="440" y1="375" x2="440" y2="398" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
</svg>

After

Width:  |  Height:  |  Size: 7.2 KiB

+36
View File
@@ -0,0 +1,36 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 390" width="880" height="390" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="20" y="55" width="400" height="170" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="220" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fragmentado tradicional (sin contexto)</text>
<rect x="40" y="95" width="360" height="50" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="50" y="112" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Los ingresos del segundo trimestre subieron 3%,</text>
<text x="50" y="132" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">debido principalmente a nuevas líneas de productos.</text>
<text x="220" y="170" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Pregunta: ¿Qué &quot;empresa&quot;? ¿Qué año?</text>
<text x="220" y="195" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">→ Búsqueda coincide con datos de ingresos de empresas no relacionadas</text>
<rect x="460" y="55" width="400" height="170" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="660" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fragmentado consciente del contexto</text>
<rect x="480" y="95" width="360" height="35" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="490" y="113" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#333333" text-anchor="start" dominant-baseline="central">[Informe Financiero ACME Q2 2025 · Indicadores Clave]</text>
<rect x="480" y="130" width="360" height="50" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="490" y="148" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Los ingresos del segundo trimestre subieron 3%,</text>
<text x="490" y="168" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">debido principalmente a nuevas líneas de productos.</text>
<text x="660" y="200" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">→ Coincidencia exacta ACME + Q2 + aumento ingresos</text>
<text x="440" y="140" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="24" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold"></text>
<line x1="20" y1="250" x2="860" y2="250" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="440.0" y="275" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fase de indexación: el LLM genera el prefijo de contexto</text>
<rect x="30" y="300" width="180" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="120.0" y="315.475" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Documento</text>
<text x="120.0" y="339.52500000000003" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">original</text>
<line x1="210" y1="327" x2="248" y2="327" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="250" y="300" width="180" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="340.0" y="327.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fragmentación</text>
<line x1="430" y1="327" x2="468" y2="327" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="470" y="300" width="180" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="560.0" y="317.1" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">LLM genera prefijo</text>
<text x="560.0" y="337.90000000000003" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">(caché de prompt)</text>
<line x1="650" y1="327" x2="688" y2="327" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="690" y="300" width="170" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="775.0" y="317.1" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Prefijo + texto orig.</text>
<text x="775.0" y="337.90000000000003" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">→ Índice</text>
<text x="440.0" y="410" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Impacto: Tasa de fallos ↓49% (+BM25), ↓67% (+reclasificación) — datos de Anthropic</text>
</svg>

After

Width:  |  Height:  |  Size: 6.6 KiB

+42
View File
@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 490" width="880" height="490" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="20" y="55" width="840" height="200" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="440" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fase 1: Extracción y estructuración de conocimiento</text>
<rect x="40" y="95" width="180" height="65" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="130" y="113" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Documentos de juicio originales</text>
<text x="50" y="138" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#333333" text-anchor="start" dominant-baseline="central">Conjunto de datos CAIL2018</text>
<line x1="220" y1="127" x2="258" y2="127" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="260" y="95" width="180" height="65" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="350" y="113" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Descubrimiento de factores por LLM</text>
<text x="350" y="138" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Esquema ascendente</text>
<line x1="440" y1="127" x2="478" y2="127" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="480" y="95" width="200" height="65" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="580" y="113" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">JSON estructurado</text>
<text x="490" y="138" font-family="'Courier New', Courier, monospace" font-size="6.5" fill="#333333" text-anchor="start" dominant-baseline="central">{voluntary_surrender:true, compensation:500000,</text>
<text x="490" y="155" font-family="'Courier New', Courier, monospace" font-size="8.5" fill="#333333" text-anchor="start" dominant-baseline="central"> injury_level:severe_injury_grade_2}</text>
<rect x="40" y="170" width="400" height="70" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="240" y="188" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Esquema de datos modular</text>
<text x="240" y="212" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Esquema principal (voluntary_surrender/compensation/prior_convictions) + Esquema de extensión específico del delito</text>
<text x="240" y="232" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">(robo→monto_involucrado, lesión→nivel_lesión)</text>
<rect x="20" y="270" width="840" height="215" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="440" y="293" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fase 2: Análisis de factores y modelado de conocimiento</text>
<rect x="40" y="310" width="200" height="80" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="140" y="330" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Vectorización de características</text>
<text x="140" y="354" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Codificación One-hot + Codificación Multi-hot</text>
<text x="140" y="376" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">+ Transformación logarítmica + Estandarización</text>
<line x1="240" y1="350" x2="278" y2="350" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="280" y="310" width="200" height="80" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="380" y="330" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agrupamiento KMeans</text>
<text x="380" y="354" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Descubrir "Prototipos de casos"</text>
<text x="380" y="376" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">p. ej., "riña sin armas, lesión leve"</text>
<line x1="480" y1="350" x2="518" y2="350" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="520" y="310" width="200" height="80" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="620" y="330" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Modelo de importancia de factores</text>
<text x="620" y="354" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Cuantificar los pesos de cada factor</text>
<text x="620" y="376" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Construir lógica de decisión de sentencia</text>
<line x1="620" y1="390" x2="620" y2="415" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="40" y="418" width="720" height="60" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="400" y="438" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Aplicación: Agente conversacional de asesoramiento legal</text>
<text x="400" y="463" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Preguntas guiadas por importancia de factores → Recuperación de prototipos de casos similares → Análisis de sentencia basado en datos</text>
</svg>

After

Width:  |  Height:  |  Size: 7.8 KiB

+43
View File
@@ -0,0 +1,43 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 920 412" width="920" height="412" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="24" y="70" width="200" height="42" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="124.0" y="91" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Notas simples</text>
<rect x="38" y="126" width="172" height="84" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="48" y="150" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">«Correo del usuario:</text>
<text x="48" y="172" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central"> john@x.com&quot;</text>
<text x="124.0" y="236" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Hecho atómico · O(1)</text>
<text x="124.0" y="262" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Coste mínimo</text>
<text x="124.0" y="292" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✗ Se pierden las relaciones</text>
<rect x="248" y="70" width="200" height="42" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="348.0" y="91" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Notas enriquecidas</text>
<rect x="262" y="126" width="172" height="84" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="272" y="150" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">«En TechCorp,</text>
<text x="272" y="172" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">un ingeniero sénior dirige</text>
<text x="272" y="194" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">un equipo de cinco.»</text>
<text x="348.0" y="236" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Narrativa completa</text>
<text x="348.0" y="262" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Semánticamente completa</text>
<text x="348.0" y="292" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✗ Redundante · difícil de actualizar</text>
<text x="348.0" y="318" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✗ El texto largo es difícil de recuperar</text>
<rect x="472" y="70" width="200" height="42" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="572.0" y="91" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Tarjetas JSON</text>
<rect x="486" y="126" width="172" height="84" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="496" y="150" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">work.position</text>
<text x="496" y="172" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central"> .title = …</text>
<text x="496" y="194" font-family="'Courier New', Courier, monospace" font-size="11.5" fill="#333333" text-anchor="start" dominant-baseline="central">(categoría → clave-valor)</text>
<text x="572.0" y="236" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Estructura de tres niveles</text>
<text x="572.0" y="262" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Admite actualizaciones parciales</text>
<text x="572.0" y="292" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✗ Clasificación rígida</text>
<rect x="696" y="70" width="200" height="42" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="796.0" y="91" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Tarjetas JSON avanzadas</text>
<rect x="710" y="126" width="172" height="84" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="720" y="150" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">+ backstory</text>
<text x="720" y="172" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">+ person</text>
<text x="720" y="194" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">+ relationship</text>
<text x="796.0" y="236" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal" style="font-size:11px">✓ Desambiguación · gestión del conocimiento</text>
<text x="796.0" y="262" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Con fuentes y relaciones</text>
<text x="796.0" y="292" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✗ Costosas de generar y mantener</text>
<line x1="70" y1="400" x2="850" y2="400" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="70" y="383" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Simplicidad</text>
<text x="850" y="383" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal" style="font-size:11px">Expresividad</text>
<text x="460" y="424" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Menos simplicidad, más expresividad</text>
</svg>

After

Width:  |  Height:  |  Size: 8.1 KiB

+61
View File
@@ -0,0 +1,61 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 920 340" width="920" height="340" style="background:#ffffff">
<defs>
<marker id="arrow" markerWidth="10" markerHeight="8" refX="10" refY="4" orient="auto">
<polygon points="0 0, 10 4, 0 8" fill="#555"/>
</marker>
<style>
text { font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; fill: #333; }
.title { font-size: 18px; font-weight: 700; }
.label { font-size: 15px; font-weight: 700; }
.detail { font-size: 13px; fill: #666; }
.box { fill: #f4f4f4; stroke: #555; stroke-width: 1.6; }
.new { fill: #e8f3ec; stroke: #39734f; }
.flow { stroke: #555; stroke-width: 1.8; marker-end: url(#arrow); }
</style>
</defs>
<text x="28" y="32" class="title">v2 (2025 paper)</text>
<rect x="28" y="50" width="125" height="58" rx="6" class="box"/>
<text x="90" y="84" text-anchor="middle" class="label">Dialogue</text>
<line x1="153" y1="79" x2="180" y2="79" class="flow"/>
<rect x="180" y="50" width="135" height="58" rx="6" class="box"/>
<text x="248" y="76" text-anchor="middle" class="label">LLM extract</text>
<text x="248" y="96" text-anchor="middle" class="detail">candidate facts</text>
<line x1="315" y1="79" x2="342" y2="79" class="flow"/>
<rect x="342" y="50" width="135" height="58" rx="6" class="box"/>
<text x="410" y="76" text-anchor="middle" class="label">Vector search</text>
<text x="410" y="96" text-anchor="middle" class="detail">existing memory</text>
<line x1="477" y1="79" x2="504" y2="79" class="flow"/>
<rect x="504" y="50" width="135" height="58" rx="6" class="box"/>
<text x="572" y="76" text-anchor="middle" class="label">LLM decide</text>
<text x="572" y="96" text-anchor="middle" class="detail">compare facts</text>
<line x1="639" y1="79" x2="666" y2="79" class="flow"/>
<rect x="666" y="50" width="226" height="58" rx="6" class="box"/>
<text x="779" y="76" text-anchor="middle" class="label">ADD · UPDATE</text>
<text x="779" y="98" text-anchor="middle" class="label">DELETE · NOOP</text>
<text x="460" y="133" text-anchor="middle" class="detail">Conflicts resolved at write time; old facts may be overwritten or deleted</text>
<line x1="28" y1="158" x2="892" y2="158" stroke="#bbb" stroke-width="1"/>
<text x="28" y="194" class="title">v3 (April 2026)</text>
<rect x="28" y="212" width="125" height="58" rx="6" class="box new"/>
<text x="90" y="246" text-anchor="middle" class="label">Dialogue</text>
<line x1="153" y1="241" x2="180" y2="241" class="flow"/>
<rect x="180" y="212" width="150" height="58" rx="6" class="box new"/>
<text x="255" y="238" text-anchor="middle" class="label">1× LLM extract</text>
<text x="255" y="258" text-anchor="middle" class="detail">single pass</text>
<line x1="330" y1="241" x2="357" y2="241" class="flow"/>
<rect x="357" y="212" width="150" height="58" rx="6" class="box new"/>
<text x="432" y="238" text-anchor="middle" class="label">ADD-only store</text>
<text x="432" y="258" text-anchor="middle" class="detail">preserve history</text>
<line x1="507" y1="241" x2="534" y2="241" class="flow"/>
<rect x="534" y="212" width="218" height="58" rx="6" class="box new"/>
<text x="643" y="236" text-anchor="middle" class="label">Hybrid retrieval</text>
<text x="643" y="258" text-anchor="middle" class="detail">semantic · BM25 · entity · time</text>
<line x1="752" y1="241" x2="779" y2="241" class="flow"/>
<rect x="779" y="212" width="113" height="58" rx="6" class="box new"/>
<text x="835" y="238" text-anchor="middle" class="label">Top-k</text>
<text x="835" y="258" text-anchor="middle" class="detail">ranked facts</text>
<text x="460" y="299" text-anchor="middle" class="detail">LoCoMo 71.4 → 92.5 (+21.1) · LongMemEval 67.8 → 94.4 (+26.6)</text>
<text x="460" y="323" text-anchor="middle" class="detail">History is preserved; relevance and time resolve conflicts during retrieval</text>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

+31
View File
@@ -0,0 +1,31 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 920 380" width="920" height="380" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="340" y="250" width="240" height="90" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="460" y="278" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Memoria de trabajo</text>
<text x="460" y="302" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Espacio activo</text>
<text x="460" y="322" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Estado de la tarea actual</text>
<rect x="60" y="80" width="200" height="84" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="160" y="104" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Memoria episódica</text>
<text x="160" y="128" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Episódica</text>
<text x="160" y="148" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal" style="font-size:10.5px">secuencias de eventos con metadatos</text>
<rect x="360" y="80" width="200" height="84" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="460" y="104" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Memoria semántica</text>
<text x="460" y="128" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Semántica</text>
<text x="460" y="148" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal" style="font-size:13px">conocimiento general abstraído</text>
<rect x="660" y="80" width="200" height="84" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="760" y="104" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold" style="font-size:17.5px">Memoria procedimental</text>
<text x="760" y="128" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Procedimental</text>
<text x="760" y="148" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal" style="font-size:13.5px">flujos de conducta reutilizables</text>
<line x1="200" y1="168" x2="410" y2="246" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<line x1="430" y1="246" x2="250" y2="168" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<line x1="460" y1="164" x2="460" y2="246" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<line x1="460" y1="246" x2="470" y2="164" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<line x1="720" y1="168" x2="510" y2="246" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<line x1="490" y1="246" x2="700" y2="164" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="242" y="194" width="150" height="25" rx="3" fill="#ffffff"/>
<text x="317" y="207" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Transferencia selectiva</text>
<rect x="536" y="194" width="150" height="25" rx="3" fill="#ffffff"/>
<text x="611" y="207" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Activación y carga</text>
<text x="460" y="60" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Memoria a largo plazo (entre sesiones)</text>
<text x="460" y="372" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal" style="font-size:12px">Interacción dinámica entre memoria de trabajo y memoria a largo plazo: lo importante se escribe de forma selectiva y los recuerdos relevantes se activan bajo demanda.</text>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

+36
View File
@@ -0,0 +1,36 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 400" width="880" height="400" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="20" y="65" width="180" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="110.0" y="80.475" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">① Consulta</text>
<text x="110.0" y="104.52499999999999" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Usuario</text>
<text x="110" y="145" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;¿Pena por homicidio intencional?&quot;</text>
<line x1="200" y1="92" x2="238" y2="92" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="240" y="65" width="180" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="330.0" y="92.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">② Búsqueda</text>
<text x="330" y="140" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Búsqueda densa + BM25</text>
<text x="330" y="160" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">→ Top K fragmentos</text>
<line x1="420" y1="92" x2="458" y2="92" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="460" y="65" width="180" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="550.0" y="92.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">③ Aumentación</text>
<text x="550" y="140" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Consulta + Resultados</text>
<text x="550" y="160" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">→ Construir prompt final</text>
<line x1="640" y1="92" x2="678" y2="92" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="680" y="65" width="180" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="770.0" y="92.5" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">④ Generación</text>
<text x="770" y="140" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">LLM sintetiza contexto</text>
<text x="770" y="160" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">→ Generar respuesta</text>
<line x1="20" y1="195" x2="860" y2="195" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="440.0" y="215" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ejemplo de flujo de datos</text>
<rect x="20" y="235" width="400" height="90" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="220" y="253" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fragmentos recuperados</text>
<text x="30" y="278" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#333333" text-anchor="start" dominant-baseline="central">Código Penal Art 232: El que intencionalmente matare a otro,</text>
<text x="30" y="298" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">será castigado con pena de prisión de 10 a 25 años...</text>
<rect x="440" y="235" width="420" height="90" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="650" y="253" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Prompt aumentante</text>
<text x="450" y="278" font-family="'Courier New', Courier, monospace" font-size="13.5" fill="#333333" text-anchor="start" dominant-baseline="central">Responde la pregunta basándote en el código penal:</text>
<text x="450" y="298" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">[Código Penal Art 232...] P: ¿Pena por homicidio intencional?</text>
<rect x="20" y="345" width="840" height="80" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="440.0" y="363" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Respuesta generada</text>
<text x="30" y="390" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">Según el Código Penal Art 232, el homicidio intencional se castiga con prisión de 10 a 25 años;</text>
<text x="30" y="412" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">en circunstancias atenuantes, la pena puede reducirse de 3 a 10 años.</text>
</svg>

After

Width:  |  Height:  |  Size: 6.7 KiB

+53
View File
@@ -0,0 +1,53 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 860 300" width="860" height="300" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<line x1="50" y1="90" x2="810" y2="90" stroke="#999999" stroke-width="2"/>
<polygon points="810,84 822,90 810,96" fill="#999999"/>
<circle cx="80.0" cy="90" r="8" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="80.0" y="60" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Word2Vec</text>
<text x="80.0" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">2013</text>
<rect x="15.0" y="140" width="130" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="80.0" y="158" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">300D</text>
<text x="80.0" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Vectores de palabra estáticos</text>
<rect x="15.0" y="205" width="130" height="55" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="80.0" y="223" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Coocurrencia</text>
<text x="80.0" y="245" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Entrenamiento predictivo</text>
<circle cx="255.0" cy="90" r="8" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="255.0" y="60" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">GloVe</text>
<text x="255.0" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">2014</text>
<rect x="190.0" y="140" width="130" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="255.0" y="158" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">300D</text>
<text x="255.0" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Estadísticas globales</text>
<rect x="190.0" y="205" width="130" height="55" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="255.0" y="223" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Factorización matriz</text>
<text x="255.0" y="245" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">+ Coocurrencia</text>
<circle cx="430.0" cy="90" r="8" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="430.0" y="60" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">BERT</text>
<text x="430.0" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">2018</text>
<rect x="365.0" y="140" width="130" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="430.0" y="158" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">768D</text>
<text x="430.0" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Consciente del contexto</text>
<rect x="365.0" y="205" width="130" height="55" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="430.0" y="223" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Transformer</text>
<text x="430.0" y="245" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Preentrenamiento MLM</text>
<circle cx="605.0" cy="90" r="8" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="605.0" y="60" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Sentence-BERT</text>
<text x="605.0" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">2019</text>
<rect x="540.0" y="140" width="130" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="605.0" y="158" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">768D</text>
<text x="605.0" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Incrustación de oraciones</text>
<rect x="540.0" y="205" width="130" height="55" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="605.0" y="223" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Red siamesa</text>
<text x="605.0" y="245" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Aprendizaje contrastivo</text>
<circle cx="780.0" cy="90" r="8" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="780.0" y="60" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">BGE-M3</text>
<text x="780.0" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">2024</text>
<rect x="715.0" y="140" width="130" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="780.0" y="158" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">1024D</text>
<text x="780.0" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Textos largos multilingües</text>
<rect x="715.0" y="205" width="130" height="55" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="780.0" y="223" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Multietapa</text>
<text x="780.0" y="245" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Entrenamiento híbrido</text>
<text x="167.5" y="322" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Vectores de palabra estáticos (un vector por palabra)</text>
<text x="692.5" y="322" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Incrustaciones conscientes del contexto (múltiples vectores por palabra)</text>
<line x1="342.5" y1="75" x2="342.5" y2="305" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
</svg>

After

Width:  |  Height:  |  Size: 9.7 KiB

+51
View File
@@ -0,0 +1,51 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 750 400" width="750" height="400" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="40" width="690" height="90" rx="6" fill="#ffffff" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="100" y="56" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Capa 2 (dispersa · conexiones de larga distancia)</text>
<circle cx="222.5" cy="95" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<circle cx="375.0" cy="95" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<circle cx="527.5" cy="95" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<line x1="236.5" y1="95" x2="361.0" y2="95" stroke="#999999" stroke-width="2"/>
<line x1="389.0" y1="95" x2="513.5" y2="95" stroke="#999999" stroke-width="2"/>
<rect x="30" y="155" width="690" height="90" rx="6" fill="#ffffff" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="100" y="171" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Capa 1 (densidad media)</text>
<circle cx="157.14285714285714" cy="210" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<circle cx="244.28571428571428" cy="210" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<circle cx="331.42857142857144" cy="210" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<circle cx="418.57142857142856" cy="210" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<circle cx="505.71428571428567" cy="210" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<circle cx="592.8571428571429" cy="210" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<line x1="171.14285714285714" y1="210" x2="230.28571428571428" y2="210" stroke="#999999" stroke-width="2"/>
<line x1="258.2857142857143" y1="210" x2="317.42857142857144" y2="210" stroke="#999999" stroke-width="2"/>
<line x1="345.42857142857144" y1="210" x2="404.57142857142856" y2="210" stroke="#999999" stroke-width="2"/>
<line x1="432.57142857142856" y1="210" x2="491.71428571428567" y2="210" stroke="#999999" stroke-width="2"/>
<line x1="519.7142857142857" y1="210" x2="578.8571428571429" y2="210" stroke="#999999" stroke-width="2"/>
<rect x="30" y="270" width="690" height="90" rx="6" fill="#ffffff" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="100" y="286" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Capa 0 (densa · todos los nodos)</text>
<circle cx="125.45454545454545" cy="325" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<circle cx="180.9090909090909" cy="325" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<circle cx="236.36363636363637" cy="325" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<circle cx="291.8181818181818" cy="325" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<circle cx="347.27272727272725" cy="325" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<circle cx="402.72727272727275" cy="325" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<circle cx="458.1818181818182" cy="325" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<circle cx="513.6363636363636" cy="325" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<circle cx="569.090909090909" cy="325" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<circle cx="624.5454545454545" cy="325" r="14" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<line x1="139.45454545454544" y1="325" x2="222.36363636363637" y2="325" stroke="#999999" stroke-width="2"/>
<line x1="194.9090909090909" y1="325" x2="222.36363636363637" y2="325" stroke="#999999" stroke-width="2"/>
<line x1="250.36363636363637" y1="325" x2="333.27272727272725" y2="325" stroke="#999999" stroke-width="2"/>
<line x1="305.8181818181818" y1="325" x2="333.27272727272725" y2="325" stroke="#999999" stroke-width="2"/>
<line x1="361.27272727272725" y1="325" x2="444.1818181818182" y2="325" stroke="#999999" stroke-width="2"/>
<line x1="416.72727272727275" y1="325" x2="444.1818181818182" y2="325" stroke="#999999" stroke-width="2"/>
<line x1="472.1818181818182" y1="325" x2="555.090909090909" y2="325" stroke="#999999" stroke-width="2"/>
<line x1="527.6363636363636" y1="325" x2="555.090909090909" y2="325" stroke="#999999" stroke-width="2"/>
<line x1="375.0" y1="130" x2="325.0" y2="165" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="455.0" y="148" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">La búsqueda comienza en capa superior</text>
<line x1="325.0" y1="245" x2="295.0" y2="280" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="435.0" y="263" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Se refina capa por capa hacia abajo</text>
<rect x="50" y="395" width="300" height="32" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="200" y="411" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Admite actualizaciones incrementales · Alto recall</text>
<rect x="400" y="395" width="300" height="32" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="550" y="411" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Complejidad de consulta O(log N)</text>
</svg>

After

Width:  |  Height:  |  Size: 6.3 KiB

+31
View File
@@ -0,0 +1,31 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 800 340" width="800" height="340" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="40" y="50" width="720" height="50" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="60" y="75" font-family="'Courier New', Courier, monospace" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central">Score(Q,D) = Σ IDF(qi) × TF(qi,D)×(k1+1) / (TF + k1×(1-b+b×|D|/avgdl))</text>
<rect x="40" y="120" width="220" height="170" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="150" y="148" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Saturación frec. término (TF)</text>
<line x1="60" y1="163" x2="240" y2="163" stroke="#999999" stroke-width="2"/>
<text x="150" y="190" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">k₁ controla velocidad saturación</text>
<text x="150" y="218" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">TF ↑ pero contribución decae</text>
<text x="150" y="246" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ejemplo: 5→10 repeticiones</text>
<text x="150" y="274" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Puntaje solo sube ~20%</text>
<rect x="290" y="120" width="220" height="170" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="400" y="148" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="19" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Frec. inversa doc. (IDF)</text>
<line x1="310" y1="163" x2="490" y2="163" stroke="#999999" stroke-width="2"/>
<text x="400" y="190" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Mide rareza de palabra</text>
<text x="400" y="218" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;el&quot; → IDF ≈ 0</text>
<text x="400" y="246" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;sanción&quot; → IDF ≈ 5.2</text>
<text x="400" y="274" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Palabra rara peso &gt;&gt; común</text>
<rect x="540" y="120" width="220" height="170" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="650" y="148" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="17" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Normalización longitud (b)</text>
<line x1="560" y1="163" x2="740" y2="163" stroke="#999999" stroke-width="2"/>
<text x="650" y="190" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">b ∈ [0,1] fuerza normalización</text>
<text x="650" y="218" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">b=0: ignorar longitud</text>
<text x="650" y="246" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">b=1: normalización total</text>
<text x="650" y="274" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Evita sesgo a docs largos</text>
<line x1="150" y1="290" x2="150" y2="315" stroke="#999999" stroke-width="2"/>
<line x1="400" y1="290" x2="400" y2="315" stroke="#999999" stroke-width="2"/>
<line x1="650" y1="290" x2="650" y2="315" stroke="#999999" stroke-width="2"/>
<rect x="40" y="315" width="720" height="48" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="400.0" y="339" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Puntaje final = Σ (Saturación TF × Peso IDF × Normalización longitud)</text>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

+33
View File
@@ -0,0 +1,33 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 440" width="880" height="440" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="55" width="160" height="50" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="110" y="73" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Consulta del usuario</text>
<text x="110" y="93" font-family="'Courier New', Courier, monospace" font-size="11.5" fill="#333333" text-anchor="middle" dominant-baseline="central">&quot;conducta de gatitos&quot;</text>
<line x1="190" y1="68" x2="238" y2="68" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="240" y="50" width="180" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="330.0" y="75.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Búsqueda densa</text>
<text x="330" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Coincidencia semántica: gatito ≈ gato</text>
<text x="250" y="140" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">doc3: &quot;hábitos felinos y juego de gatos...&quot;</text>
<text x="700" y="140" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">cos=0.87</text>
<text x="250" y="172" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">doc7: &quot;patrones de aseo en gatos...&quot;</text>
<text x="700" y="172" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">cos=0.82</text>
<text x="250" y="204" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">doc1: &quot;conceptos básicos de mascotas...&quot;</text>
<text x="700" y="204" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">cos=0.71</text>
<line x1="190" y1="90" x2="238" y2="270" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="240" y="250" width="180" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="330.0" y="264.275" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Búsqueda dispersa</text>
<text x="330.0" y="285.72499999999997" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">(BM25)</text>
<text x="330" y="318" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Coincidencia exacta: clave &quot;gatitos&quot;</text>
<text x="250" y="340" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">doc5: &quot;entrenamiento de gatitos...&quot;</text>
<text x="700" y="340" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">BM25=8.4</text>
<text x="250" y="372" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">doc9: &quot;guía de adopción de gatitos...&quot;</text>
<text x="700" y="372" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">BM25=6.1</text>
<text x="250" y="404" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">doc2: &quot;consejos de salud gatitos...&quot;</text>
<text x="700" y="404" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">BM25=3.2</text>
<line x1="770" y1="180" x2="808" y2="220" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="770" y1="370" x2="808" y2="330" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="790" y="215" width="70" height="120" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="825" y="250" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fusionar</text>
<text x="825" y="275" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Deduplicar</text>
<text x="825" y="300" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">6→5</text>
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

+44
View File
@@ -0,0 +1,44 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 580" width="880" height="580">
<defs>
<marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto">
<polygon points="0 0, 12 4, 0 8" fill="#333333"/>
</marker>
</defs>
<rect x="0" y="40" width="880" height="580" fill="#ffffff"/>
<rect x="95" y="50" width="210" height="44" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="200" y="72" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Cliente MCP</text>
<rect x="575" y="50" width="210" height="44" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="680" y="72" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Servidor MCP</text>
<line x1="200" y1="94" x2="200" y2="600" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<line x1="680" y1="94" x2="680" y2="600" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<line x1="204" y1="140" x2="676" y2="140" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="440" y="120" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" font-weight="bold">Descubrir capacidades del servidor (opcional)</text>
<text x="440" y="162" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#777777" text-anchor="middle">server/discover</text>
<line x1="676" y1="205" x2="204" y2="205" stroke="#333333" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah)"/>
<text x="440" y="191" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" font-weight="bold">Devolver descripción de capacidades</text>
<rect x="230" y="218" width="420" height="42" rx="5" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="440" y="244" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#555555" text-anchor="middle">Capacidades admitidas y formas de interacción</text>
<line x1="204" y1="305" x2="676" y2="305" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="440" y="285" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" font-weight="bold">Obtener catálogo de herramientas</text>
<text x="440" y="327" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#777777" text-anchor="middle">tools/list</text>
<line x1="676" y1="370" x2="204" y2="370" stroke="#333333" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah)"/>
<text x="440" y="356" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" font-weight="bold">Devolver definición normalizada</text>
<rect x="230" y="383" width="420" height="58" rx="5" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="440" y="406" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#444444" text-anchor="middle" font-weight="bold">get_weather — consultar el tiempo de una ciudad</text>
<text x="440" y="428" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#666666" text-anchor="middle">Entrada: ciudad Salida: información meteorológica</text>
<line x1="204" y1="485" x2="676" y2="485" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="440" y="465" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" font-weight="bold">Invocar la herramienta elegida</text>
<text x="440" y="507" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#777777" text-anchor="middle">tools/call: get_weather (Beijing)</text>
<line x1="676" y1="550" x2="204" y2="550" stroke="#333333" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah)"/>
<text x="440" y="536" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" font-weight="bold">Devolver resultado de la herramienta</text>
<rect x="300" y="563" width="280" height="38" rx="5" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="440" y="587" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#555555" text-anchor="middle">Beijing: 22°C, soleado</text>
<text x="90" y="205" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" font-weight="bold"><tspan x="90" dy="-8">① Descubrir</tspan><tspan x="90" dy="20">capacidades</tspan></text>
<text x="90" y="370" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" font-weight="bold"><tspan x="90" dy="-8">② Descubrir</tspan><tspan x="90" dy="20">herramientas</tspan></text>
<text x="90" y="550" font-family="Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" font-weight="bold"><tspan x="90" dy="-8">③ Invocar</tspan><tspan x="90" dy="20">herramientas</tspan></text>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

+47
View File
@@ -0,0 +1,47 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 500" width="880" height="500" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="250" y="55" width="380" height="44" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="440" y="77" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente: &quot;Necesito consultar estadísticas de colaboradores en GitHub&quot;</text>
<line x1="440" y1="99" x2="440" y2="130" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="300" y="132" width="280" height="44" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="440" y="154" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">discover_tools(req_lenguaje_natural)</text>
<line x1="440" y1="176" x2="440" y2="210" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="20" y="210" width="840" height="110" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="55" y="233" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Capa 1: Coincidencia de servidor (similitud semántica)</text>
<rect x="50" y="255" width="145" height="50" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="122" y="272" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">GitHub</text>
<text x="122" y="292" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">Similitud: 0.92</text>
<rect x="215" y="255" width="145" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="287" y="272" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Clima</text>
<text x="287" y="292" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Similitud: 0.15</text>
<rect x="380" y="255" width="145" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="452" y="272" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Finanzas</text>
<text x="452" y="292" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Similitud: 0.23</text>
<rect x="545" y="255" width="145" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="617" y="272" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">ArXiv</text>
<text x="617" y="292" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Similitud: 0.18</text>
<rect x="710" y="255" width="145" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="782" y="272" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Sistema arch.</text>
<text x="782" y="292" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Similitud: 0.31</text>
<line x1="123" y1="305" x2="123" y2="345" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="175" y="330" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Top 1 servidor</text>
<rect x="20" y="345" width="840" height="160" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="55" y="368" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Capa 2: Coincidencia de herramientas (26 herramientas en servidor GitHub)</text>
<rect x="30" y="388" width="155" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="35" y="406" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">search_repositories</text>
<text x="108" y="428" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">0.41 | Buscar repos</text>
<rect x="200" y="388" width="155" height="55" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="205" y="406" font-family="'Courier New', Courier, monospace" font-size="11" fill="#ffffff" text-anchor="start" dominant-baseline="central">list_contributors</text>
<text x="278" y="428" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">0.89 | Lista colaboradores</text>
<rect x="370" y="388" width="155" height="55" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="375" y="406" font-family="'Courier New', Courier, monospace" font-size="11" fill="#ffffff" text-anchor="start" dominant-baseline="central">get_repo_stats</text>
<text x="448" y="428" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">0.85 | Estadísticas repo</text>
<rect x="540" y="388" width="155" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="545" y="406" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">create_issue</text>
<text x="618" y="428" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">0.12 | Crear issue</text>
<rect x="710" y="388" width="155" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="715" y="406" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">get_commit_history</text>
<text x="788" y="428" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">0.67 | Historial commits</text>
<rect x="180" y="468" width="520" height="30" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="190" y="483" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Devolver top 3: list_contributors, get_repo_stats, get_commit_history</text>
</svg>

After

Width:  |  Height:  |  Size: 8.2 KiB

+53
View File
@@ -0,0 +1,53 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 520" width="880" height="520" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<text x="220" y="65" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Enfoque ingenuo (la caché se invalida)</text>
<rect x="30" y="85" width="380" height="120" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="220" y="107" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Prompt del sistema</text>
<text x="220" y="129" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Eres un asistente de IA...</text>
<text x="220" y="149" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">+ Esquemas de todas las herramientas</text>
<text x="390" y="107" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">~50K tokens</text>
<rect x="30" y="213" width="380" height="100" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="220" y="235" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Mensaje del usuario</text>
<text x="220" y="257" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Consultar precio de acción NVDA</text>
<rect x="30" y="321" width="380" height="80" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="220" y="343" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Asistente</text>
<text x="220" y="365" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">tool_call: ...</text>
<rect x="30" y="414" width="380" height="40" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="220" y="434" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">¡Cada vez que se carga una herramienta → se invalida la caché!</text>
<text x="660" y="65" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Enfoque optimizado (estabilidad de caché)</text>
<rect x="460" y="85" width="400" height="75" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="660" y="101" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Prompt del sistema (fijo)</text>
<text x="660" y="117" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Eres un asistente de IA...</text>
<text x="660" y="133" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Rol + Reglas + Herramientas básicas</text>
<text x="850" y="101" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">~2K tokens | KV Cache</text>
<rect x="460" y="165" width="400" height="45" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="660" y="181" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Barra estado Agente (ligera)</text>
<text x="660" y="197" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Herramientas disps: web_search, get_weather...</text>
<text x="850" y="181" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">~200 tokens</text>
<rect x="460" y="215" width="400" height="40" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="660" y="231" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">User: discover_tools</text>
<text x="660" y="247" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;Necesito revisar precio de acciones&quot;</text>
<rect x="460" y="260" width="400" height="55" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="660" y="276" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Resultado herramienta</text>
<text x="660" y="292" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Devolver esquema de get_stock_quote</text>
<text x="850" y="276" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">Definición de herramienta aquí</text>
<rect x="460" y="320" width="400" height="40" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="660" y="336" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Mensaje del usuario</text>
<text x="660" y="352" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Consultar precio de acción NVDA</text>
<rect x="460" y="365" width="400" height="45" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="660" y="381" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Barra estado Agente (actualizada)</text>
<text x="660" y="397" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">+get_stock_quote añadido</text>
<text x="850" y="381" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">~220 tokens</text>
<rect x="460" y="420" width="400" height="40" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="660" y="440" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Prompt sistema no cambia → KV Cache se reutiliza totalmente</text>
<line x1="30" y1="475" x2="850" y2="475" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="250" y="495" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Dimensión de comparación</text>
<text x="500" y="495" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Enfoque ingenuo</text>
<text x="740" y="495" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Enfoque optimizado</text>
<text x="250" y="523" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Tasa acierto de caché</text>
<text x="500" y="523" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">~0% (se invalida en cada cambio)</text>
<text x="740" y="523" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">~95% (solo cambia ligeramente la pista)</text>
<text x="250" y="551" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Latencia primer token</text>
<text x="500" y="551" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Alta (recálculo 50K tokens cada vez)</text>
<text x="740" y="551" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Baja (cómputo incremental ~200 tokens)</text>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

+35
View File
@@ -0,0 +1,35 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 540" width="880" height="540" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="20" y="50" width="560" height="118" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="36" y="72" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Prefijo estático (idéntico byte a byte, la caché KV sigue acertando)</text>
<rect x="40" y="84" width="520" height="34" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="300.0" y="101" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">System Prompt</text>
<rect x="40" y="124" width="520" height="34" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="300.0" y="141" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Definiciones de herramientas base: web_search, code_interpreter, tool_search</text>
<rect x="20" y="180" width="560" height="386" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="36" y="202" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Trayectoria (solo se añade; lo nuevo va al final)</text>
<rect x="40" y="214" width="520" height="30" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="300.0" y="229.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">User: consultar la cotización de NVDA</text>
<rect x="40" y="250" width="520" height="30" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="300.0" y="265.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Assistant: tool_search_call(cotización)</text>
<rect x="40" y="286" width="520" height="40" rx="6" fill="#d8e8d8" stroke="#333333" stroke-width="2"/>
<text x="300.0" y="306.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">tool_search_output → inyectar el schema completo de get_stock_quote</text>
<rect x="40" y="332" width="520" height="30" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="300.0" y="347.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Assistant: llamar a get_stock_quote → Tool Result</text>
<rect x="40" y="368" width="520" height="30" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="300.0" y="383.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">User: analizar los colaboradores de un repositorio de GitHub</text>
<rect x="40" y="404" width="520" height="30" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="300.0" y="419.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Assistant: tool_search_call(GitHub)</text>
<rect x="40" y="440" width="520" height="40" rx="6" fill="#d8e8d8" stroke="#333333" stroke-width="2"/>
<text x="300.0" y="460.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">tool_search_output → inyectar list_contributors y schemas afines</text>
<rect x="40" y="486" width="520" height="30" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="300.0" y="501.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Assistant: llamar → Tool Result → responder</text>
<rect x="40" y="522" width="520" height="30" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="300.0" y="537.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">… contenido más reciente de esta ronda</text>
<line x1="562" y1="306.0" x2="592" y2="306.0" stroke="#333333" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah)"/>
<line x1="562" y1="460.0" x2="592" y2="460.0" stroke="#333333" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah)"/>
<text x="600" y="294.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold" style="font-size:12.5px">Primera aparición: un prefill (escritura en caché)</text>
<text x="600" y="316.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal" style="font-size:13px">Después es historial normal y acierta en caché</text>
<text x="600" y="448.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold" style="font-size:11.5px">No elimines ni reordenes herramientas ya cargadas</text>
<text x="600" y="470.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal" style="font-size:11.5px">Si no, la caché se invalida desde el punto de cambio</text>
</svg>

After

Width:  |  Height:  |  Size: 6.6 KiB

+72
View File
@@ -0,0 +1,72 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 980 560" width="980" height="560" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="60" y="58" width="860" height="66" rx="8" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="72" y="76" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Pasarela de mensajería multiplataforma (capa de interacción del usuario)</text>
<rect x="129.0" y="84" width="130" height="32" rx="16" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="194.0" y="100.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">WhatsApp</text>
<rect x="277.0" y="84" width="130" height="32" rx="16" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="342.0" y="100.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Telegram</text>
<rect x="425.0" y="84" width="130" height="32" rx="16" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="490.0" y="100.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">iMessage</text>
<rect x="573.0" y="84" width="130" height="32" rx="16" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="638.0" y="100.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Slack</text>
<rect x="721.0" y="84" width="130" height="32" rx="16" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="786.0" y="100.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">CLI</text>
<line x1="490.0" y1="126" x2="490.0" y2="158" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="502.0" y="134" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Solicitud en lenguaje natural</text>
<rect x="200" y="160" width="580" height="210" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<rect x="200" y="160" width="580" height="40" rx="6" fill="#666666" stroke="#333333" stroke-width="2"/>
<text x="490.0" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Entorno de ejecución del Agente de programación (inferencia + núcleo de ejecución)</text>
<rect x="208.0" y="216" width="132" height="60" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="274.0" y="238" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Code Interpreter</text>
<text x="274.0" y="258" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ejecución de código</text>
<rect x="352.0" y="216" width="132" height="60" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="418.0" y="238" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Bash Shell</text>
<text x="418.0" y="258" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Comandos de sistema</text>
<rect x="496.0" y="216" width="132" height="60" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="562.0" y="238" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Read File</text>
<text x="562.0" y="258" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Leer archivo</text>
<rect x="640.0" y="216" width="132" height="60" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="706.0" y="238" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Write File</text>
<text x="706.0" y="258" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Escribir archivo</text>
<rect x="280.0" y="288" width="132" height="60" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="346.0" y="310" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Edit File</text>
<text x="346.0" y="330" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Editar archivo</text>
<rect x="424.0" y="288" width="132" height="60" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="490.0" y="310" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Glob</text>
<text x="490.0" y="330" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Buscar archivos</text>
<rect x="568.0" y="288" width="132" height="60" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="634.0" y="310" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Grep</text>
<text x="634.0" y="330" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Buscar contenido</text>
<rect x="22" y="198" width="158" height="86" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="101.0" y="220" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Módulo búsqueda web</text>
<text x="101.0" y="242" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Deep Research</text>
<text x="101.0" y="264" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Peticiones web · parseo</text>
<line x1="182" y1="241.0" x2="198" y2="265.0" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="800" y="198" width="158" height="86" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="879.0" y="220" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Automatiz. navegador</text>
<text x="879.0" y="242" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Computer Use</text>
<text x="879.0" y="264" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">DOM de Playwright</text>
<line x1="782" y1="265.0" x2="798" y2="241.0" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="490.0" y1="372" x2="490.0" y2="408" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="502.0" y="390" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Leer / escribir archivo</text>
<rect x="60" y="410" width="860" height="140" rx="8" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="72" y="428" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Sistema de archivos (memoria · conocimiento · centro de habilidades)</text>
<rect x="53.0" y="444" width="162" height="76" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="134.0" y="470" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">MEMORY.md</text>
<text x="134.0" y="496" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Hechos de alto nivel / pref. usuario</text>
<rect x="231.0" y="444" width="162" height="76" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="312.0" y="470" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">daily/AAAA-MM-DD.md</text>
<text x="312.0" y="496" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Archivo diario / reg. interacción</text>
<rect x="409.0" y="444" width="162" height="76" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="490.0" y="470" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">SOUL.md</text>
<text x="490.0" y="496" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Identidad y reglas del Agente</text>
<rect x="587.0" y="444" width="162" height="76" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="668.0" y="470" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Archivos de conocimiento</text>
<text x="668.0" y="496" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Experiencia de tarea / autoevolución</text>
<rect x="765.0" y="444" width="162" height="76" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="846.0" y="470" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Control de versión Git</text>
<text x="846.0" y="496" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Reversión memoria / auditoría historial</text>
<rect x="60" y="566" width="860" height="38" rx="6" fill="#666666" stroke="#333333" stroke-width="2"/>
<text x="490.0" y="585" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">LLM = el nuevo sistema operativo: oculta la complejidad y ofrece abstracción unificada</text>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

+61
View File
@@ -0,0 +1,61 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 515" width="880" height="515" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="60" y="55" width="180" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="150" y="72" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Polvo → Estrella</text>
<text x="150" y="92" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Leyes de la física</text>
<line x1="240" y1="80" x2="255" y2="80" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="260" y="55" width="180" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="350" y="72" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Estrella → Planeta</text>
<text x="350" y="92" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Acumulación gravitacional</text>
<line x1="440" y1="80" x2="455" y2="80" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="460" y="55" width="180" height="50" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="550" y="72" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Planeta → Vida</text>
<text x="550" y="92" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Autorreplicación del ADN</text>
<line x1="640" y1="80" x2="655" y2="80" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="660" y="55" width="180" height="50" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="750" y="72" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Vida → Agente</text>
<text x="750" y="92" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">Bootstrap por código</text>
<line x1="30" y1="120" x2="850" y2="120" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<rect x="30" y="135" width="400" height="70" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="230" y="155" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Autorreplicación del ADN: mutación aleatoria + selección natural</text>
<text x="230" y="177" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">No se entiende a sí mismo · Sin cambio dirigido · 3.7 mil millones de años de ensayo y error</text>
<rect x="450" y="135" width="400" height="70" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="650" y="155" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Bootstrap del Agente: comprensión de código + diseño dirigido</text>
<text x="650" y="177" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">Entiende su mecanismo · Crea con propósito · Hereda las mejores prácticas</text>
<rect x="20" y="225" width="390" height="295" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="215" y="248" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente original (su propio código)</text>
<rect x="30" y="265" width="175" height="124" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="118" y="285" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Prompt del sistema</text>
<text x="40" y="308" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">Eres un agente de at. cliente de aerolínea</text>
<text x="40" y="326" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">Reglas de cancelación: ...</text>
<text x="40" y="344" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">Reglas de transferencia: ...</text>
<text x="40" y="362" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">Herramienta: cancel_order</text>
<rect x="215" y="265" width="185" height="124" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="308" y="285" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Código del marco</text>
<text x="225" y="308" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">loop:</text>
<text x="225" y="326" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> msg = llm(ctx)</text>
<text x="225" y="344" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> if tool_call:</text>
<text x="225" y="362" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> exec(tool)</text>
<rect x="30" y="400" width="370" height="54" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="215" y="419" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Def. herramienta + integración MCP + formato mensaje</text>
<text x="215" y="438" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Implementación de alta calidad verificada</text>
<text x="440" y="215" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">Copiar + modificar</text>
<line x1="410" y1="375" x2="470" y2="375" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="470" y="225" width="390" height="295" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="665" y="248" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Nuevo Agente (tras modificaciones dirigidas)</text>
<rect x="480" y="265" width="180" height="124" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="570" y="285" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Nuevo prompt del sistema</text>
<text x="490" y="308" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">Eres un agente de at. cliente de e-commerce</text>
<text x="490" y="326" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">Reglas de devolución: ...</text>
<text x="490" y="344" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">Consulta de envío: ...</text>
<text x="490" y="362" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="normal">Herramienta: refund_order</text>
<rect x="670" y="265" width="180" height="124" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="760" y="285" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Código de marco heredado</text>
<text x="680" y="308" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">loop:</text>
<text x="680" y="326" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> msg = llm(ctx)</text>
<text x="680" y="344" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> if tool_call:</text>
<text x="680" y="362" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> exec(tool)</text>
<rect x="480" y="400" width="370" height="54" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="665" y="419" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Nuevas herramientas + nueva lógica de negocio</text>
<text x="665" y="438" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">El marco arquitectónico se hereda totalmente → calidad garantizada</text>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

+65
View File
@@ -0,0 +1,65 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 570" width="880" height="570" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="60" width="280" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="170" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Requisito del usuario</text>
<text x="170" y="98" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;Crear un Agente de at. cliente para devoluciones&quot;</text>
<line x1="170" y1="115" x2="170" y2="145" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="20" y="145" width="840" height="230" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="440" y="168" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Meta-Agente (Agente de programación)</text>
<rect x="35" y="185" width="190" height="170" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="130" y="205" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">① Leer código referencia</text>
<text x="45" y="228" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">read_file:</text>
<text x="45" y="248" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> agent.py</text>
<text x="45" y="268" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> tools/*.py</text>
<text x="45" y="288" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> system_prompt.md</text>
<text x="45" y="308" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> config.yaml</text>
<text x="45" y="332" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">→ Entender patrones arquit.</text>
<line x1="225" y1="270" x2="248" y2="270" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="248" y="185" width="190" height="170" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="343" y="205" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">② Copiar esqueleto</text>
<text x="258" y="228" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">cp -r reference/</text>
<text x="258" y="248" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> → new_agent/</text>
<text x="258" y="278" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Conservar:</text>
<text x="258" y="298" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal"> Marco del bucle del Agente</text>
<text x="258" y="318" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal"> Formato mens. / opt. KV</text>
<line x1="438" y1="270" x2="461" y2="270" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="461" y="185" width="190" height="170" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="556" y="205" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">③ Cambios dirigidos</text>
<text x="471" y="228" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">edit_file:</text>
<text x="471" y="248" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> system_prompt.md</text>
<text x="471" y="268" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal"> → Reglas devolución e-comm.</text>
<text x="471" y="290" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> tools/refund.py</text>
<text x="471" y="310" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal"> → Agregar herramienta</text>
<text x="471" y="332" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> config.yaml</text>
<line x1="651" y1="270" x2="674" y2="270" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="674" y="185" width="175" height="170" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="761" y="205" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">④ Prueba de validación</text>
<text x="684" y="228" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">bash:</text>
<text x="684" y="248" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> python agent.py</text>
<text x="684" y="270" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal"> → Iniciar nuevo Agente</text>
<text x="684" y="290" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal"> → Enviar mensajes prueba</text>
<text x="684" y="310" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal"> → Revisar llamadas herram.</text>
<text x="684" y="330" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal"> → Validar flujo chat</text>
<line x1="440.0" y1="375" x2="440.0" y2="410" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="115" y="410" width="700" height="90" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="465" y="432" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Nuevo Agente producido</text>
<rect x="135" y="448" width="170" height="42" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="220" y="462" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central">system_prompt.md</text>
<text x="220" y="480" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Reglas devolución e-commerce</text>
<rect x="313" y="448" width="170" height="42" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="398" y="462" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central">tools/refund.py</text>
<text x="398" y="480" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Herramientas devolución/consulta</text>
<rect x="491" y="448" width="170" height="42" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="576" y="462" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central">agent.py</text>
<text x="576" y="480" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Código de marco heredado</text>
<rect x="669" y="448" width="170" height="42" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="754" y="462" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central">config.yaml</text>
<text x="754" y="480" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Configuración modelo/parámetros</text>
<line x1="30" y1="515" x2="850" y2="515" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<rect x="60" y="530" width="350" height="54" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="235" y="549" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Generación desde cero: faltan mejores prácticas</text>
<text x="235" y="571" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Gestión azarosa de contexto · Diseño no estándar · API obsoleta</text>
<rect x="470" y="530" width="350" height="54" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="645" y="549" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Adaptación desde ejemplo: hereda las mejores prácticas</text>
<text x="645" y="571" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">Formato estándar · Diseño herramientas estándar · API moderna</text>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

+100
View File
@@ -0,0 +1,100 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 540" width="880" height="540" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="28.5" y="55" width="155" height="240" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="106.0" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">① Documentación proyecto</text>
<line x1="36.5" y1="92" x2="175.5" y2="92" stroke="#999999" stroke-width="2"/>
<rect x="36.5" y="110" width="139" height="22" rx="11" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="106.0" y="121.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">read_file</text>
<text x="38.5" y="144.5" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">README.md,</text>
<text x="38.5" y="159.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">ARCHITECTURE.md</text>
<rect x="36.5" y="180" width="139" height="22" rx="11" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="106.0" y="191.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">glob</text>
<text x="38.5" y="214.5" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">**/*.py, **/*.ts</text>
<rect x="36.5" y="250" width="139" height="22" rx="11" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="106.0" y="261.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">write_file</text>
<text x="38.5" y="284.5" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">→ Generar guía</text>
<text x="38.5" y="299.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">CLAUDE.md</text>
<line x1="185.5" y1="175.0" x2="193.5" y2="175.0" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="195.5" y="55" width="155" height="240" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="273.0" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">② Comprensión requisitos</text>
<line x1="203.5" y1="92" x2="342.5" y2="92" stroke="#999999" stroke-width="2"/>
<rect x="203.5" y="110" width="139" height="22" rx="11" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="273.0" y="121.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">ask_user</text>
<text x="205.5" y="144.5" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">&quot;¿Objetivo es latencia</text>
<text x="205.5" y="159.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">o rendimiento?&quot;</text>
<rect x="203.5" y="180" width="139" height="22" rx="11" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="273.0" y="191.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">grep</text>
<text x="205.5" y="214.5" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">&quot;latency|throughput&quot;</text>
<text x="205.5" y="229.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">src/</text>
<rect x="203.5" y="250" width="139" height="22" rx="11" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="273.0" y="261.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">read_file</text>
<text x="205.5" y="284.5" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">src/config.py</text>
<text x="205.5" y="299.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">(parámetros actuales)</text>
<line x1="352.5" y1="175.0" x2="360.5" y2="175.0" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="362.5" y="55" width="155" height="240" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="440.0" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">③ Documento diseño</text>
<line x1="370.5" y1="92" x2="509.5" y2="92" stroke="#999999" stroke-width="2"/>
<rect x="370.5" y="110" width="139" height="22" rx="11" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="440.0" y="121.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">write_file</text>
<text x="372.5" y="144.5" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">design.md (Comparación</text>
<text x="372.5" y="159.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">esquemas)</text>
<rect x="370.5" y="180" width="139" height="22" rx="11" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="440.0" y="191.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">ask_user</text>
<text x="372.5" y="214.5" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Enviar diseño →</text>
<text x="372.5" y="229.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Esperar aprobación</text>
<rect x="370.5" y="250" width="139" height="22" rx="11" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="440.0" y="261.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold"></text>
<text x="372.5" y="284.5" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Tras revisión humana →</text>
<text x="372.5" y="299.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Continuar</text>
<line x1="519.5" y1="175.0" x2="527.5" y2="175.0" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="529.5" y="55" width="155" height="240" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="607.0" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">④ Codificación y pruebas</text>
<line x1="537.5" y1="92" x2="676.5" y2="92" stroke="#999999" stroke-width="2"/>
<rect x="537.5" y="110" width="139" height="22" rx="11" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="607.0" y="121.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">edit_file</text>
<text x="539.5" y="144.5" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">old_str→new_str</text>
<text x="539.5" y="159.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">cambiar código</text>
<rect x="537.5" y="180" width="139" height="22" rx="11" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="607.0" y="191.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">bash</text>
<text x="539.5" y="214.5" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">pytest tests/ -v</text>
<rect x="537.5" y="250" width="139" height="22" rx="11" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="607.0" y="261.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">edit_file</text>
<text x="539.5" y="284.5" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Corregir pruebas</text>
<text x="539.5" y="299.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">fallidas → Reejecutar</text>
<line x1="686.5" y1="175.0" x2="694.5" y2="175.0" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="696.5" y="55" width="155" height="240" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="774.0" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">⑤ Revisión y entrega</text>
<line x1="704.5" y1="92" x2="843.5" y2="92" stroke="#999999" stroke-width="2"/>
<rect x="704.5" y="110" width="139" height="22" rx="11" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="774.0" y="121.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">bash</text>
<text x="706.5" y="144.5" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">ruff check src/</text>
<text x="706.5" y="159.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">(linter)</text>
<rect x="704.5" y="180" width="139" height="22" rx="11" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="774.0" y="191.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">read_file</text>
<text x="706.5" y="211.95" font-family="'Courier New', Courier, monospace" font-size="7.0" fill="#333333" text-anchor="start" dominant-baseline="central">Autorrevisión:</text>
<text x="706.5" y="222.1" font-family="'Courier New', Courier, monospace" font-size="7.0" fill="#333333" text-anchor="start" dominant-baseline="central">legibilidad/seguridad/rendimiento</text>
<rect x="704.5" y="250" width="139" height="22" rx="11" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="774.0" y="261.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">edit_file</text>
<text x="706.5" y="284.5" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Actualizar</text>
<text x="706.5" y="299.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">ARCHITECTURE.md</text>
<line x1="30" y1="320" x2="850" y2="320" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="440.0" y="340" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Mecanismo de retroalimentación de bucle cerrado</text>
<rect x="80" y="365" width="500" height="46" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="330" y="380" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fallo en prueba → Editar código → Reejecutar pruebas</text>
<text x="330" y="399" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">④ Bucle interno: converge en 2-3 rondas promedio</text>
<rect x="80" y="415" width="500" height="46" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="330" y="430" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Error de linter → Corregir de inmediato → Recomprobar</text>
<text x="330" y="449" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">⑤ Bucle interno: se activa automático tras edición</text>
<rect x="80" y="465" width="500" height="46" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="330" y="480" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Problema en revisión → Volver a ④ y corregir</text>
<text x="330" y="499" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">⑤→④ retorno: garantiza la calidad de entrega</text>
<rect x="610" y="365" width="250" height="38" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="735" y="384" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Barra de estado: cwd, rama git</text>
<rect x="610" y="415" width="250" height="38" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="735" y="434" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Barra de estado: cambios no preparados</text>
<rect x="610" y="465" width="250" height="38" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="735" y="484" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Salida herramientas: recorte head/tail</text>
<rect x="610" y="515" width="250" height="38" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="735" y="534" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Sesión de terminal persistente</text>
<text x="440.0" y="565" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="19.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">Planificar antes de actuar · Verificación de extremo a extremo · Código y docs evolucionan juntos</text>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

+52
View File
@@ -0,0 +1,52 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 520" width="880" height="520" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="20" y="55" width="410" height="240" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<rect x="20" y="55" width="410" height="36" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="225.0" y="73" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Coincidencia de contenido por regex (grep)</text>
<text x="32" y="109" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Consulta:</text>
<rect x="28" y="119" width="394" height="24" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="34" y="131" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">rg &quot;def handle_.*&quot; --type py</text>
<text x="32" y="157" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Resultado:</text>
<rect x="28" y="167" width="394" height="72" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="34" y="183" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">src/api.py:42: def handle_request(..)</text>
<text x="34" y="203" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">src/api.py:89: def handle_timeout(..)</text>
<text x="34" y="223" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">src/ws.py:15: def handle_connect(..)</text>
<text x="225.0" y="281" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Texto completo → todas las ubicaciones</text>
<rect x="450" y="55" width="410" height="240" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<rect x="450" y="55" width="410" height="36" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="655.0" y="73" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Coincidencia de nombre de archivo (glob)</text>
<text x="462" y="109" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Consulta:</text>
<rect x="458" y="119" width="394" height="24" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="464" y="131" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">glob: **/test_*.py</text>
<text x="462" y="157" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Resultado:</text>
<rect x="458" y="167" width="394" height="72" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="464" y="183" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">tests/test_api.py</text>
<text x="464" y="203" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">tests/test_auth.py</text>
<text x="464" y="223" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">tests/unit/test_parser.py</text>
<text x="655.0" y="281" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Patrón de ruta → no lee contenido</text>
<rect x="20" y="315" width="410" height="240" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<rect x="20" y="315" width="410" height="36" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="225.0" y="333" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Búsqueda semántica de código</text>
<text x="32" y="369" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Consulta:</text>
<rect x="28" y="379" width="394" height="24" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="34" y="391" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">&quot;Manejar validación de entrada de usuario&quot;</text>
<text x="32" y="417" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Resultado:</text>
<rect x="28" y="427" width="394" height="72" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="34" y="443" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">[0.91] src/validators.py:validate_input()</text>
<text x="34" y="463" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">[0.87] src/forms.py:sanitize_fields()</text>
<text x="34" y="483" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">[0.82] src/api.py:check_params()</text>
<text x="225.0" y="541" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Lenguaje natural → Híbrido vector + BM25</text>
<rect x="450" y="315" width="410" height="240" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<rect x="450" y="315" width="410" height="36" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="655.0" y="333" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Definición / Referencia de símbolos</text>
<text x="462" y="369" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Consulta:</text>
<rect x="458" y="379" width="394" height="24" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="464" y="391" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">find_references: UserService</text>
<text x="462" y="417" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Resultado:</text>
<rect x="458" y="427" width="394" height="92" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="464" y="443" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Definición: src/services/user.py:12</text>
<text x="464" y="463" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Referencia: src/api/routes.py:34 (import)</text>
<text x="464" y="483" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Referencia: src/api/routes.py:56 (llamada)</text>
<text x="464" y="503" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Referencia: tests/test_user.py:8 (prueba)</text>
<text x="655.0" y="541" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Nivel AST → Distingue mismos nombres</text>
</svg>

After

Width:  |  Height:  |  Size: 9.0 KiB

+89
View File
@@ -0,0 +1,89 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 900 660" width="900" height="660" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="10.0" y="55" width="168" height="38" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="94.0" y="74" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Modelo Diff + Apply</text>
<rect x="10.0" y="101" width="168" height="116" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="16.0" y="117" font-family="'Courier New', Courier, monospace" font-size="8" fill="#333333" text-anchor="start" dominant-baseline="central">El LLM genera explicación Diff:</text>
<text x="16.0" y="134" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">- def foo(x):</text>
<text x="16.0" y="151" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">- return x</text>
<text x="16.0" y="168" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">+ def foo(x, y=0):</text>
<text x="16.0" y="185" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">+ return x + y</text>
<text x="16.0" y="202" font-family="'Courier New', Courier, monospace" font-size="8" fill="#333333" text-anchor="start" dominant-baseline="central">→ Modelo pequeño ubica y aplica</text>
<rect x="14.0" y="229" width="160" height="80" rx="3" fill="#ffffff" stroke="#999999" stroke-width="2"/>
<text x="94.0" y="244.2" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ventajas: Separación de</text>
<text x="94.0" y="258.36" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">responsabilidades</text>
<text x="94.0" y="272.52000000000004" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Contras: Pequeña</text>
<text x="94.0" y="286.68000000000006" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">desviación rompe</text>
<text x="94.0" y="300.8400000000001" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">alineación</text>
<rect x="188.0" y="55" width="168" height="38" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="272.0" y="74" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Cadena antigua → Cadena nueva</text>
<rect x="188.0" y="101" width="168" height="99" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="194.0" y="117" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">old: &quot;def foo(x):\n</text>
<text x="194.0" y="134" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> return x&quot;</text>
<text x="194.0" y="151" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#333333" text-anchor="start" dominant-baseline="central">new: &quot;def foo(x, y=0):\n</text>
<text x="194.0" y="168" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> return x + y&quot;</text>
<text x="194.0" y="185" font-family="'Courier New', Courier, monospace" font-size="7" fill="#333333" text-anchor="start" dominant-baseline="central">→ Reemplazo por coincidencia exacta</text>
<rect x="192.0" y="229" width="160" height="80" rx="3" fill="#ffffff" stroke="#999999" stroke-width="2"/>
<text x="272.0" y="244.2" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ventajas: Predecible, sin</text>
<text x="272.0" y="258.36" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">ambigüedad</text>
<text x="272.0" y="272.52000000000004" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Contras: Grandes</text>
<text x="272.0" y="286.68000000000006" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">eliminaciones requieren</text>
<text x="272.0" y="300.8400000000001" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">salida completa</text>
<rect x="366.0" y="55" width="168" height="38" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="450.0" y="74" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ubicación por num. línea</text>
<rect x="366.0" y="101" width="168" height="99" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="372.0" y="117" font-family="'Courier New', Courier, monospace" font-size="8" fill="#333333" text-anchor="start" dominant-baseline="central">Eliminar líneas 42-43, agregar:</text>
<text x="372.0" y="134" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> def foo(x, y=0):</text>
<text x="372.0" y="151" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> return x + y</text>
<text x="372.0" y="168" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"></text>
<text x="372.0" y="185" font-family="'Courier New', Courier, monospace" font-size="6" fill="#333333" text-anchor="start" dominant-baseline="central">→ El núm. de línea especifica el rango exacto</text>
<rect x="370.0" y="229" width="160" height="80" rx="3" fill="#ffffff" stroke="#999999" stroke-width="2"/>
<text x="450.0" y="244.2" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ventajas: Eficiente para</text>
<text x="450.0" y="258.36" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">operaciones grandes</text>
<text x="450.0" y="272.52000000000004" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Contras: Propensa a</text>
<text x="450.0" y="286.68000000000006" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">errores en archivos largos</text>
<rect x="544.0" y="55" width="168" height="38" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="628.0" y="74" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Comandos estilo Vim</text>
<rect x="544.0" y="101" width="168" height="99" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="550.0" y="117" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">42G (ir a línea 42)</text>
<text x="550.0" y="134" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">cw (cambiar palabra)</text>
<text x="550.0" y="151" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">dd (eliminar línea)</text>
<text x="550.0" y="168" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">yy/p (copiar/pegar)</text>
<text x="550.0" y="185" font-family="'Courier New', Courier, monospace" font-size="9.5" fill="#333333" text-anchor="start" dominant-baseline="central">→ Semántica de edición rica</text>
<rect x="548.0" y="229" width="160" height="80" rx="3" fill="#ffffff" stroke="#999999" stroke-width="2"/>
<text x="628.0" y="244.2" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ventajas:</text>
<text x="628.0" y="258.36" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Mover/reorganizar</text>
<text x="628.0" y="272.52000000000004" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">eficientemente</text>
<text x="628.0" y="286.68000000000006" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Contras: Modelos débiles</text>
<text x="628.0" y="300.8400000000001" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">generan más errores</text>
<rect x="722.0" y="55" width="168" height="38" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="806.0" y="74" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Coincidencia inicio-fin</text>
<rect x="722.0" y="101" width="168" height="99" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="728.0" y="117" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">start: &quot;def foo(x):&quot;</text>
<text x="728.0" y="134" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">end: &quot; return x&quot;</text>
<text x="728.0" y="151" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">new: &quot;def foo(x, y=0):</text>
<text x="728.0" y="168" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> return x + y&quot;</text>
<text x="728.0" y="185" font-family="'Courier New', Courier, monospace" font-size="8" fill="#333333" text-anchor="start" dominant-baseline="central">→ Bastan los límites para ubicar</text>
<rect x="726.0" y="229" width="160" height="80" rx="3" fill="#ffffff" stroke="#999999" stroke-width="2"/>
<text x="806.0" y="244.2" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ventajas: Gran eliminación</text>
<text x="806.0" y="258.36" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">sin salida completa</text>
<text x="806.0" y="272.52000000000004" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Contras: La combinación de</text>
<text x="806.0" y="286.68000000000006" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">límites debe ser única</text>
<line x1="30" y1="331" x2="870" y2="331" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="450.0" y="355" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Tasa real de adopción</text>
<text x="240" y="393" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">Cadena ant.→nueva</text>
<rect x="250" y="379" width="408.0" height="28" rx="3" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="454.0" y="393" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">Claude Code</text>
<text x="240" y="431" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">Ubicación por núm. línea</text>
<rect x="250" y="417" width="240.0" height="28" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="370.0" y="431" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Escenarios integración profunda IDE</text>
<text x="240" y="469" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">Diff + Apply</text>
<rect x="250" y="455" width="192.0" height="28" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="346.0" y="469" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Cursor</text>
<text x="240" y="507" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">Coincidencia inicio-fin</text>
<rect x="250" y="493" width="144.0" height="28" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="322.0" y="507" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Algunas soluciones personalizadas</text>
<text x="240" y="545" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">Comandos Vim</text>
<rect x="250" y="531" width="72.0" height="28" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="286.0" y="545" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Soluciones experimentales</text>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

+53
View File
@@ -0,0 +1,53 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 520" width="880" height="520" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="20" y="60" width="350" height="280" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="195" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente Proponente (Proposer)</text>
<text x="40" y="110" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Entrada: Artículo / contenido</text>
<rect x="30" y="125" width="330" height="24" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="38" y="137" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">paper.pdf → Extraer secciones/argumentos/imgs</text>
<text x="40" y="168" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Salida: Markdown Slidev</text>
<rect x="30" y="182" width="330" height="138" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="40" y="199.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">---</text>
<text x="40" y="213.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">layout: two-cols</text>
<text x="40" y="227.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">---</text>
<text x="40" y="241.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"># Arquitectura Transformer</text>
<text x="40" y="255.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">::left::</text>
<text x="40" y="269.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">- Mecanismo self-attention</text>
<text x="40" y="283.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">- Atención multicabeza</text>
<text x="40" y="297.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">::right::</text>
<text x="40" y="311.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">&lt;img src=&quot;fig3.png&quot; /&gt;</text>
<rect x="510" y="60" width="350" height="280" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="685" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente Revisor (Reviewer)</text>
<text x="520" y="110" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Paso 1: Renderizar capturas de pantalla</text>
<rect x="520" y="125" width="330" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="685" y="142" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">slidev export --per-slide</text>
<text x="685" y="160" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">→ slide-01.png, slide-02.png ...</text>
<text x="520" y="192" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Paso 2: Revisión con LLM visual</text>
<rect x="520" y="208" width="330" height="108" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="528" y="222" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Dimensiones de revisión:</text>
<text x="528" y="238" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> ✓ Límite de desborde de texto</text>
<text x="528" y="254" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> ✓ Distribución muy ajustada</text>
<text x="528" y="270" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> ✓ Tamaño de imagen adecuado</text>
<text x="528" y="286" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> ✗ Diap. 3: El texto desborda la col. derecha</text>
<text x="528" y="302" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> ✗ Diap. 7: Contenido demasiado denso</text>
<line x1="370" y1="200" x2="508" y2="150" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="439.0" y="165.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle">Código Slidev</text>
<line x1="508" y1="300" x2="370" y2="260" stroke="#333333" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah)"/>
<text x="439.0" y="270.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle">Sugerencias de cambio</text>
<rect x="395" y="220" width="100" height="24" rx="12" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="445.0" y="232.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Iterar 2-3 rondas</text>
<line x1="30" y1="365" x2="850" y2="365" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="440.0" y="388" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">¿Por qué separar en Agentes Proponente y Revisor?</text>
<rect x="30" y="405" width="270" height="130" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="165" y="425" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Problema Agente único</text>
<text x="165" y="450" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Decenas de capturas → desborde de contexto</text>
<text x="165" y="474" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Mezcla código + imágenes → distracción</text>
<rect x="320" y="405" width="270" height="130" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="455" y="425" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ventajas de separación</text>
<text x="455" y="450" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Revisor con contexto indep. → solo imagen + código</text>
<text x="455" y="474" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Proponente enfocado → solo recibe sugerencias</text>
<rect x="610" y="405" width="270" height="130" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="745" y="425" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Impacto real</text>
<text x="745" y="450" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Reduce significativamente el uso de contexto</text>
<text x="745" y="474" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Aumenta notablemente la precisión de corrección</text>
</svg>

After

Width:  |  Height:  |  Size: 9.8 KiB

+86
View File
@@ -0,0 +1,86 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 520" width="880" height="520" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<text x="440.0" y="60" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fase 1: Generación de PPT (Proponente-Revisor)</text>
<rect x="32.5" y="72" width="155" height="130" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="110.0" y="92" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Entrada PDF</text>
<line x1="40.5" y1="104" x2="179.5" y2="104" stroke="#999999" stroke-width="2"/>
<text x="40.5" y="120" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">paper.pdf</text>
<text x="40.5" y="140" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Parsear estructura doc.</text>
<text x="40.5" y="160" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Extraer ref. imágenes</text>
<line x1="189.5" y1="137" x2="195.5" y2="137" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="197.5" y="72" width="155" height="130" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="275.0" y="92" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Planificación contenido</text>
<line x1="205.5" y1="104" x2="344.5" y2="104" stroke="#999999" stroke-width="2"/>
<text x="205.5" y="120" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Estructura 10-20 págs</text>
<text x="205.5" y="140" font-family="'Courier New', Courier, monospace" font-size="9.5" fill="#333333" text-anchor="start" dominant-baseline="central">Extraer arg. principales</text>
<text x="205.5" y="160" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Asignar imágenes</text>
<line x1="354.5" y1="137" x2="360.5" y2="137" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="362.5" y="72" width="155" height="130" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="440.0" y="92" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Generación Slidev</text>
<line x1="370.5" y1="104" x2="509.5" y2="104" stroke="#999999" stroke-width="2"/>
<text x="370.5" y="120" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Generar pág. por pág.</text>
<text x="370.5" y="140" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">layout: two-cols</text>
<text x="370.5" y="160" font-family="'Courier New', Courier, monospace" font-size="9.5" fill="#333333" text-anchor="start" dominant-baseline="central">Código + disposición img</text>
<line x1="519.5" y1="137" x2="525.5" y2="137" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="527.5" y="72" width="155" height="130" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="605.0" y="92" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Control de renderizado</text>
<line x1="535.5" y1="104" x2="674.5" y2="104" stroke="#999999" stroke-width="2"/>
<text x="535.5" y="120" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">export --per-slide</text>
<text x="535.5" y="140" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Revisión LLM visual</text>
<text x="535.5" y="160" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Detección desborde</text>
<line x1="684.5" y1="137" x2="690.5" y2="137" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="692.5" y="72" width="155" height="130" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="770.0" y="92" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Corrección iterativa</text>
<line x1="700.5" y1="104" x2="839.5" y2="104" stroke="#999999" stroke-width="2"/>
<text x="700.5" y="120" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Revisor→Proponente</text>
<text x="700.5" y="140" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Modificar código Slidev</text>
<text x="700.5" y="160" font-family="'Courier New', Courier, monospace" font-size="9.5" fill="#333333" text-anchor="start" dominant-baseline="central">Rerenderizar y verificar</text>
<line x1="440.0" y1="202" x2="440.0" y2="240" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="500.0" y="222" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">PPT completado</text>
<text x="440.0" y="255" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fase 2: Síntesis de video</text>
<rect x="32.5" y="268" width="155" height="130" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="110.0" y="288" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Captura por página</text>
<line x1="40.5" y1="300" x2="179.5" y2="300" stroke="#999999" stroke-width="2"/>
<text x="40.5" y="316" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">slide-01.png</text>
<text x="40.5" y="336" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">slide-02.png</text>
<text x="40.5" y="356" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">...</text>
<line x1="189.5" y1="333" x2="195.5" y2="333" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="197.5" y="268" width="155" height="130" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="275.0" y="288" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Generación guion</text>
<line x1="205.5" y1="300" x2="344.5" y2="300" stroke="#999999" stroke-width="2"/>
<text x="205.5" y="316" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">Guion en lenguaje natural</text>
<text x="205.5" y="336" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Narración por página</text>
<text x="205.5" y="356" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Narrativa de guiado</text>
<line x1="354.5" y1="333" x2="360.5" y2="333" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="362.5" y="268" width="155" height="130" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="440.0" y="288" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Síntesis TTS</text>
<line x1="370.5" y1="300" x2="509.5" y2="300" stroke="#999999" stroke-width="2"/>
<text x="370.5" y="316" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Texto → audio</text>
<text x="370.5" y="336" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">speech-01.mp3</text>
<text x="370.5" y="356" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">speech-02.mp3</text>
<line x1="519.5" y1="333" x2="525.5" y2="333" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="527.5" y="268" width="155" height="130" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="605.0" y="288" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Sincronía audio-video</text>
<line x1="535.5" y1="300" x2="674.5" y2="300" stroke="#999999" stroke-width="2"/>
<text x="535.5" y="316" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Síntesis ffmpeg</text>
<text x="535.5" y="336" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Coincidir dur. audio</text>
<text x="535.5" y="356" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Efectos de transición</text>
<line x1="684.5" y1="333" x2="690.5" y2="333" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="692.5" y="268" width="155" height="130" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="770.0" y="288" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Video final</text>
<line x1="700.5" y1="300" x2="839.5" y2="300" stroke="#999999" stroke-width="2"/>
<text x="700.5" y="316" font-family="'Courier New', Courier, monospace" font-size="10" fill="#ffffff" text-anchor="start" dominant-baseline="central">output.mp4</text>
<text x="700.5" y="336" font-family="'Courier New', Courier, monospace" font-size="10" fill="#ffffff" text-anchor="start" dominant-baseline="central">5-15 minutos</text>
<text x="700.5" y="356" font-family="'Courier New', Courier, monospace" font-size="10" fill="#ffffff" text-anchor="start" dominant-baseline="central">Salida audio + imagen</text>
<line x1="30" y1="420" x2="850" y2="420" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="440.0" y="440" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Criterios de aceptación</text>
<rect x="180" y="462" width="92" height="26" rx="13" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="226.0" y="475.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">PPT</text>
<text x="285" y="475" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">10-20 págs · Cubre contribuciones principales · ≥3 gráficos originales</text>
<rect x="180" y="492" width="92" height="26" rx="13" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="226.0" y="505.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Render</text>
<text x="285" y="505" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Cero desborde de texto · Disposición adecuada · Armonía texto-imagen</text>
<rect x="180" y="522" width="92" height="26" rx="13" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="226.0" y="535.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Video</text>
<text x="285" y="535" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">5-15 minutos · Sincronía audio-video · Narrativa coherente</text>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

+67
View File
@@ -0,0 +1,67 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 520" width="880" height="520" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="20" y="60" width="250" height="160" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="145" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">① Recolección de registros</text>
<rect x="30" y="98" width="230" height="122" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="38" y="112" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">trajectory_001.json:</text>
<text x="38" y="126" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> {&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:</text>
<text x="38" y="140" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;cancelar pedido 12345&quot;}</text>
<text x="38" y="154" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> {&quot;role&quot;:&quot;assistant&quot;,</text>
<text x="38" y="168" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;tool_call&quot;:&quot;cancel_order&quot;}</text>
<text x="38" y="182" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> {&quot;role&quot;:&quot;tool&quot;,&quot;result&quot;:</text>
<text x="38" y="196" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;ERROR: sin seguro&quot;}</text>
<text x="38" y="210" font-family="'Courier New', Courier, monospace" font-size="8.5" fill="#333333" text-anchor="start" dominant-baseline="central"> → Agente no informó la razón al usuario</text>
<line x1="270" y1="140" x2="310" y2="140" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="310" y="60" width="260" height="160" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="440" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">② Análisis de LLM</text>
<text x="320" y="100" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Entrada: traza + doc. arquit. + PRD</text>
<text x="320" y="114" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"></text>
<text x="320" y="128" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Dimensiones de análisis:</text>
<text x="320" y="142" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> - ¿Flujo de ejec. cumple lo esperado?</text>
<text x="320" y="156" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> - ¿Llamadas a herramientas correctas?</text>
<text x="320" y="170" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> - ¿Manejo de errores adecuado?</text>
<text x="320" y="184" font-family="'Courier New', Courier, monospace" font-size="9.5" fill="#333333" text-anchor="start" dominant-baseline="central"> - ¿Experiencia de usuario satisfactoria?</text>
<text x="320" y="198" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"></text>
<text x="320" y="212" font-family="'Courier New', Courier, monospace" font-size="9.5" fill="#333333" text-anchor="start" dominant-baseline="central">→ Identificar paso y módulo con desviación</text>
<line x1="570" y1="140" x2="610" y2="140" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="610" y="60" width="250" height="160" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="735" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">③ Informe estructurado</text>
<rect x="620" y="98" width="230" height="108" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="628" y="112" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">Informe de problema:</text>
<text x="628" y="126" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> Prioridad: P1 (Riesgo pérdida usuario)</text>
<text x="628" y="140" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> Módulo: cancellation_handler</text>
<text x="628" y="154" font-family="'Courier New', Courier, monospace" font-size="8.5" fill="#333333" text-anchor="start" dominant-baseline="central"> Descripción: Tras fallo en cancelación,</text>
<text x="628" y="168" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> no se explica motivo ni alternativas</text>
<text x="628" y="182" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> Recomendación: Agregar explicación</text>
<text x="628" y="196" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> y guía para compra de seguro</text>
<line x1="440.0" y1="220" x2="440.0" y2="260" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="60" y="260" width="370" height="160" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="245" y="282" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="17.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">④ Generación caso de prueba de regresión</text>
<rect x="70" y="298" width="350" height="150" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="78" y="312" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">def test_cancel_no_insurance():</text>
<text x="78" y="326" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;&quot;&quot;Traza #001, Rondas 3-5&quot;&quot;&quot;</text>
<text x="78" y="340" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> # Replay: El usuario pide cancelar vuelo</text>
<text x="78" y="354" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> resp = agent.run(</text>
<text x="78" y="368" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;cancelar pedido 12345&quot;)</text>
<text x="78" y="382" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> # Verificar: Debe explicarse el motivo</text>
<text x="78" y="396" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> assert &quot;seguro&quot; in resp.text</text>
<text x="78" y="410" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> assert &quot;alternativa&quot; in resp.text</text>
<text x="78" y="424" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> # Verificar: No debe devolver error directo</text>
<text x="78" y="438" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> assert &quot;ERROR&quot; not in resp.text</text>
<line x1="430" y1="340" x2="470" y2="340" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="470" y="260" width="380" height="160" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="660" y="282" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">⑤ Creación automática de Issue en GitHub</text>
<rect x="480" y="298" width="360" height="122" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="488" y="312" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">gh issue create \</text>
<text x="488" y="326" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> --title &quot;P1: Falta guía al usuario</text>
<text x="488" y="340" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> en cancelación&quot; \</text>
<text x="488" y="354" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> --body &quot;**Problema**: El Agente devuelve</text>
<text x="488" y="368" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> error directo sin explicar motivo...</text>
<text x="488" y="382" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> **Traza**: #001 Rondas 3-5</text>
<text x="488" y="396" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> **Prueba**: test_cancel_...&quot; \</text>
<text x="488" y="410" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> --assignee @backend-team</text>
<rect x="100" y="445" width="680" height="44" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="440.0" y="460" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Automatización de extremo a extremo: Registro → Análisis → Informe → Prueba → Issue</text>
<text x="440.0" y="480" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">Integración GitHub con MCP · Verificación de replay automático en marco de pruebas</text>
<text x="440.0" y="530" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">Reduce el costo de diagnóstico manual de horas a minutos</text>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

+60
View File
@@ -0,0 +1,60 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 520" width="880" height="520" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="20" y="60" width="200" height="60" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="120" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Entrada del usuario</text>
<text x="120" y="100" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;Quiero reservar un vuelo a Pekín&quot;</text>
<line x1="220" y1="90" x2="260" y2="90" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="260" y="55" width="260" height="140" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="390" y="75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Análisis LLM → Generar código de formulario</text>
<rect x="270" y="90" width="240" height="140" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="276" y="103" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">&lt;form id=&quot;clarify&quot;&gt;</text>
<text x="276" y="116" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> &lt;input type=&quot;text&quot;</text>
<text x="276" y="129" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> name=&quot;from&quot; label=&quot;Ciudad origen&quot;/&gt;</text>
<text x="276" y="142" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> &lt;input type=&quot;date&quot;</text>
<text x="276" y="155" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> name=&quot;depart&quot; label=&quot;Fecha salida&quot;/&gt;</text>
<text x="276" y="168" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> &lt;select name=&quot;type&quot;&gt;</text>
<text x="276" y="181" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> &lt;option&gt;Solo ida&lt;/option&gt;</text>
<text x="276" y="194" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> &lt;option&gt;Ida y vuelta&lt;/option&gt;</text>
<text x="276" y="207" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central"> &lt;/select&gt;</text>
<text x="276" y="220" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">&lt;/form&gt;</text>
<line x1="520" y1="130" x2="560" y2="130" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="560" y="55" width="300" height="200" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="710" y="75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Interfaz de formulario renderizada</text>
<text x="580" y="95" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Ciudad Origen</text>
<rect x="660" y="83" width="180" height="24" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="668" y="95" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">Shanghái</text>
<text x="580" y="135" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Fecha Salida</text>
<rect x="660" y="123" width="180" height="24" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="668" y="135" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">2025-08-15</text>
<text x="580" y="175" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Tipo de Viaje</text>
<rect x="660" y="163" width="180" height="24" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="668" y="175" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">Ida y vuelta ▾</text>
<text x="580" y="215" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Fecha Regreso</text>
<rect x="660" y="203" width="180" height="24" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="668" y="215" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">2025-08-22</text>
<rect x="660" y="238" width="80" height="26" rx="13" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="700.0" y="251.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Enviar</text>
<line x1="710" y1="268" x2="710" y2="300" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="560" y="300" width="300" height="110" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="710" y="318" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Respuesta JSON estructurada</text>
<rect x="570" y="330" width="280" height="74" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="578" y="344" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;from&quot;: &quot;Shanghái&quot;,</text>
<text x="578" y="360" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;depart&quot;: &quot;2025-08-15&quot;,</text>
<text x="578" y="376" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;type&quot;: &quot;Ida y vuelta&quot;,</text>
<text x="578" y="392" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;return&quot;: &quot;2025-08-22&quot;}</text>
<line x1="560" y1="390" x2="400" y2="440" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="100" y="430" width="500" height="50" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="350" y="448" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">El Agente continúa la ejecución con parámetros completos</text>
<text x="350" y="468" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">search_flights(from='Shanghái', to='Pekín', depart='2025-08-15', ...)</text>
<rect x="20" y="280" width="250" height="140" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="145" y="300" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Comparación: Texto vs Formulario</text>
<text x="30" y="318" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Preguntas en texto: 10 rondas</text>
<text x="30" y="331" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> P1: ¿Origen? R: Shanghái</text>
<text x="30" y="344" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> P2: ¿Fecha? R: 15 de agosto</text>
<text x="30" y="357" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> P3: ¿Ida o vuelta? ...</text>
<text x="30" y="370" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"></text>
<text x="30" y="383" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Formulario dinámico: 1 envío</text>
<text x="30" y="396" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> Toda la info se junta a la vez</text>
<text x="30" y="409" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> Lógica en cascada automática</text>
<text x="440.0" y="510" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">El código del formulario se genera dinámicamente por el LLM → Lógica en cascada: al elegir &quot;Ida y vuelta&quot;, la fecha de regreso se muestra automáticamente</text>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

+67
View File
@@ -0,0 +1,67 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 540" width="880" height="540" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="20" y="55" width="840" height="200" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="60" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Modo tradicional: los datos pasan por el LLM (ineficiente)</text>
<rect x="770" y="65" width="80" height="24" rx="12" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="810.0" y="77.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">✗ Ineficiente</text>
<rect x="60" y="100" width="130" height="60" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="125" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Usuario</text>
<text x="125" y="138" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;¿Personal por departamento?&quot;</text>
<line x1="190" y1="130" x2="210" y2="130" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="215" y="100" width="130" height="60" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="280" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">LLM</text>
<text x="280" y="138" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Generar SQL</text>
<line x1="345" y1="130" x2="365" y2="130" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="370" y="100" width="130" height="60" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="435" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">DB</text>
<text x="435" y="138" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ejecutar</text>
<text x="435" y="154" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">consulta</text>
<line x1="500" y1="130" x2="520" y2="130" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="525" y="100" width="130" height="60" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="590" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">LLM</text>
<text x="590" y="138" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Leer 5000</text>
<text x="590" y="154" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">líneas</text>
<line x1="655" y1="130" x2="675" y2="130" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="680" y="100" width="130" height="60" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="745" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Usuario</text>
<text x="745" y="138" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Explicación</text>
<text x="745" y="154" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">en texto</text>
<rect x="60" y="175" width="760" height="30" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="70" y="190" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Problema: Copiar datos en el LLM es propenso a errores · consume muchos tokens · alta latencia</text>
<line x1="30" y1="265" x2="850" y2="265" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<rect x="20" y="275" width="840" height="280" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="60" y="298" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Modo Artefacto: los datos van directamente al frontend (eficiente)</text>
<rect x="770" y="285" width="80" height="24" rx="12" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="810.0" y="297.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">✓ Eficiente</text>
<rect x="40" y="315" width="250" height="120" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="165" y="335" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">El LLM solo genera código</text>
<rect x="50" y="345" width="230" height="92" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="58" y="358" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">build_artifact(</text>
<text x="58" y="372" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> type=&quot;sql&quot;,</text>
<text x="58" y="386" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> code=&quot;SELECT dept,</text>
<text x="58" y="400" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> COUNT(*) as cnt</text>
<text x="58" y="414" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> FROM employees</text>
<text x="58" y="428" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> GROUP BY dept&quot;)</text>
<line x1="290" y1="380" x2="340" y2="380" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="340" y="315" width="250" height="120" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="465" y="335" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">El frontend ejecuta directo</text>
<rect x="350" y="348" width="230" height="75" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="358" y="360" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">┌────────┬──────┐</text>
<text x="358" y="372" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">│ dept │ cnt │</text>
<text x="358" y="384" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">├────────┼──────┤</text>
<text x="358" y="396" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">│ Dpto. I+D │ 42 │</text>
<text x="358" y="408" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">│ Dpto. Mkt │ 28 │</text>
<text x="358" y="420" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">└────────┴──────┘</text>
<line x1="590" y1="380" x2="640" y2="380" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="640" y="315" width="210" height="120" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="745" y="335" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Artefacto de visualización</text>
<text x="745" y="355" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Segundo artefacto:</text>
<rect x="650" y="365" width="190" height="60" rx="3" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="658" y="380" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">build_artifact(</text>
<text x="658" y="394" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> type=&quot;chart&quot;,</text>
<text x="658" y="408" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central"> code=&quot;bar(data)&quot;)</text>
<rect x="180" y="450" width="520" height="45" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="440" y="465" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Flujo de datos: DB → Frontend → Visualización (omite por completo el LLM)</text>
<text x="440" y="483" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">El LLM solo se encarga de generar código, no de transferir datos</text>
<path d="M 465,435 Q 605.0,460.0 745,435" fill="none" stroke="#999999" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah-light)"/>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

+66
View File
@@ -0,0 +1,66 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 500" width="880" height="500" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<text x="97.5" y="65" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fuente de eventos</text>
<rect x="20" y="85" width="155" height="40" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="97.5" y="105.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Email</text>
<text x="25" y="141" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">on_email_reply</text>
<text x="25" y="159" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;from&quot;:&quot;alice@...&quot;,</text>
<text x="25" y="175" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;subject&quot;:&quot;Re:reunión&quot;}</text>
<rect x="20" y="195" width="155" height="40" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="97.5" y="215.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Temporizador</text>
<text x="25" y="251" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">on_timer_expire</text>
<text x="25" y="269" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;task_id&quot;:&quot;daily_report&quot;,</text>
<text x="25" y="285" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;scheduled&quot;:&quot;09:00&quot;}</text>
<rect x="20" y="305" width="155" height="40" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="97.5" y="325.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Webhook</text>
<text x="25" y="361" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">on_webhook</text>
<text x="25" y="379" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;repo&quot;:&quot;agent-lib&quot;,</text>
<text x="25" y="395" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;event&quot;:&quot;pr_merged&quot;}</text>
<rect x="20" y="415" width="155" height="40" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="97.5" y="435.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Usuario</text>
<text x="25" y="471" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">on_user_message</text>
<text x="25" y="489" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;text&quot;:&quot;Ver clima</text>
<text x="25" y="505" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">mañana&quot;}</text>
<text x="310.0" y="65" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Cola de eventos</text>
<rect x="215" y="85" width="190" height="390" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<rect x="225" y="105" width="170" height="60" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="310.0" y="127" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">user.input</text>
<text x="310.0" y="149" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Prioridad: normal</text>
<rect x="225" y="190" width="170" height="60" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="310.0" y="212" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">email.reply</text>
<text x="310.0" y="234" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Prioridad: normal</text>
<rect x="225" y="275" width="170" height="60" rx="4" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="310.0" y="297" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">user.interrupt</text>
<text x="310.0" y="319" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">Prioridad: ¡urgente!</text>
<rect x="225" y="360" width="170" height="60" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="310.0" y="382" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">timer.trigger</text>
<text x="310.0" y="404" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Prioridad: normal</text>
<line x1="177" y1="105" x2="213" y2="120" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="177" y1="215" x2="213" y2="205" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="177" y1="325" x2="213" y2="290" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="177" y1="435" x2="213" y2="375" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="650" y="65" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Flujo de procesamiento del Agente</text>
<line x1="407" y1="280" x2="448" y2="280" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="427.5" y="270.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle">Obtener evento</text>
<rect x="450" y="110" width="360" height="50" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="468" y="135.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Enrutador</text>
<text x="798" y="135.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">El LLM determina la urgencia</text>
<line x1="630.0" y1="162" x2="630.0" y2="188" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="450" y="190" width="360" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="468" y="215.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Añadir a trayectoria</text>
<text x="798" y="215.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">Formato de evento estructurado</text>
<line x1="630.0" y1="242" x2="630.0" y2="268" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="450" y="270" width="360" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="468" y="295.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Inferencia LLM</text>
<text x="798" y="295.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">Observar → Pensar → Actuar</text>
<line x1="630.0" y1="322" x2="630.0" y2="348" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="450" y="350" width="360" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="468" y="375.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Ejecutar herramienta</text>
<text x="798" y="375.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">Despacho async/sync</text>
<line x1="630.0" y1="402" x2="630.0" y2="428" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="450" y="430" width="360" height="50" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="468" y="455.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Procesar resultado</text>
<text x="798" y="455.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">Notificar/responder/guardar</text>
<path d="M 810,450 Q 855.0,290.0 810,130" fill="none" stroke="#999999" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah-light)"/>
<text x="832.5" y="280.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Bucle</text>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

+39
View File
@@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 430" width="780" height="430" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="60" width="140" height="50" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="100" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Entrada del usuario</text>
<text x="100" y="98" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;¿Qué plan elegir?&quot;</text>
<line x1="172" y1="78" x2="218" y2="78" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="220" y="55" width="250" height="130" rx="8" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="232" y="73" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Pensamiento paralelo</text>
<rect x="235" y="80" width="220" height="42" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="345" y="95" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Pensamiento rápido ~500ms (pensamiento desactivado)</text>
<text x="345" y="110" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;Buen precio, recomiendo compra&quot;</text>
<rect x="235" y="130" width="220" height="42" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="345" y="145" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Pensamiento lento ~8s (pensamiento activado)</text>
<text x="345" y="160" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;Carece de roaming internacional, no es adecuado&quot;</text>
<line x1="457" y1="95" x2="503" y2="95" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="457" y1="150" x2="503" y2="150" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="505" y="60" width="240" height="130" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="625" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Experiencia de usuario</text>
<text x="625" y="102" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">0.5s: &quot;Buen precio, recomiendo comprar&quot;</text>
<text x="625" y="120" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">8.0s: &quot;Carece de roaming internacional, no adecuado&quot;</text>
<text x="625" y="145" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">→ ¡Contradicción!</text>
<text x="625" y="168" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">→ El usuario pierde la confianza</text>
<rect x="30" y="210" width="720" height="90" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="390" y="230" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Dos problemas principales</text>
<text x="200" y="258" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Problema 1: Sobrepensar problemas simples</text>
<text x="200" y="278" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;¿Qué día es hoy?&quot; → El pensamiento rápido ya es correcto → El pensamiento lento sigue ejecutándose durante 8s</text>
<text x="580" y="258" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Problema 2: Inconsistencia entre rápido y lento</text>
<text x="580" y="278" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Rutas de pensamiento independientes, los supuestos pueden ser completamente diferentes</text>
<rect x="30" y="355" width="340" height="100" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="200" y="376" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Mejora: Pensamiento lento como &quot;asesor&quot; guiando tras bambalinas</text>
<text x="200" y="400" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Pensamiento lento → Barra de estado del agente → Pensamiento rápido</text>
<text x="200" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Sin conflicto directo, pero la comunicación es indirectamente vaga</text>
<rect x="410" y="355" width="340" height="100" rx="6" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<text x="580" y="376" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Aún tiene limitaciones fundamentales</text>
<text x="580" y="398" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">El pensamiento rápido puede malinterpretar las pistas de la barra de estado (&quot;Confirmar precio&quot;</text>
<text x="580" y="416" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;Confirmar con el usuario&quot; en lugar de &quot;Recalcular&quot;)</text>
<text x="580" y="434" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">No puede lograr la interacción natural de &quot;pensar mientras se habla&quot;</text>
</svg>

After

Width:  |  Height:  |  Size: 8.0 KiB

+49
View File
@@ -0,0 +1,49 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 300" width="780" height="300" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="55" width="190" height="185" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="125" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">① Captura</text>
<rect x="55" y="95" width="140" height="90" rx="4" fill="#ffffff" stroke="#999999" stroke-width="1.5"/>
<text x="125" y="115" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="middle" dominant-baseline="central">Pantalla de la computadora</text>
<rect x="72" y="128" width="106" height="14" rx="2" fill="#e8e8e8" stroke="none"/>
<rect x="72" y="146" width="80" height="14" rx="2" fill="#e8e8e8" stroke="none"/>
<rect x="72" y="164" width="50" height="12" rx="2" fill="#d0d0d0" stroke="none"/>
<text x="125" y="205" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#999999" text-anchor="middle" dominant-baseline="central">Escritorio / navegador / aplicación</text>
<text x="125" y="225" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#999999" text-anchor="middle" dominant-baseline="central">Capturar tras estabilizarse</text>
<line x1="220" y1="130" x2="283" y2="130" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="252" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central">Captura</text>
<rect x="295" y="55" width="190" height="185" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="390" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">② Inferencia del modelo</text>
<text x="390" y="103" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Entrada</text>
<text x="390" y="121" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central">Captura + instrucción</text>
<line x1="310" y1="137" x2="470" y2="137" stroke="#999999" stroke-width="1" stroke-dasharray="4,3"/>
<text x="390" y="155" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Salida</text>
<text x="390" y="175" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central">Pensamiento: «El buscador está en el centro»</text>
<text x="390" y="195" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central">Acción: click(512, 250)</text>
<text x="390" y="215" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central">Acción: type(&quot;weather&quot;)</text>
<line x1="485" y1="130" x2="548" y2="130" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="517" y="118" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central">Acción</text>
<rect x="560" y="55" width="190" height="185" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="655" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="18" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">③ Ejecutar acción</text>
<text x="655" y="108" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Herramienta de ejecución</text>
<text x="655" y="130" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central">xdotool / Playwright</text>
<line x1="575" y1="147" x2="735" y2="147" stroke="#999999" stroke-width="1" stroke-dasharray="4,3"/>
<text x="655" y="165" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central">Ratón: mover, clicar, arrastrar</text>
<text x="655" y="185" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central">Teclado: escribir, usar atajos</text>
<text x="655" y="205" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central">Desplazamiento: cuatro direcciones</text>
<text x="655" y="225" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="middle" dominant-baseline="central">Espera: respuesta de la interfaz</text>
<path d="M 655 240 L 655 280 L 125 280 L 125 248" stroke="#333333" stroke-width="2" fill="none" marker-end="url(#ah)"/>
<text x="390" y="298" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central">④ La interfaz cambia → esperar estabilidad → siguiente captura</text>
<text x="390" y="325" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#999999" text-anchor="middle" dominant-baseline="central">Escenario típico: completar un formulario de varios pasos puede requerir 1020 ciclos</text>
</svg>

After

Width:  |  Height:  |  Size: 6.6 KiB

+54
View File
@@ -0,0 +1,54 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 420" width="780" height="420" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="35" y="60" width="340" height="180" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="205" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Herramienta de operación de GUI (computadora)</text>
<text x="47" y="98" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Ratón:</text>
<text x="105" y="98" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">mouse_move · clic izquierdo/derecho/central</text>
<text x="105" y="114" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">double/triple_click · left_click_drag</text>
<text x="105" y="130" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">left_mouse_down/up</text>
<text x="47" y="152" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Claves:</text>
<text x="105" y="152" font-family="'Courier New', Courier, monospace" font-size="8" fill="#333333" text-anchor="start" dominant-baseline="central">escribir (carácter por carácter, intervalo de 12 ms)</text>
<text x="105" y="168" font-family="'Courier New', Courier, monospace" font-size="8" fill="#333333" text-anchor="start" dominant-baseline="central">key (tecla de combinación) · hold_key (pulsación larga)</text>
<text x="47" y="190" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Desplazamiento:</text>
<text x="105" y="190" font-family="'Courier New', Courier, monospace" font-size="8" fill="#333333" text-anchor="start" dominant-baseline="central">desplazamiento en 4 direcciones + teclas modificadoras</text>
<rect x="400" y="60" width="345" height="100" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="572" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Acciones de percepción</text>
<text x="412" y="98" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Pantalla:</text>
<text x="470" y="98" font-family="'Courier New', Courier, monospace" font-size="7.5" fill="#333333" text-anchor="start" dominant-baseline="central">captura de pantalla → escalar a resolución de entrenamiento</text>
<text x="412" y="120" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Cursor:</text>
<text x="470" y="120" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">cursor_position → (x, y)</text>
<text x="412" y="142" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Esperar:</text>
<text x="470" y="142" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">esperar → esperar a que la interfaz se estabilice</text>
<rect x="400" y="175" width="345" height="65" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="572" y="195" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ejecución de comandos (bash)</text>
<text x="412" y="213" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Término:</text>
<text x="470" y="213" font-family="'Courier New', Courier, monospace" font-size="8" fill="#333333" text-anchor="start" dominant-baseline="central">sesión de bash persistente · tiempo de espera de 120s</text>
<text x="470" y="229" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">Detección de cadena centinela completada</text>
<rect x="35" y="255" width="340" height="65" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="205" y="275" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Edición de archivos (str_replace_editor)</text>
<text x="47" y="293" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Ops:</text>
<text x="105" y="293" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">view · create · str_replace</text>
<text x="105" y="309" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">insertar · undo_edit</text>
<rect x="400" y="255" width="345" height="65" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="572" y="275" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Mecanismo de escalado de coordenadas</text>
<text x="572" y="295" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">resolución real ↔ resolución de entrenamiento (XGA/WXGA/FWXGA)</text>
<text x="572" y="310" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">reducción de captura → inferencia del modelo → ampliación de coordenadas → ejecución de xdotool</text>
<rect x="35" y="335" width="710" height="110" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="357" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Flujo de ejecución típico: llenar formulario</text>
<text x="123" y="385" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">① captura de pantalla</text>
<text x="123" y="403" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Capturar página</text>
<line x1="186" y1="391" x2="196" y2="391" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<text x="259" y="385" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">② Inferencia del modelo</text>
<text x="259" y="403" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Buscar campo de nombre</text>
<line x1="322" y1="391" x2="332" y2="391" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<text x="387" y="385" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">③ mouse_move</text>
<text x="387" y="403" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Mover a (324, 156)</text>
<line x1="458" y1="391" x2="468" y2="391" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<text x="531" y="385" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">④ left_click</text>
<text x="531" y="403" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Hacer clic para obtener el foco</text>
<line x1="594" y1="391" x2="604" y2="391" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<text x="667" y="385" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">⑤ type</text>
<text x="667" y="403" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;John Smith&quot;</text>
<text x="390" y="430" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Cada intervalo de acción 2-5 s (captura-reconocer-pensar-clic en serie), 1/3 a 1/5 de la velocidad humana</text>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

+56
View File
@@ -0,0 +1,56 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 400" width="780" height="400" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="35" y="60" width="310" height="220" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="190" y="75" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Captura de pantalla de página web simulada (anotada)</text>
<rect x="43" y="88" width="294" height="28" rx="3" fill="#e8e8e8" stroke="#333333" stroke-width="2"/>
<rect x="47" y="92" width="180" height="20" rx="2" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<text x="53" y="102" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">www.example.com</text>
<rect x="43" y="86" width="194" height="30" rx="2" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="43" y="83" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">[1]</text>
<rect x="55" y="126" width="80" height="30" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="95" y="141" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Enviar</text>
<rect x="53" y="124" width="84" height="34" rx="2" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="53" y="121" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">[2]</text>
<rect x="55" y="168" width="200" height="28" rx="3" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<rect x="55" y="168" width="200" height="28" rx="3" fill="#ffffff" stroke="#999999" stroke-width="2"/>
<text x="65" y="182" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Ingrese su nombre...</text>
<rect x="53" y="166" width="204" height="32" rx="2" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="53" y="163" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">[3]</text>
<text x="65" y="218" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Documentación →</text>
<rect x="53" y="206" width="160" height="22" rx="2" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="53" y="203" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">[4]</text>
<rect x="375" y="60" width="370" height="220" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="560" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Lista de elementos (descripción de texto)</text>
<text x="385" y="100" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">[1] &lt;input type=&quot;text&quot; placeholder=</text>
<text x="385" y="118" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;Buscar&quot; aria-label=&quot;Buscar&quot;/&gt;</text>
<text x="385" y="136" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">[2] &lt;button id=&quot;submit-btn&quot;</text>
<text x="385" y="154" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> aria-label=&quot;Enviar formulario&quot;/&gt;</text>
<text x="385" y="172" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">[3] &lt;input type=&quot;text&quot; placeholder=</text>
<text x="385" y="190" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;Ingrese su nombre&quot; value=&quot;&quot;/&gt;</text>
<text x="385" y="208" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">[4] &lt;a href=&quot;/docs&quot;</text>
<text x="385" y="226" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central"> aria-label=&quot;Documentación&quot;/&gt;</text>
<text x="560" y="258" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">ID de salida del modelo → el sistema ejecuta con coordenadas centrales</text>
<rect x="35" y="295" width="710" height="130" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="390" y="315" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Flujo SoM (implementación de browser-use)</text>
<rect x="65" y="340" width="117" height="50" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="123" y="357" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Adquisición de CDP</text>
<text x="123" y="373" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">DOM/A11y</text>
<line x1="184" y1="365" x2="199" y2="365" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="197" y="340" width="117" height="50" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="255" y="357" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Interactividad</text>
<text x="255" y="373" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Detección</text>
<line x1="316" y1="365" x2="331" y2="365" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="329" y="340" width="117" height="50" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="387" y="357" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Caja delimitadora</text>
<text x="387" y="373" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">+ Asignación de ID</text>
<line x1="448" y1="365" x2="463" y2="365" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="461" y="340" width="117" height="50" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="519" y="357" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">En la captura de pantalla</text>
<text x="519" y="373" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Dibujar anotación de caja</text>
<line x1="580" y1="365" x2="595" y2="365" stroke="#999999" stroke-width="2" marker-end="url(#ah-light)"/>
<rect x="593" y="340" width="117" height="50" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="651" y="357" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Lista de texto</text>
<text x="651" y="373" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">+ Captura de pantalla → modelo</text>
<text x="390" y="407" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Límite aplicable: interfaces estructuradas (web/API de accesibilidad) | Juegos/Canvas recurren a métodos visuales puros</text>
</svg>

After

Width:  |  Height:  |  Size: 9.7 KiB

+33
View File
@@ -0,0 +1,33 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 310" width="780" height="310" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="40" y="65" width="200" height="120" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="140" y="85" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Pantalla real</text>
<text x="140" y="108" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">2560 × 1440</text>
<text x="140" y="128" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">u otra resolución</text>
<text x="140" y="150" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Clic del usuario: (1280, 720)</text>
<circle cx="155" cy="165" r="4" fill="#333333" stroke="#333333" stroke-width="2"/>
<rect x="290" y="65" width="200" height="120" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="390" y="85" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Resolución de entrenamiento del modelo</text>
<text x="390" y="108" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">XGA: 1024×768</text>
<text x="390" y="126" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">WXGA: 1280×800</text>
<text x="390" y="144" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">FWXGA: 1366×768</text>
<text x="390" y="165" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Seleccionar la mejor coincidencia según la relación de aspecto</text>
<rect x="540" y="65" width="200" height="120" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="640" y="85" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Coordenadas de salida del modelo</text>
<text x="640" y="108" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Basado en imagen reducida</text>
<text x="640" y="128" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Predicción: (683, 384)</text>
<circle cx="650" cy="145" r="4" fill="#333333" stroke="#333333" stroke-width="2"/>
<text x="640" y="168" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">→ Ajustar a la resolución real</text>
<line x1="242" y1="110" x2="288" y2="110" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="265.0" y="100.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle">Reducir escala</text>
<line x1="492" y1="140" x2="538" y2="140" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="538" y1="110" x2="492" y2="110" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="515.0" y="100.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle">Coordenadas</text>
<rect x="40" y="200" width="700" height="60" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="218" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Flujo de trabajo completo</text>
<text x="390" y="242" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">① Seleccionar resolución de destino por relación de aspecto → ② Reducir escala de captura de pantalla con ImageMagick → ③ Inferencia del modelo genera coordenadas → ④ Aumentar escala proporcionalmente → ⑤ Ejecutar con xdotool</text>
<rect x="40" y="275" width="700" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="390" y="293" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Ejemplo de escalado (pantalla 16:9 → FWXGA)</text>
<text x="390" y="315" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Captura de pantalla: 2560×1440 → 1366×768 (×0.53) | Coordenadas: Modelo (683, 384) → Real (1280, 720) (×1.87)</text>
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

+67
View File
@@ -0,0 +1,67 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 480" width="780" height="480" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker><marker id="ah-sm" markerWidth="6" markerHeight="4" refX="6" refY="2" orient="auto"><polygon points="0 0, 6 2, 0 4" fill="#999999"/></marker></defs>
<rect x="55" y="55" width="210" height="50" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="160" y="73" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">RT-2</text>
<text x="160" y="93" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="63" y="115" width="194" height="50" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="160" y="133" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">backbone de visión y lenguaje</text>
<text x="160" y="151" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">VLM preentrenado a gran escala</text>
<rect x="63" y="173" width="194" height="50" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="160" y="191" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">discretización de acciones</text>
<text x="160" y="209" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">acción continua → token</text>
<line x1="160" y1="165" x2="160" y2="173" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="63" y="231" width="194" height="50" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="160" y="249" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">salida autorregresiva</text>
<text x="160" y="267" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">generación token por token</text>
<line x1="160" y1="223" x2="160" y2="231" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<text x="160" y="294" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">ajuste fino directo en VLM</text>
<text x="160" y="312" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">aprovechamiento de la generalización preentrenada</text>
<text x="160" y="330" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">transferencia zero-shot a nuevos objetos/instrucciones</text>
<rect x="290" y="55" width="210" height="50" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="395" y="73" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">OpenVLA</text>
<text x="395" y="93" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="298" y="115" width="194" height="50" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="395" y="133" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">codificador de visión</text>
<text x="395" y="151" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">DINOv2 + SigLIP</text>
<rect x="298" y="173" width="194" height="50" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="395" y="191" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">modelo de lenguaje</text>
<text x="395" y="209" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Llama 2 7B</text>
<line x1="395" y1="165" x2="395" y2="173" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="298" y="231" width="194" height="50" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="395" y="249" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">cabezal de acción</text>
<text x="395" y="267" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">token de acción discreta</text>
<line x1="395" y1="223" x2="395" y2="231" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<text x="395" y="294" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">totalmente de código abierto · reproducible por la comunidad</text>
<text x="395" y="312" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Preentrenamiento de Open X-Embodiment</text>
<text x="395" y="330" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">autorregresivo original de un solo paso ~6Hz</text>
<rect x="525" y="55" width="210" height="50" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="630" y="73" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">π₀</text>
<text x="630" y="93" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<rect x="533" y="115" width="194" height="50" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="630" y="133" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">backbone de visión y lenguaje</text>
<text x="630" y="151" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">PaliGemma</text>
<rect x="533" y="173" width="194" height="50" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="630" y="191" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">experto de acción</text>
<text x="630" y="209" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">eliminación de ruido mediante flow matching</text>
<line x1="630" y1="165" x2="630" y2="173" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="533" y="231" width="194" height="50" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="630" y="249" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">salida de acción</text>
<text x="630" y="267" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">trayectoria de acción continua</text>
<line x1="630" y1="223" x2="630" y2="231" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<text x="630" y="294" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">ruta de generación de trayectoria continua</text>
<text x="630" y="312" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">fragmentación de acciones 25-50/fragmento a 50Hz</text>
<text x="630" y="330" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">mayor fluidez en la manipulación diestra</text>
<rect x="35" y="365" width="710" height="135" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="387" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">arquitectura de control de dos capas</text>
<rect x="55" y="407" width="300" height="40" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="205" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">planificación a largo horizonte (0.1-1Hz)</text>
<text x="205" y="437" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">VLM general / Gemini Robotics-ER 1.5</text>
<line x1="357" y1="427" x2="400" y2="427" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="378.5" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle">subobjetivo</text>
<rect x="402" y="407" width="300" height="40" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="552" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Control VLA (1-10 Hz)</text>
<text x="552" y="437" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">RT-2 / OpenVLA / π₀</text>
<text x="390" y="465" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">base común: aprendizaje por imitación + datos de demostración de múltiples corporalidades a gran escala, rompiendo el cuello de botella de los datos</text>
<text x="390" y="485" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">dos rutas de representación de acciones: token de acción discreta (RT-2 / OpenVLA) · generación de trayectoria continua (π₀)</text>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

+40
View File
@@ -0,0 +1,40 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 400" width="780" height="400" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="35" y="60" width="250" height="160" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="160" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Entorno de simulación</text>
<text x="160" y="105" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ 1000+ entornos en paralelo</text>
<text x="160" y="127" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Sin riesgo de daños al hardware</text>
<text x="160" y="149" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Control preciso de las condiciones experimentales</text>
<text x="160" y="171" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✓ Iteración rápida ~1 h de entrenamiento</text>
<rect x="495" y="60" width="250" height="160" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="620" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Entorno real</text>
<text x="620" y="105" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✗ Errores de aproximación física</text>
<text x="620" y="127" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✗ Renderizado visual poco realista</text>
<text x="620" y="149" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✗ Ausencia de ruido en los sensores</text>
<text x="620" y="171" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">✗ Dinámica simplificada de actuadores</text>
<rect x="310" y="90" width="160" height="100" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="110" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="17" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Brecha de realidad</text>
<text x="390" y="132" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Capa de física</text>
<text x="390" y="152" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Capa visual</text>
<text x="390" y="172" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Capa de control</text>
<line x1="287" y1="130" x2="308" y2="130" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="472" y1="130" x2="493" y2="130" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="35" y="240" width="710" height="115" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="390" y="262" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Aleatorización del dominio: Hacer que la simulación cubra la realidad</text>
<text x="166" y="290" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Aleatorización de la física</text>
<text x="166" y="308" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Coeficiente de fricción 0.1-1.0</text>
<text x="166" y="324" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Masa del objeto ±50%</text>
<text x="166" y="340" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Variación de rigidez articular</text>
<text x="389" y="290" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Aleatorización visual</text>
<text x="389" y="308" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Intensidad de luz 0.2-2.0</text>
<text x="389" y="324" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Color de material aleatorio</text>
<text x="389" y="340" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Posición de la cámara ±5 cm</text>
<text x="612" y="290" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Aleatorización de la dinámica</text>
<text x="612" y="308" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Retardo de control 0-50 ms</text>
<text x="612" y="324" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Nivel de ruido ±10%</text>
<text x="612" y="340" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Variación de respuesta del actuador</text>
<rect x="35" y="367" width="710" height="60" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="385" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Idea clave: Distribución de entrenamiento extremadamente diversa → El mundo real es solo "una muestra"</text>
<text x="390" y="407" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Casos de éxito: OpenAI Dactyl (cubo de Rubik) · ETH ANYmal (terreno complejo) · La efectividad depende del diseño del rango de aleatorización</text>
</svg>

After

Width:  |  Height:  |  Size: 8.5 KiB

+62
View File
@@ -0,0 +1,62 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 800 470" width="800" height="470" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker><marker id="ah-sm" markerWidth="6" markerHeight="4" refX="6" refY="2" orient="auto"><polygon points="0 0, 6 2, 0 4" fill="#999999"/></marker></defs>
<rect x="26" y="60" width="143" height="130" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="97" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">① Alineación del entorno</text>
<text x="97" y="101" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Alineación simulación/cámara real</text>
<text x="97" y="119" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Verificación por superposición visual</text>
<text x="97" y="137" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Verificación de superposición de imágenes</text>
<rect x="176" y="60" width="143" height="130" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="248" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">② Reemplazo de fondo</text>
<text x="248" y="101" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Tecnología de pantalla verde</text>
<text x="248" y="119" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Recorte de imagen de fondo real</text>
<text x="248" y="137" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Superponer en el renderizado de simulación</text>
<line x1="169" y1="125" x2="176" y2="125" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="326" y="60" width="143" height="130" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="398" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">③ Dominio</text>
<text x="398" y="96" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Aleatorización</text>
<text x="398" y="117" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Aleatorización del color del robot</text>
<text x="398" y="135" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Textura/Iluminación/FOV del objeto</text>
<text x="398" y="153" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Aleatorización de parámetros físicos</text>
<line x1="319" y1="125" x2="326" y2="125" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="476" y="60" width="143" height="130" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="548" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">④ Entrenamiento con RL</text>
<text x="548" y="101" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">PPO · 1024 entornos paralelos</text>
<text x="548" y="119" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">25-40 millones de pasos</text>
<text x="548" y="137" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">~1h (Una sola 4090)</text>
<line x1="469" y1="125" x2="476" y2="125" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="626" y="60" width="143" height="130" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="698" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">⑤ Despliegue real</text>
<text x="698" y="101" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Frecuencia de control de 15 Hz</text>
<text x="698" y="119" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Agarre de cubo de ~2.5 cm</text>
<text x="698" y="137" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Éxito zero-shot</text>
<line x1="619" y1="125" x2="626" y2="125" stroke="#999999" stroke-width="2" marker-end="url(#ah-sm)"/>
<rect x="30" y="245" width="740" height="100" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="400" y="267" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Detalles técnicos clave</text>
<text x="120" y="293" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Alineación de la escena</text>
<text x="120" y="311" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Coincidencia de cámara sim/real</text>
<text x="120" y="327" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Coincidencia precisa</text>
<text x="300" y="293" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Aleatorización visual</text>
<text x="300" y="311" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Fondo + textura</text>
<text x="300" y="327" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Superando la brecha visual</text>
<text x="480" y="293" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Aleatorización de la física</text>
<text x="480" y="311" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Fricción/masa/rigidez</text>
<text x="480" y="327" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Superando la brecha física</text>
<text x="660" y="293" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Eficiencia de entrenamiento</text>
<text x="660" y="311" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">1024 entornos paralelos</text>
<text x="660" y="327" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">~1h para alcanzar &gt;90%</text>
<rect x="30" y="360" width="740" height="95" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="400" y="380" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Stack tecnológico LeRobot + ManiSkill</text>
<text x="142" y="405" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">simulador</text>
<text x="142" y="424" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">ManiSkill</text>
<text x="142" y="440" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Renderizado en paralelo por GPU</text>
<text x="317" y="405" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">marco de entrenamiento</text>
<text x="317" y="424" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">LeRobot + PPO</text>
<text x="317" y="440" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">entrada RGB pura</text>
<text x="492" y="405" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">brazo robótico</text>
<text x="492" y="424" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">SO100</text>
<text x="492" y="440" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">6-DOF</text>
<text x="660" y="405" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">limitaciones</text>
<text x="660" y="424" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">objetos fuera de la distribución de entrenamiento</text>
<text x="660" y="440" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">la tasa de éxito disminuye significativamente</text>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

+50
View File
@@ -0,0 +1,50 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 540" width="880" height="540" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<text x="315.0" y="55" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">t₁</text>
<text x="490.0" y="55" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">t₂</text>
<text x="665.0" y="55" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">t₃</text>
<rect x="130" y="80" width="720" height="140" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="65.0" y="150" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Cancelación</text>
<text x="65.0" y="175" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">(Urgente)</text>
<rect x="140.0" y="95" width="280.0" height="28" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="280.0" y="109.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Razonamiento LLM...</text>
<line x1="420.0" y1="90" x2="420.0" y2="210" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="420.0" y="90" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">⚡ user.interrupt: &quot;¡Detener!&quot;</text>
<rect x="420.0" y="95" width="35.0" height="28" rx="4" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="437.5" y="109.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">×</text>
<rect x="140.0" y="135" width="245.0" height="28" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="262.5" y="149.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ejecutando herramienta...</text>
<rect x="420.0" y="135" width="35.0" height="28" rx="4" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="437.5" y="149.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">×</text>
<rect x="469.0" y="175" width="371.0" height="28" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="654.5" y="189.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Nuevo razonamiento LLM (evento interrupción + cola limpia)</text>
<rect x="130" y="240" width="720" height="140" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="65.0" y="310" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">En encolamiento</text>
<text x="65.0" y="335" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">(Normal)</text>
<rect x="140.0" y="255" width="105.0" height="24" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="192.5" y="267.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">LLM</text>
<rect x="266.0" y="255" width="294.0" height="28" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="413.0" y="269.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ejecución herramienta (search_web)</text>
<rect x="581.0" y="255" width="189.0" height="28" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="675.5" y="269.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Procesamiento exhaustivo LLM</text>
<line x1="385.0" y1="286" x2="385.0" y2="370" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="385.0" y="298" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">user: &quot;Solo mirar último mes&quot;</text>
<rect x="350.0" y="305" width="150" height="24" rx="12" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="425.0" y="317.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Encolado, esperando</text>
<rect x="581.0" y="340" width="35.0" height="20" rx="4" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="598.5" y="350.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<text x="567.0" y="350" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">Inyección por lotes: tool.result + entrada usuario</text>
<rect x="130" y="400" width="720" height="140" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="65.0" y="470" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Paralelo</text>
<text x="65.0" y="495" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">(Independiente)</text>
<rect x="140.0" y="415" width="560.0" height="28" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="420.0" y="429.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Tarea principal: Análisis de datos (ejecución larga)</text>
<line x1="350.0" y1="450" x2="350.0" y2="530" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="350.0" y="458" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">user: &quot;¿Clima hoy?&quot;</text>
<rect x="364.0" y="470" width="126.0" height="24" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="427.0" y="482.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">LLM paralelo</text>
<rect x="504.0" y="470" width="70.0" height="24" rx="4" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="539.0" y="482.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">Clima</text>
<text x="584.5" y="482" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">→ Responder al usuario de inmediato</text>
<text x="490.0" y="515" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Etiqueta: [En paralelo con tarea principal]</text>
</svg>

After

Width:  |  Height:  |  Size: 9.2 KiB

+75
View File
@@ -0,0 +1,75 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 440" width="880" height="440" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<text x="85" y="65" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fuente de eventos externa</text>
<rect x="10" y="82" width="150" height="44" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="85" y="98" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Web/App</text>
<text x="15" y="118" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">on_user_message</text>
<rect x="10" y="140" width="150" height="44" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="85" y="156" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Sistema de email</text>
<text x="15" y="176" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">on_email_reply</text>
<rect x="10" y="198" width="150" height="44" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="85" y="214" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">GitHub</text>
<text x="15" y="234" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">on_github_pr_update</text>
<rect x="10" y="256" width="150" height="44" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="85" y="272" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Temporizador</text>
<text x="15" y="292" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">on_timer_expire</text>
<rect x="10" y="314" width="150" height="44" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="85" y="330" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Webhook</text>
<text x="15" y="350" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">on_webhook_received</text>
<rect x="10" y="372" width="150" height="44" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="85" y="388" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Alerta de sistema</text>
<text x="15" y="408" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">on_resource_alert</text>
<rect x="200" y="80" width="200" height="390" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="300" y="100" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Servidor FastAPI</text>
<rect x="215" y="120" width="170" height="50" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="300" y="137" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Endpoint HTTP</text>
<text x="300" y="157" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">POST /events/{type}</text>
<rect x="215" y="190" width="170" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="300" y="207" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Enrutador de eventos</text>
<text x="300" y="227" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">LLM determina urgencia</text>
<rect x="215" y="260" width="170" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="300" y="277" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Cola de eventos</text>
<text x="300" y="297" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Orden por prioridad</text>
<rect x="215" y="330" width="170" height="50" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="300" y="347" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Bucle del Agente</text>
<text x="300" y="367" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Obtener → Razonar → Ejecutar</text>
<rect x="215" y="400" width="170" height="50" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="300" y="417" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Gestión de sesiones</text>
<text x="300" y="437" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Contexto multihilo</text>
<line x1="300" y1="170" x2="300" y2="190" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="300" y1="240" x2="300" y2="260" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="300" y1="310" x2="300" y2="330" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="300" y1="380" x2="300" y2="400" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="160" y1="104" x2="213" y2="145" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="160" y1="162" x2="213" y2="145" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="160" y1="220" x2="213" y2="145" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="160" y1="278" x2="213" y2="145" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="160" y1="336" x2="213" y2="145" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="160" y1="394" x2="213" y2="145" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="610" y="65" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Servidor de herramientas MCP</text>
<rect x="460" y="82" width="250" height="80" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="585" y="104" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Herramientas percepción</text>
<text x="470" y="130" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">search_web, read_file</text>
<text x="470" y="148" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">read_webpage, parse_image</text>
<rect x="460" y="182" width="250" height="80" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="585" y="204" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Herramienta ejecución</text>
<text x="470" y="230" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">code_interpreter</text>
<text x="470" y="248" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">virtual_terminal, write_file</text>
<rect x="460" y="282" width="250" height="80" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="585" y="304" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Herramienta colaboración</text>
<text x="470" y="330" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">browser_use</text>
<text x="470" y="348" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">request_human_approval</text>
<rect x="460" y="382" width="250" height="80" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="585" y="404" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Herramienta notificación</text>
<text x="470" y="430" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">send_email, send_slack</text>
<text x="470" y="448" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">send_im_notification</text>
<line x1="400" y1="355" x2="458" y2="180" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="458" y1="260" x2="400" y2="355" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="740" y="82" width="130" height="380" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="805" y="115" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Capa persistente</text>
<text x="805" y="160" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">historial chat</text>
<text x="805" y="215" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">registro eventos</text>
<text x="805" y="270" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">tarea progr.</text>
<text x="805" y="325" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">est. herram.</text>
<text x="805" y="380" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">trazabilidad</text>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

+53
View File
@@ -0,0 +1,53 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 480" width="880" height="480" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="20" y="55" width="840" height="195" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="60" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Paradigma de entrenamiento (secuencia estrictamente síncrona)</text>
<rect x="680" y="64" width="160" height="28" rx="14" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="760.0" y="78.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">Restricción API</text>
<rect x="47.0" y="100" width="180" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="137.0" y="120" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Observación</text>
<text x="137.0" y="142" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Usuario: Verificar clima en Pekín</text>
<line x1="229.0" y1="128" x2="247.0" y2="128" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="249.0" y="100" width="180" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="339.0" y="120" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Pensamiento</text>
<text x="339.0" y="142" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Se requiere llamar a get_weather</text>
<line x1="431.0" y1="128" x2="449.0" y2="128" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="451.0" y="100" width="180" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="541.0" y="120" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Acción</text>
<text x="541.0" y="142" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">get_weather(Pekín)</text>
<line x1="633.0" y1="128" x2="651.0" y2="128" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="653.0" y="100" width="180" height="55" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="743.0" y="120" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Observación</text>
<text x="743.0" y="142" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">22°C, despejado</text>
<rect x="47.0" y="170" width="786" height="30" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="57.0" y="185" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">tool_call → debe ir seguido inmediatamente de tool_result, o error de API</text>
<line x1="20" y1="262" x2="860" y2="262" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="440.0" y="280" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">Contradicción</text>
<rect x="20" y="295" width="840" height="210" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="60" y="318" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Realidad de despliegue (eventos asíncronos entrelazados)</text>
<rect x="680" y="304" width="160" height="28" rx="14" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="760.0" y="318.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">¡Conflicto de formato!</text>
<rect x="50.0" y="340" width="156.0" height="50" rx="4" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="128.0" y="355" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Asistente</text>
<text x="128.0" y="372" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">tool_call:</text>
<text x="128.0" y="386" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">get_weather(Pekín)</text>
<rect x="221.6" y="340" width="218.4" height="50" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="330.8" y="355" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Esperando...</text>
<text x="330.8" y="372" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ejecución herramienta ~5s</text>
<rect x="362.0" y="340" width="117.00000000000006" height="50" rx="4" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="420.5" y="355" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Usuario interrumpe</text>
<text x="420.5" y="372" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">&quot;No importa, </text>
<text x="420.5" y="386" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">mira Shanghái&quot;</text>
<rect x="494.59999999999997" y="340" width="163.8" height="50" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="576.5" y="355" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">???</text>
<text x="576.5" y="372" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">¿Cuándo llega tool_result? </text>
<text x="576.5" y="386" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">¿Cómo preservar formato?</text>
<rect x="674.0" y="340" width="156.0" height="50" rx="4" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="752.0" y="355" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Marcador</text>
<text x="752.0" y="372" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">[Herramienta ejecutando, </text>
<text x="752.0" y="386" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">prioridad a interrupción]</text>
<rect x="50" y="410" width="780" height="40" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="60" y="430" font-family="'Courier New', Courier, monospace" font-size="13" fill="#333333" text-anchor="start" dominant-baseline="central">Solución: preservar formato con marcadores + encolar no urgentes + interrumpir solo si es urgente</text>
<rect x="140" y="465" width="600" height="40" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="440.0" y="485" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Solución de fondo: los modelos futuros deben entrenarse con RL en entornos asíncronos</text>
</svg>

After

Width:  |  Height:  |  Size: 9.8 KiB

+39
View File
@@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 480" width="880" height="480" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<text x="55" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente</text>
<line x1="120" y1="80" x2="860" y2="80" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="55" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Herramienta A</text>
<line x1="120" y1="180" x2="860" y2="180" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="55" y="260" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Herramienta B</text>
<line x1="120" y1="260" x2="860" y2="260" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="55" y="340" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Herramienta C</text>
<line x1="120" y1="340" x2="860" y2="340" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="55" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Trayectoria</text>
<line x1="120" y1="420" x2="860" y2="420" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<rect x="120.0" y="69.0" width="88.80000000000001" height="22" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="164.4" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">LLM: Iniciar 3 herramientas</text>
<rect x="216.2" y="169.0" width="236.8" height="22" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="334.6" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Script A: 3%/s → completa en 33s</text>
<rect x="216.2" y="249.0" width="421.8" height="22" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="427.1" y="260" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Script B: 2%/s → 50s...</text>
<rect x="216.2" y="329.0" width="569.8" height="22" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="501.1" y="340" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Script C: 1%/s → 100s...</text>
<line x1="453.0" y1="70" x2="453.0" y2="450" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="453.0" y="62" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">A completado</text>
<rect x="460.40000000000003" y="69.0" width="88.80000000000001" height="22" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="504.80000000000007" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Consultar avance B, C</text>
<rect x="460.40000000000003" y="409.0" width="88.80000000000001" height="22" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="504.80000000000007" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">B≈66% C≈33%</text>
<line x1="564.0" y1="70" x2="564.0" y2="450" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="564.0" y="62" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">Cancelar C</text>
<rect x="564.0" y="329.0" width="37.0" height="22" rx="3" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="582.5" y="340" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="normal">×</text>
<line x1="638.0" y1="70" x2="638.0" y2="450" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="638.0" y="62" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">B completado</text>
<rect x="652.8" y="69.0" width="170.20000000000005" height="22" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="737.9" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">LLM: Combinar res. A+B y generar informe</text>
<rect x="652.8" y="409.0" width="170.20000000000005" height="22" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="737.9" y="420" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Res. A + Res. B + Reg. cancelación C</text>
<rect x="120" y="460" width="740" height="40" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="130" y="480" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">Clave: inyección marcadores + evento finalización async + API cancel_tool(task_id)</text>
</svg>

After

Width:  |  Height:  |  Size: 6.7 KiB

+41
View File
@@ -0,0 +1,41 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 300" width="780" height="300" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="47" y="60" width="155" height="140" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="124" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">VAD</text>
<text x="124" y="104" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Detección de actividad de voz</text>
<rect x="62" y="122" width="125" height="28" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="124" y="136" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">500-800ms</text>
<text x="124" y="162" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Silero VAD</text>
<text x="124" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">ONNX Runtime</text>
<rect x="224" y="60" width="155" height="140" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="301" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">ASR</text>
<text x="301" y="104" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Reconocimiento automático del habla</text>
<rect x="239" y="122" width="125" height="28" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="301" y="136" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">50-200ms</text>
<text x="301" y="162" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Whisper</text>
<text x="301" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">SenseVoice</text>
<line x1="204" y1="130" x2="222" y2="130" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="401" y="60" width="155" height="140" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="478" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">LLM</text>
<text x="478" y="104" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Inferencia del modelo de lenguaje</text>
<rect x="416" y="122" width="125" height="28" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="478" y="136" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">100-500ms</text>
<text x="478" y="162" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">GPT-4o</text>
<text x="478" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Doubao Flash</text>
<line x1="381" y1="130" x2="399" y2="130" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="578" y="60" width="155" height="140" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="655" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">TTS</text>
<text x="655" y="104" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Síntesis de voz</text>
<rect x="593" y="122" width="125" height="28" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="655" y="136" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">200-500ms</text>
<text x="655" y="162" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Fish Audio S1</text>
<text x="655" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Síntesis de redes neuronales</text>
<line x1="558" y1="130" x2="576" y2="130" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<g fill="#333333"><rect x="12" y="112" width="10" height="18" rx="5"/><path d="M9,127 a8,8 0 0 0 16,0" fill="none" stroke="#333333" stroke-width="2"/><rect x="16" y="135" width="2" height="7"/><rect x="11" y="142" width="12" height="2"/></g>
<g fill="#333333"><path d="M740,124 h6 l8,-7 v26 l-8,-7 h-6 z"/><path d="M757,120 a10,10 0 0 1 0,20" fill="none" stroke="#333333" stroke-width="2"/><path d="M757,125 a5,5 0 0 1 0,10" fill="none" stroke="#333333" stroke-width="2"/></g>
<rect x="40" y="225" width="700" height="75" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="245" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Bloqueo en serie: cada etapa espera a que la etapa anterior se complete</text>
<text x="390" y="267" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Usuario habla 2-3 segundos → VAD espera → ASR espera → LLM inactivo → desperdicia todos los lapsos de tiempo</text>
<text x="390" y="287" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Stack tecnológico: Node.js WebSocket + AudioWorklet (128 muestras ≈ 2.7 ms) + FFmpeg</text>
</svg>

After

Width:  |  Height:  |  Size: 7.6 KiB

+42
View File
@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 380" width="780" height="380" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<text x="170" y="83" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">Espera de VAD</text>
<rect x="180" y="65" width="166" height="36" rx="3" fill="#e0e0e0" stroke="#333333" stroke-width="2"/>
<rect x="180" y="65" width="104" height="36" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="354" y="83" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">500-800ms</text>
<text x="170" y="127" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">Transcripción ASR</text>
<rect x="284" y="109" width="41" height="36" rx="3" fill="#e0e0e0" stroke="#333333" stroke-width="2"/>
<rect x="284" y="109" width="10" height="36" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="333" y="127" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">50-200ms</text>
<text x="170" y="171" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">TTFT del LLM</text>
<rect x="294" y="153" width="104" height="36" rx="3" fill="#e0e0e0" stroke="#333333" stroke-width="2"/>
<rect x="294" y="153" width="20" height="36" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="406" y="171" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">100-500ms</text>
<text x="170" y="215" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">Generación del LLM</text>
<rect x="315" y="197" width="62" height="36" rx="3" fill="#e0e0e0" stroke="#333333" stroke-width="2"/>
<rect x="315" y="197" width="20" height="36" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="385" y="215" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">100-300ms</text>
<text x="170" y="259" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">Síntesis TTS</text>
<rect x="336" y="241" width="104" height="36" rx="3" fill="#e0e0e0" stroke="#333333" stroke-width="2"/>
<rect x="336" y="241" width="41" height="36" rx="3" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="448" y="259" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">200-500ms</text>
<line x1="180" y1="290" x2="660" y2="290" stroke="#999999" stroke-width="2"/>
<line x1="180" y1="286" x2="180" y2="294" stroke="#999999" stroke-width="2"/>
<text x="180" y="308" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">0ms</text>
<line x1="284" y1="286" x2="284" y2="294" stroke="#999999" stroke-width="2"/>
<text x="284" y="308" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">500ms</text>
<line x1="388" y1="286" x2="388" y2="294" stroke="#999999" stroke-width="2"/>
<text x="388" y="308" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">1000ms</text>
<line x1="493" y1="286" x2="493" y2="294" stroke="#999999" stroke-width="2"/>
<text x="493" y="308" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">1500ms</text>
<line x1="597" y1="286" x2="597" y2="294" stroke="#999999" stroke-width="2"/>
<text x="597" y="308" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">2000ms</text>
<rect x="40" y="330" width="700" height="80" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="350" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Tiempo de respuesta total</text>
<rect x="60" y="368" width="200" height="28" rx="3" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="160" y="382" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Mejor: 950 ms ≈ 0.9 s</text>
<rect x="280" y="368" width="200" height="28" rx="3" fill="#e0e0e0" stroke="#333333" stroke-width="2"/>
<text x="380" y="382" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Peor: 2300ms ≈ 2.3s</text>
<text x="580" y="382" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">← Escenario ideal sin carga</text>
</svg>

After

Width:  |  Height:  |  Size: 6.6 KiB

+52
View File
@@ -0,0 +1,52 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 360" width="780" height="360" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="120" y="60" width="520" height="250" rx="0" fill="#ffffff" stroke="#333333" stroke-width="2"/>
<line x1="120" y1="310" x2="640" y2="310" stroke="#333333" stroke-width="2"/>
<line x1="120" y1="60" x2="120" y2="310" stroke="#333333" stroke-width="2"/>
<text x="380" y="345" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Utilización ρ</text>
<text x="95" y="185" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold" transform="rotate(-90 95 185)">Latencia total (s)</text>
<path d="M 146.0,288.0701754385965 L 156.4,287.59856630824373 L 166.8,287.1062271062271 L 177.2,286.5917602996255 L 187.60000000000002,286.0536398467433 L 198.0,285.4901960784314 L 208.4,284.8995983935743 L 218.8,284.2798353909465 L 229.2,283.62869198312234 L 239.60000000000002,282.94372294372295 L 250.0,282.22222222222223 L 260.4,281.46118721461187 L 270.79999999999995,280.65727699530515 L 281.2,279.80676328502415 L 291.6,278.90547263681594 L 302.0,277.94871794871796 L 312.4,276.9312169312169 L 322.8,275.8469945355191 L 333.2,274.68926553672316 L 343.6,273.4502923976608 L 354.0,272.1212121212121 L 364.4,270.69182389937106 L 374.79999999999995,269.1503267973856 L 385.2,267.4829931972789 L 395.6,265.6737588652482 L 406.0,263.7037037037037 L 416.4,261.5503875968992 L 426.8,259.1869918699187 L 437.2,256.5811965811966 L 447.6,253.6936936936937 L 458.0,250.47619047619048 L 468.40000000000003,246.86868686868686 L 478.79999999999995,242.7956989247312 L 489.2,238.16091954022988 L 499.59999999999997,232.8395061728395 L 510.0,226.66666666666669 L 520.4000000000001,219.42028985507247 L 530.8,210.79365079365078 L 541.2,200.35087719298244 L 551.5999999999999,187.4509803921569 L 562.0,171.11111111111114 L 572.4,149.74358974358975 L 582.8,120.60606060606057 L 593.2,78.51851851851845 L 603.6,60.0 L 614.0,60.0" fill="none" stroke="#333333" stroke-width="3"/>
<line x1="120" y1="310" x2="120" y2="315" stroke="#333333" stroke-width="2"/>
<text x="120" y="328" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">0.0</text>
<line x1="224.0" y1="310" x2="224.0" y2="315" stroke="#333333" stroke-width="2"/>
<text x="224.0" y="328" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">0.2</text>
<line x1="328.0" y1="310" x2="328.0" y2="315" stroke="#333333" stroke-width="2"/>
<text x="328.0" y="328" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">0.4</text>
<line x1="432.0" y1="310" x2="432.0" y2="315" stroke="#333333" stroke-width="2"/>
<text x="432.0" y="328" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">0.6</text>
<line x1="536.0" y1="310" x2="536.0" y2="315" stroke="#333333" stroke-width="2"/>
<text x="536.0" y="328" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">0.8</text>
<line x1="640.0" y1="310" x2="640.0" y2="315" stroke="#333333" stroke-width="2"/>
<text x="640.0" y="328" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">1.0</text>
<line x1="115" y1="310.0" x2="120" y2="310.0" stroke="#333333" stroke-width="2"/>
<text x="110" y="310.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">0</text>
<line x1="115" y1="268.3333333333333" x2="120" y2="268.3333333333333" stroke="#333333" stroke-width="2"/>
<text x="110" y="268.3333333333333" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">2</text>
<line x1="120" y1="268.3333333333333" x2="640" y2="268.3333333333333" stroke="#e0e0e0" stroke-width="2" stroke-dasharray="8,4"/>
<line x1="115" y1="226.66666666666669" x2="120" y2="226.66666666666669" stroke="#333333" stroke-width="2"/>
<text x="110" y="226.66666666666669" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">4</text>
<line x1="120" y1="226.66666666666669" x2="640" y2="226.66666666666669" stroke="#e0e0e0" stroke-width="2" stroke-dasharray="8,4"/>
<line x1="115" y1="185.0" x2="120" y2="185.0" stroke="#333333" stroke-width="2"/>
<text x="110" y="185.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">6</text>
<line x1="120" y1="185.0" x2="640" y2="185.0" stroke="#e0e0e0" stroke-width="2" stroke-dasharray="8,4"/>
<line x1="115" y1="143.33333333333334" x2="120" y2="143.33333333333334" stroke="#333333" stroke-width="2"/>
<text x="110" y="143.33333333333334" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">8</text>
<line x1="120" y1="143.33333333333334" x2="640" y2="143.33333333333334" stroke="#e0e0e0" stroke-width="2" stroke-dasharray="8,4"/>
<line x1="115" y1="101.66666666666666" x2="120" y2="101.66666666666666" stroke="#333333" stroke-width="2"/>
<text x="110" y="101.66666666666666" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">10</text>
<line x1="120" y1="101.66666666666666" x2="640" y2="101.66666666666666" stroke="#e0e0e0" stroke-width="2" stroke-dasharray="8,4"/>
<line x1="115" y1="60.0" x2="120" y2="60.0" stroke="#333333" stroke-width="2"/>
<text x="110" y="60.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="end" dominant-baseline="central" font-weight="normal">12</text>
<line x1="120" y1="60.0" x2="640" y2="60.0" stroke="#e0e0e0" stroke-width="2" stroke-dasharray="8,4"/>
<circle cx="380.0" cy="268.3333333333333" r="5" fill="#333333" stroke="#333333" stroke-width="2"/>
<text x="395.0" y="253.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">ρ=0.5 → 2s</text>
<text x="395.0" y="272.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Límite de tolerancia del usuario</text>
<circle cx="536.0" cy="205.83333333333331" r="5" fill="#666666" stroke="#333333" stroke-width="2"/>
<text x="550.0" y="193.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">ρ=0.8 → 5s</text>
<text x="550.0" y="212.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="bold">Inaceptable</text>
<circle cx="614.0" cy="60.0" r="5" fill="#333333" stroke="#333333" stroke-width="2"/>
<text x="600" y="75.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="end" dominant-baseline="central" font-weight="bold">ρ→1 → ∞</text>
<text x="390" y="360" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Latencia total = S/(1−ρ) Latencia en reposo S=1s</text>
<text x="390" y="382" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">En producción, ρ es típicamente 0.5-0.8 → la latencia real es 2-5× la latencia en reposo</text>
</svg>

After

Width:  |  Height:  |  Size: 9.3 KiB

+60
View File
@@ -0,0 +1,60 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 780 480" width="780" height="480" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="32" y="58" width="170" height="195" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="117" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">OpenAI Realtime</text>
<rect x="42" y="94" width="150" height="24" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="117" y="106" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">gpt-realtime</text>
<text x="117" y="136" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">VAD en el lado del servidor + detección de turno</text>
<text x="117" y="158" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Llamada a función asíncrona</text>
<text x="117" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Interrupción: detener la generación actual</text>
<text x="117" y="200" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Esencialmente aún bajo el marco VAD</text>
<text x="117" y="222" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#999999" text-anchor="middle" dominant-baseline="central" font-weight="normal">Vista previa de 2024 basada en GPT-4o</text>
<rect x="214" y="58" width="170" height="195" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="299" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Gemini Live</text>
<rect x="224" y="94" width="150" height="24" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="299" y="106" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Gemini 2.0</text>
<text x="299" y="136" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Sensibilidad de VAD configurable</text>
<text x="299" y="158" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">La interrupción conserva la información enviada</text>
<text x="299" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Optimización de la coherencia del diálogo</text>
<text x="299" y="202" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Similar a la estrategia de OpenAI</text>
<rect x="396" y="58" width="170" height="195" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="481" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Qwen3-Omni</text>
<rect x="406" y="94" width="150" height="24" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="481" y="106" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">MoE Pensador-Hablador</text>
<text x="481" y="136" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Pensar (comprender) + Expresar (generar)</text>
<text x="481" y="158" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Codificación de voz con múltiples libros de códigos</text>
<text x="481" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Latencia del primer paquete 234ms</text>
<text x="481" y="202" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">22/36 benchmarks alcanzan SOTA</text>
<rect x="578" y="58" width="170" height="195" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="663" y="80" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Step-Audio 2</text>
<rect x="588" y="94" width="150" height="24" rx="3" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="663" y="106" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Posible codificación de audio + RL</text>
<text x="663" y="136" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Token de voz de extremo a extremo</text>
<text x="663" y="158" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Comprensión paralingüística 83.09%</text>
<text x="663" y="180" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Pensamiento CoT + RAG + herramientas</text>
<text x="663" y="202" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Supera a Qwen2.5-Omni (44.18%)</text>
<rect x="40" y="273" width="700" height="100" rx="4" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="390" y="295" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="19.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Limitación común: aún depende de la detección de turnos</text>
<text x="180" y="321" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Detección de turno insuficiente</text>
<text x="180" y="341" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Pausa ≠ fin del habla</text>
<text x="180" y="357" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Requiere orientación proactiva</text>
<text x="400" y="321" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Juicio de interrupción primitivo</text>
<text x="400" y="341" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Confirmaciones ≠ interrupciones</text>
<text x="400" y="357" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Ruido malinterpretado como voz</text>
<text x="620" y="321" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Causa raíz</text>
<text x="620" y="341" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Solo señales acústicas</text>
<text x="620" y="357" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Pierde el significado semántico</text>
<rect x="40" y="388" width="700" height="120" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="390" y="408" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Comparación de arquitectura de entrada/salida</text>
<text x="60" y="430" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Serie tradicional</text>
<text x="210" y="430" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Audio→VAD→ASR→Texto→LLM→Texto→TTS→Audio</text>
<text x="60" y="445" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">OpenAI/Gemini</text>
<text x="210" y="445" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Audio→Modelo de extremo a extremo (VAD integrado)→Audio/Texto</text>
<text x="60" y="460" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Qwen3-Omni</text>
<text x="210" y="460" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Audio/Imagen/Video→Thinker (MoE)→Talker→Codec de voz</text>
<text x="60" y="475" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Step-Audio 2</text>
<text x="210" y="475" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Audio en bruto→Codificador latente→LLM+RL→Tokens de audio+texto</text>
<text x="60" y="491" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Moshi full-duplex</text>
<text x="210" y="491" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Flujos de audio dobles paralelos + flujo de texto de monólogo interno → No se requiere VAD / detección de turnos</text>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

+19
View File
@@ -0,0 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 820 260" width="820" height="260" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto" markerUnits="userSpaceOnUse"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="44" width="560" height="64" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="310.0" y="64.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Capa 1: Evaluar el entorno</text>
<text x="310.0" y="90.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">"Dónde probar" — Llamada a herramientas / Interacción persona-computadora / Entorno de simulación</text>
<line x1="310.0" y1="109" x2="310.0" y2="121" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="30" y="124" width="560" height="64" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="310.0" y="144.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Capa 2: Métodos de evaluación</text>
<text x="310.0" y="170.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">"Cómo evaluar" — Diseño de dataset · LLM-as-a-Judge · Comparación por pares y ranking</text>
<line x1="310.0" y1="189" x2="310.0" y2="201" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="30" y="204" width="560" height="64" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="310.0" y="224.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Capa 3: Decisiones guiadas por evaluación</text>
<text x="310.0" y="250.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">"Qué hacer tras las pruebas" — Selección de modelo · Optimización de arquitectura · Iteración continua</text>
<rect x="620" y="44" width="170" height="224" rx="6" fill="#f3f0e8" stroke="#333333" stroke-width="2"/>
<text x="705" y="64" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Temas de ingeniería a lo largo del capítulo</text>
<text x="705" y="102" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">• Observabilidad</text>
<text x="705" y="142" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">• Entorno de simulación</text>
<text x="705" y="182" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">• Evaluación interna</text>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

+52
View File
@@ -0,0 +1,52 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 490" width="880" height="490" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="20" y="55" width="400" height="460" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="220" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="17.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Tipo de llamada a herramientas (Verificadores)</text>
<rect x="120" y="95" width="200" height="42" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="220.0" y="116.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente (LLM)</text>
<line x1="220" y1="137" x2="220" y2="168" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="60" y="170" width="320" height="80" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="220" y="192" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Entorno de ejecución de herramientas</text>
<rect x="75" y="200" width="290" height="48" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="85" y="219.0" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">run_python(&quot;def fib(n): ...&quot;)</text>
<text x="85" y="237.0" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">→ {&quot;result&quot;: [1,1,2,3,5,8]}</text>
<line x1="220" y1="250" x2="220" y2="278" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="60" y="280" width="320" height="80" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="220" y="302" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Verificador ejecutable</text>
<rect x="75" y="312" width="290" height="48" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="85" y="331.0" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">assert fib(10) == 55 # PASÓ</text>
<text x="85" y="349.0" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">assert fib(0) == 0 # PASÓ</text>
<line x1="220" y1="360" x2="220" y2="390" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="100" y="392" width="240" height="40" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="220" y="412" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">recompensa = 1.0 (todos superados)</text>
<rect x="80" y="445" width="280" height="30" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="90" y="460" font-family="'Courier New', Courier, monospace" font-size="8.5" fill="#333333" text-anchor="start" dominant-baseline="central">Características: No requiere evaluación humana/LLM</text>
<rect x="460" y="55" width="400" height="460" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="660" y="78" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Tipo de interacción humano-computadora (τ-bench)</text>
<rect x="475" y="95" width="165" height="42" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="557.5" y="116.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Simulador de usuario</text>
<rect x="680" y="95" width="165" height="42" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="762.5" y="116.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente (LLM)</text>
<line x1="640" y1="108" x2="678" y2="108" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="660.0" y="148.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" font-style="italic">&quot;Mi vuelo tiene un problema&quot;</text>
<line x1="680" y1="128" x2="642" y2="128" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="762" y1="137" x2="762" y2="168" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="490" y="170" width="340" height="80" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="660" y="192" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Llamada a herramienta</text>
<rect x="505" y="200" width="310" height="48" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="515" y="219.0" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">lookup_booking(&quot;BK-98712&quot;)</text>
<text x="515" y="237.0" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">→ {&quot;status&quot;:&quot;confirmed&quot;,&quot;flight&quot;:&quot;UA123&quot;}</text>
<line x1="660" y1="250" x2="660" y2="278" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="490" y="280" width="340" height="100" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="660" y="302" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Doble verificación</text>
<rect x="505" y="312" width="310" height="66" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="515" y="331.0" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">① DB: booking.status == &quot;cancelled&quot;</text>
<text x="515" y="349.0" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">② Diálogo: contiene &quot;reembolso de $150&quot;</text>
<text x="515" y="367.0" font-family="'Courier New', Courier, monospace" font-size="8.5" fill="#333333" text-anchor="start" dominant-baseline="central"> contiene &quot;3-5 días hábiles en llegar&quot;</text>
<line x1="660" y1="380" x2="660" y2="406" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="520" y="408" width="280" height="40" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="660" y="428" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">recompensa = 0/1 (ambos superados)</text>
<rect x="500" y="460" width="320" height="30" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="510" y="475" font-family="'Courier New', Courier, monospace" font-size="6.5" fill="#333333" text-anchor="start" dominant-baseline="central">Características: Revelación progresiva de información + verificación de estado</text>
</svg>

After

Width:  |  Height:  |  Size: 8.1 KiB

+68
View File
@@ -0,0 +1,68 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 15 880 545" width="880" height="545" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="20" y="70" width="220" height="230" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="130" y="93" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Simulador de usuario (LLM)</text>
<line x1="30" y1="105" x2="230" y2="105" stroke="#999999" stroke-width="2"/>
<text x="30" y="115" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Información conocida:</text>
<text x="35" y="133" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Nombre: Sarah Johnson</text>
<text x="35" y="151" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Reserva: BK-98712</text>
<text x="30" y="177" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Instrucción de la tarea:</text>
<text x="35" y="195" font-family="'Courier New', Courier, monospace" font-size="7" fill="#333333" text-anchor="start" dominant-baseline="central">"Parece que hay un problema con el vuelo"</text>
<text x="35" y="213" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#333333" text-anchor="start" dominant-baseline="central">→ Revelar detalles gradualmente</text>
<text x="35" y="231" font-family="'Courier New', Courier, monospace" font-size="6" fill="#333333" text-anchor="start" dominant-baseline="central">→ No proporcionar proactivamente el número de reserva</text>
<rect x="300" y="70" width="260" height="230" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="430" y="93" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Agente (A evaluar)</text>
<line x1="310" y1="105" x2="550" y2="105" stroke="#999999" stroke-width="2"/>
<rect x="315" y="115" width="230" height="40" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="430" y="135" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Razonamiento del LLM + Selección de estrategia</text>
<text x="320" y="175" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">① ¿Me permite su número de reserva?</text>
<text x="320" y="197" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">② lookup_booking(BK-98712)</text>
<text x="320" y="219" font-family="'Courier New', Courier, monospace" font-size="11.5" fill="#333333" text-anchor="start" dominant-baseline="central">③ El vuelo UA123 ha sido cancelado</text>
<text x="320" y="241" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">④ cancel_booking(BK-98712)</text>
<text x="320" y="263" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#333333" text-anchor="start" dominant-baseline="central">⑤ Reembolso de $150, 3-5 días hábiles</text>
<rect x="620" y="70" width="240" height="230" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="740" y="93" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Herramientas + Base de datos</text>
<line x1="630" y1="105" x2="850" y2="105" stroke="#999999" stroke-width="2"/>
<text x="635" y="120" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">lookup_booking</text>
<text x="780" y="120" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Consultar detalles de la reserva</text>
<text x="635" y="142" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">modify_booking</text>
<text x="780" y="142" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Modificar estado de la reserva</text>
<text x="635" y="164" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">cancel_booking</text>
<text x="780" y="164" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Cancelar y reembolsar</text>
<text x="635" y="186" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">search_flights</text>
<text x="780" y="186" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Buscar vuelos alternativos</text>
<text x="635" y="208" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">send_notification</text>
<text x="780" y="208" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Enviar notificación de confirmación</text>
<rect x="630" y="240" width="220" height="45" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="640" y="255" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Estado de la DB:</text>
<text x="640" y="273" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">reservas, usuarios, vuelos</text>
<line x1="240" y1="150" x2="298" y2="150" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="269.0" y="140.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle">Diálogo</text>
<line x1="300" y1="180" x2="242" y2="180" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="560" y1="155" x2="618" y2="155" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="589.0" y="145.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle">Llamada a herramienta</text>
<line x1="618" y1="185" x2="560" y2="185" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<path d="M 130,68 Q 435,30 740,68" fill="none" stroke="#666666" stroke-width="2" stroke-dasharray="6,3" marker-end="url(#ah-light)"/>
<text x="435" y="26" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13.5" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">Entorno de control dual: El simulador de usuario también puede operar directamente el entorno compartido (herramientas + base de datos)</text>
<line x1="20" y1="320" x2="860" y2="320" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<text x="440.0" y="345" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Tras completar la tarea: Verificación multicapa</text>
<rect x="40" y="365" width="260" height="170" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="170" y="388" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Verificación del estado de la DB</text>
<line x1="50" y1="400" x2="290" y2="400" stroke="#999999" stroke-width="2"/>
<text x="55" y="420" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">booking.status == 'cancelled'</text>
<text x="55" y="444" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">refund_record EXISTS</text>
<text x="55" y="468" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">refund.amount == 150.00</text>
<rect x="320" y="365" width="260" height="170" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="450" y="388" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Verificación del contenido del diálogo</text>
<line x1="330" y1="400" x2="570" y2="400" stroke="#999999" stroke-width="2"/>
<text x="335" y="420" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Contiene 'reembolso' + monto</text>
<text x="335" y="444" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Contiene 'hora de llegada'</text>
<text x="335" y="468" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">No hay información falsa presente</text>
<rect x="600" y="365" width="260" height="170" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="730" y="388" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="13" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Verificación de cumplimiento del proceso</text>
<line x1="610" y1="400" x2="850" y2="400" stroke="#999999" stroke-width="2"/>
<text x="615" y="420" font-family="'Courier New', Courier, monospace" font-size="7.5" fill="#333333" text-anchor="start" dominant-baseline="central">Obtener confirmación del usuario antes de modificar</text>
<text x="615" y="444" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Sin operaciones no autorizadas</text>
<text x="615" y="468" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">Sin transferencia excesiva al agente humano</text>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

+53
View File
@@ -0,0 +1,53 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 490" width="880" height="490" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="60" width="250" height="150" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="155" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Rúbrica</text>
<line x1="40" y1="94" x2="270" y2="94" stroke="#999999" stroke-width="2"/>
<text x="45" y="115" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Corrección factual: Esencial</text>
<text x="45" y="137" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Coherencia lógica: Importante</text>
<text x="45" y="159" font-family="'Courier New', Courier, monospace" font-size="11" fill="#333333" text-anchor="start" dominant-baseline="central">Detección de alucinaciones: Veto ⚠</text>
<text x="45" y="181" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Exhaustividad: Importante</text>
<rect x="315" y="60" width="250" height="150" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="440" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Respuesta candidata</text>
<line x1="325" y1="94" x2="555" y2="94" stroke="#999999" stroke-width="2"/>
<text x="330" y="115" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Salida del agente:</text>
<text x="330" y="137" font-family="'Courier New', Courier, monospace" font-size="6.5" fill="#333333" text-anchor="start" dominant-baseline="central">&quot;Reembolso procesado, se acreditarán $150 en un plazo de</text>
<text x="330" y="159" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"> 3-5 días hábiles.&quot;</text>
<text x="330" y="181" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"></text>
<rect x="600" y="60" width="250" height="150" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="725" y="82" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Solución de referencia (Opcional)</text>
<line x1="610" y1="94" x2="840" y2="94" stroke="#999999" stroke-width="2"/>
<text x="615" y="115" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">Respuesta estándar / Puntos de evaluación:</text>
<text x="615" y="137" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#333333" text-anchor="start" dominant-baseline="central">Debe incluir el monto del reembolso</text>
<text x="615" y="159" font-family="'Courier New', Courier, monospace" font-size="11.5" fill="#333333" text-anchor="start" dominant-baseline="central">Debe incluir el tiempo de crédito</text>
<text x="615" y="181" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">No se puede prometer una fecha específica</text>
<line x1="155" y1="210" x2="440" y2="240" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="440" y1="210" x2="440" y2="240" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="725" y1="210" x2="440" y2="240" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="280" y="245" width="320" height="50" rx="6" fill="#999999" stroke="#333333" stroke-width="2"/>
<text x="440" y="262" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#ffffff" text-anchor="middle" dominant-baseline="central" font-weight="bold">Modelo juez (GPT-5 / Gemini 2.5)</text>
<text x="440" y="282" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="8" fill="#cccccc" text-anchor="middle" dominant-baseline="central" font-weight="normal">Evaluación heterogénea de múltiples fuentes para evitar el sesgo de la misma fuente</text>
<line x1="440" y1="295" x2="440" y2="325" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="60" y="328" width="760" height="180" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="440" y="350" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Salida de evaluación estructurada</text>
<rect x="75" y="370" width="360" height="125" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="85" y="390" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Corrección factual </text>
<text x="250" y="390" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">4/4</text>
<text x="300" y="390" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Tanto la cantidad como el tiempo son precisos</text>
<text x="85" y="414" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Exhaustividad </text>
<text x="250" y="414" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">3/4</text>
<text x="300" y="414" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="7" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Falta la explicación del método de reembolso</text>
<text x="85" y="438" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Detección de alucinaciones </text>
<text x="250" y="438" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">APROBADO</text>
<text x="300" y="438" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="12" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Sin información falsa</text>
<text x="85" y="462" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Coherencia lógica </text>
<text x="250" y="462" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">4/4</text>
<text x="300" y="462" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Relación causal clara</text>
<rect x="460" y="370" width="345" height="125" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="632" y="390" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Estrategia de agregación de puntuaciones</text>
<text x="475" y="415" font-family="'Courier New', Courier, monospace" font-size="10" fill="#333333" text-anchor="start" dominant-baseline="central">Promedio ponderado: Σ(peso × puntuación de dimensión)</text>
<text x="475" y="437" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Veto: Alucinación=FALLO → puntuación total=0</text>
<text x="475" y="459" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central">Multijuez: mediana de 3 jueces</text>
<text x="475" y="481" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">Marca de caso límite: desacuerdo &gt;2 puntos → revisión humana</text>
</svg>

After

Width:  |  Height:  |  Size: 9.1 KiB

+56
View File
@@ -0,0 +1,56 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 570" width="880" height="570" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="60" width="820" height="165" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="440" y="83" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Batalla anónima en Chatbot Arena</text>
<rect x="60" y="100" width="280" height="110" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="200" y="120" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Modelo A (Anónimo)</text>
<rect x="75" y="135" width="250" height="60" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="85" y="152" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">&quot;Reembolso procesado, llegará en 3-5</text>
<text x="85" y="170" font-family="'Courier New', Courier, monospace" font-size="10.5" fill="#333333" text-anchor="start" dominant-baseline="central"> días hábiles a su cuenta&quot;</text>
<text x="440" y="155" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="24" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">VS</text>
<rect x="540" y="100" width="280" height="110" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="680" y="120" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Modelo B (Anónimo)</text>
<rect x="555" y="135" width="250" height="60" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="565" y="152" font-family="'Courier New', Courier, monospace" font-size="9" fill="#333333" text-anchor="start" dominant-baseline="central">&quot;De acuerdo, se procesará el reembolso&quot;</text>
<text x="565" y="170" font-family="'Courier New', Courier, monospace" font-size="12" fill="#333333" text-anchor="start" dominant-baseline="central"></text>
<line x1="440" y1="180" x2="440" y2="235" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="510" y="210" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">Elección a ciegas del usuario → A es mejor</text>
<rect x="30" y="240" width="820" height="80" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="440" y="262" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Fórmula de actualización de Elo</text>
<text x="60" y="285" font-family="'Courier New', Courier, monospace" font-size="12.5" fill="#333333" text-anchor="start" dominant-baseline="central">Tasa de victorias esperada E_A = 1/(1+10^((R_B-R_A)/400)) | Actualización: R_A' = R_A + K*(1-E_A)</text>
<text x="440" y="345" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Tabla de clasificación en vivo (Ejemplo)</text>
<text x="80" y="373" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Rango</text>
<text x="250" y="373" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Modelo</text>
<text x="480" y="373" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Elo</text>
<text x="660" y="373" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Tasa de victorias vs. #2</text>
<line x1="50" y1="385" x2="830" y2="385" stroke="#999999" stroke-width="2"/>
<text x="80" y="405" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#999999" text-anchor="middle" dominant-baseline="central" font-weight="bold">1</text>
<text x="250" y="405" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#999999" text-anchor="middle" dominant-baseline="central" font-weight="normal">Claude 4 Opus</text>
<text x="480" y="405" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#999999" text-anchor="middle" dominant-baseline="central" font-weight="bold">1352</text>
<text x="660" y="405" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<text x="80" y="427" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#d0d0d0" text-anchor="middle" dominant-baseline="central" font-weight="bold">2</text>
<text x="250" y="427" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#d0d0d0" text-anchor="middle" dominant-baseline="central" font-weight="normal">GPT-5</text>
<text x="480" y="427" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#d0d0d0" text-anchor="middle" dominant-baseline="central" font-weight="bold">1318</text>
<text x="660" y="427" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal"></text>
<text x="80" y="449" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">3</text>
<text x="250" y="449" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Gemini 2.5 Pro</text>
<text x="480" y="449" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">1290</text>
<text x="660" y="449" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">45%</text>
<text x="80" y="471" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">4</text>
<text x="250" y="471" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">DeepSeek R2</text>
<text x="480" y="471" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">1265</text>
<text x="660" y="471" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">42%</text>
<text x="80" y="493" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">5</text>
<text x="250" y="493" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Qwen 3 Max</text>
<text x="480" y="493" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">1230</text>
<text x="660" y="493" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">39%</text>
<text x="80" y="515" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">6</text>
<text x="250" y="515" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="normal">Llama 4 405B</text>
<text x="480" y="515" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">1198</text>
<text x="660" y="515" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">36%</text>
<line x1="50" y1="437" x2="830" y2="437" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<rect x="100" y="545" width="680" height="55" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="440" y="565" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">GRPO: Introducción de comparación por pares en el entrenamiento RL</text>
<text x="440" y="587" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="normal">Conjunto de respuestas candidatas → Normalizar ventaja relativa → Actualización de política (omitir modelo de recompensa explícito)</text>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

+48
View File
@@ -0,0 +1,48 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 660" width="880" height="660" style="background:#ffffff">
<defs><marker id="ah" markerWidth="7" markerHeight="10" refX="7" refY="5" orient="auto" markerUnits="userSpaceOnUse"><polygon points="0 0, 7 5, 0 10" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="30" y="66" width="400" height="552" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="230" y="92" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Árbol de traza de ejecución (tarea única)</text>
<rect x="50" y="108" width="360" height="46" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="230" y="131" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Traza: Consultar el tiempo en Beijing para el usuario mañana (3.2s, $0.008)</text>
<rect x="50" y="164" width="360" height="64" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="68" y="189" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Llamada al LLM: Reconocimiento de intención</text>
<text x="68" y="211" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Claude 4 Sonnet · 0.4s · 320 tokens</text>
<rect x="50" y="238" width="360" height="64" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="68" y="263" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Herramientaget_weather(Beijing)</text>
<text x="68" y="285" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Servidor MCP · 1.8s · 200ms TTFT</text>
<rect x="86" y="312" width="324" height="64" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="104" y="337" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">├─ Solicitud HTTP</text>
<text x="104" y="359" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">api.weather.com · 1.6s</text>
<rect x="86" y="386" width="324" height="64" rx="6" fill="#f5f5f5" stroke="#333333" stroke-width="2"/>
<text x="104" y="411" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">└─ Análisis de respuesta</text>
<text x="104" y="433" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">JSON → Datos meteorológicos estructurados</text>
<rect x="50" y="460" width="360" height="64" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="68" y="485" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Llamada al LLM: Generar respuesta</text>
<text x="68" y="507" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Claude 4 Sonnet · 0.8s · 580 tokens</text>
<rect x="50" y="534" width="360" height="64" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="68" y="559" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central" font-weight="bold">Herramientasend_message(user)</text>
<text x="68" y="581" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">0.2s · Contiene resumen del clima</text>
<line x1="230" y1="154" x2="230" y2="163" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="230" y1="228" x2="230" y2="237" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="248" y1="302" x2="248" y2="311" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="248" y1="376" x2="248" y2="385" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="248" y1="450" x2="248" y2="459" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<line x1="230" y1="524" x2="230" y2="533" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<rect x="470" y="66" width="380" height="552" rx="6" fill="#ffffff" stroke="#333333" stroke-width="2" stroke-dasharray="8,4"/>
<text x="660" y="92" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Panel de monitoreo</text>
<rect x="490" y="116" width="340" height="140" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="660" y="142" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Seguimiento de costos</text>
<text x="510" y="174" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Hoy: $12.30 (1,200 llamadas)</text>
<text x="510" y="198" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Este mes: $340 (34K llamadas)</text>
<text x="510" y="222" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="11.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Anomalía: la tarea#892 buscó en bucle 14 veces, coste $2.1</text>
<rect x="490" y="272" width="340" height="140" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="660" y="298" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Monitoreo de rendimiento</text>
<text x="510" y="330" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Latencia P50 / P95 / P99: 2.1s / 8.4s / 15.2s</text>
<text x="510" y="354" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Tasa de éxito de herramientas: 94.3%</text>
<rect x="490" y="428" width="340" height="140" rx="6" fill="#f0f0f0" stroke="#333333" stroke-width="2"/>
<text x="660" y="454" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">Auditoría de calidad</text>
<text x="510" y="486" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="10.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Tasa de éxito de tareas: 87% Activación de alucinaciones: 2.1%</text>
<text x="510" y="510" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="9.5" fill="#666666" text-anchor="start" dominant-baseline="central" font-weight="normal">Violaciones de seguridad: 0 (este mes) Satisfacción del usuario: 4.3/5</text>
<rect x="30" y="640" width="820" height="46" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="440" y="0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="14" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold"><tspan x="440" dy="654">Bucle cerrado: Datos de traza → Identificar problemas → Pruebas A/B →</tspan><tspan x="440" dy="17">Gestión de versiones de prompts → Optimización continua</tspan></text>
</svg>

After

Width:  |  Height:  |  Size: 9.2 KiB

Some files were not shown because too many files have changed in this diff Show More