<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://traceagent.vercel.app/es/blog</id>
    <title>TraceAgent Blog</title>
    <updated>2026-10-23T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://traceagent.vercel.app/es/blog"/>
    <subtitle>TraceAgent Blog</subtitle>
    <icon>https://traceagent.vercel.app/es/img/logo.png</icon>
    <entry>
        <title type="html"><![CDATA[Traza agentes de Pydantic AI con TraceAgent: hooks u OpenTelemetry]]></title>
        <id>https://traceagent.vercel.app/es/blog/pydantic-ai-and-opentelemetry</id>
        <link href="https://traceagent.vercel.app/es/blog/pydantic-ai-and-opentelemetry"/>
        <updated>2026-10-23T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[TraceAgent ahora es compatible con Pydantic AI mediante una capacidad de una línea y recibe trazas OpenTelemetry GenAI por OTLP/HTTP. Descubre cómo elegir la vía adecuada para tu agente.]]></summary>
        <content type="html"><![CDATA[<p>TraceAgent ahora traza agentes de <strong>Pydantic AI</strong>, y el servidor puede recibir trazas de <strong>OpenTelemetry</strong> directamente. Dos vías, un mismo resultado: una ejecución con cada llamada al modelo, herramienta, recuento de tokens y decisión.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="vía-1-la-capacidad-de-pydantic-ai">Vía 1: la capacidad de Pydantic AI<a href="https://traceagent.vercel.app/es/blog/pydantic-ai-and-opentelemetry#v%C3%ADa-1-la-capacidad-de-pydantic-ai" class="hash-link" aria-label="Enlace directo al Vía 1: la capacidad de Pydantic AI" title="Enlace directo al Vía 1: la capacidad de Pydantic AI" translate="no">​</a></h2>
<p>Añade una línea a tu agente y TraceAgent registra sus llamadas al modelo y sus herramientas, sin bloquear nunca al agente:</p>
<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">from</span><span class="token plain"> pydantic_ai </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> Agent</span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">from</span><span class="token plain"> trace_agent_sdk </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> TraceAgentClient</span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">client </span><span class="token operator">=</span><span class="token plain"> TraceAgentClient</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"http://127.0.0.1:8000"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">run </span><span class="token operator">=</span><span class="token plain"> client</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">start_run</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"weather-agent"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"What is the weather in Madrid?"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">agent </span><span class="token operator">=</span><span class="token plain"> Agent</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"openai:gpt-4o"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    capabilities</span><span class="token operator">=</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">run</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">as_pydantic_ai_capability</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain">  </span><span class="token comment" style="color:rgb(98, 114, 164)"># la línea de TraceAgent</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">result </span><span class="token operator">=</span><span class="token plain"> agent</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">run_sync</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"What is the weather in Madrid?"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">run</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">finish</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">result</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">output</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></div></code></pre></div></div>
<p>Tú eliges el nombre y el objetivo de la ejecución, y puedes ocultar los campos sensibles. Lee la <a class="" href="https://traceagent.vercel.app/es/docs/instrumentation/pydantic-ai">guía de integración con Pydantic AI</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="vía-2-opentelemetry-sin-código-de-traceagent-en-el-agente">Vía 2: OpenTelemetry, sin código de TraceAgent en el agente<a href="https://traceagent.vercel.app/es/blog/pydantic-ai-and-opentelemetry#v%C3%ADa-2-opentelemetry-sin-c%C3%B3digo-de-traceagent-en-el-agente" class="hash-link" aria-label="Enlace directo al Vía 2: OpenTelemetry, sin código de TraceAgent en el agente" title="Enlace directo al Vía 2: OpenTelemetry, sin código de TraceAgent en el agente" translate="no">​</a></h2>
<p>El servidor de TraceAgent es un receptor OTLP/HTTP en <code>POST /v1/traces</code>. Si tu agente ya emite trazas OpenTelemetry que siguen las convenciones GenAI, apunta el exportador al servidor:</p>
<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">from</span><span class="token plain"> opentelemetry</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">exporter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">otlp</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">proto</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">http</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">trace_exporter </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> OTLPSpanExporter</span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">from</span><span class="token plain"> opentelemetry</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">sdk</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">trace </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> TracerProvider</span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">from</span><span class="token plain"> opentelemetry</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">sdk</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">trace</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">export </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">import</span><span class="token plain"> BatchSpanProcessor</span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">provider </span><span class="token operator">=</span><span class="token plain"> TracerProvider</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">provider</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">add_span_processor</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    BatchSpanProcessor</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">OTLPSpanExporter</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">endpoint</span><span class="token operator">=</span><span class="token string" style="color:rgb(255, 121, 198)">"http://127.0.0.1:8000/v1/traces"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></div></code></pre></div></div>
<p>El servidor convierte cada traza en una ejecución. Lee la <a class="" href="https://traceagent.vercel.app/es/docs/instrumentation/opentelemetry">guía de ingesta OpenTelemetry</a> y recuerda llamar a <code>provider.shutdown()</code> en los scripts cortos para que no se pierda ningún span.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="cuál-debería-usar">¿Cuál debería usar?<a href="https://traceagent.vercel.app/es/blog/pydantic-ai-and-opentelemetry#cu%C3%A1l-deber%C3%ADa-usar" class="hash-link" aria-label="Enlace directo al ¿Cuál debería usar?" title="Enlace directo al ¿Cuál debería usar?" translate="no">​</a></h2>
<p>Usa <strong>una sola vía por agente</strong>: si usas las dos, la ejecución se registra dos veces.</p>
<ul>
<li class="">¿Ya usas OpenTelemetry, o no puedes tocar el código del agente? Usa OpenTelemetry.</li>
<li class="">¿Quieres un control fino de lo que se registra, o no tienes OpenTelemetry en tu stack? Usa la capacidad.</li>
</ul>
<p>La comparación completa está en <a class="" href="https://traceagent.vercel.app/es/docs/instrumentation/hooks-vs-opentelemetry">¿Hooks u OpenTelemetry?</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="también-en-esta-versión">También en esta versión<a href="https://traceagent.vercel.app/es/blog/pydantic-ai-and-opentelemetry#tambi%C3%A9n-en-esta-versi%C3%B3n" class="hash-link" aria-label="Enlace directo al También en esta versión" title="Enlace directo al También en esta versión" translate="no">​</a></h2>
<ul>
<li class="">Las ejecuciones muestran su proveedor, su modelo y los totales de tokens en cada integración con frameworks, y la vista de comparación también cuenta esos tokens.</li>
<li class="">La línea de tiempo es jerárquica: las llamadas al modelo y las herramientas aparecen bajo el paso del agente que las ejecutó.</li>
<li class="">Un inspector legible para eventos y decisiones, con los detalles técnicos plegados.</li>
<li class="">LangChain: cada herramienta se registra ahora una sola vez, con su nombre real.</li>
</ul>
<p>Consulta el <a class="" href="https://traceagent.vercel.app/es/docs/changelog">registro de cambios</a> para ver la lista completa, y <a class="" href="https://traceagent.vercel.app/es/docs/getting-started/installation">empieza aquí</a> para probarlo.</p>]]></content>
        <author>
            <name>Equipo de TraceAgent</name>
            <uri>https://github.com/LixusSoftware</uri>
        </author>
        <category label="Lanzamiento" term="Lanzamiento"/>
        <category label="Tutorial" term="Tutorial"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Te damos la bienvenida a TraceAgent]]></title>
        <id>https://traceagent.vercel.app/es/blog/welcome</id>
        <link href="https://traceagent.vercel.app/es/blog/welcome"/>
        <updated>2026-05-03T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Presentamos TraceAgent, la plataforma de observabilidad de código abierto para agentes de IA.]]></summary>
        <content type="html"><![CDATA[<p>Estamos encantados de presentar <strong>TraceAgent</strong>, una plataforma de observabilidad y trazabilidad de código abierto creada específicamente para agentes de IA.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="por-qué-lo-creamos">Por qué lo creamos<a href="https://traceagent.vercel.app/es/blog/welcome#por-qu%C3%A9-lo-creamos" class="hash-link" aria-label="Enlace directo al Por qué lo creamos" title="Enlace directo al Por qué lo creamos" translate="no">​</a></h2>
<p>Las herramientas de observabilidad tradicionales se diseñaron para microservicios y aplicaciones web. Entienden las peticiones HTTP, las consultas a bases de datos y los mensajes de las colas. Pero no entienden qué significa que un agente de IA:</p>
<ul>
<li class=""><strong>Llame a una herramienta</strong> y decida qué hacer con el resultado</li>
<li class=""><strong>Escriba un archivo</strong> y luego lo lea de nuevo para verificarlo</li>
<li class=""><strong>Reintente un comando fallido</strong> con otra estrategia</li>
<li class=""><strong>Encadene varias decisiones</strong> a lo largo de un flujo de planificación complejo</li>
</ul>
<p>TraceAgent cubre ese hueco con una <strong>especificación de trazabilidad pensada para agentes</strong> y una interfaz de visualización hecha a medida.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="qué-puedes-hacer-hoy">Qué puedes hacer hoy<a href="https://traceagent.vercel.app/es/blog/welcome#qu%C3%A9-puedes-hacer-hoy" class="hash-link" aria-label="Enlace directo al Qué puedes hacer hoy" title="Enlace directo al Qué puedes hacer hoy" translate="no">​</a></h2>
<ul>
<li class="">📦 <strong>Instala el SDK</strong> y empieza a trazar en minutos</li>
<li class="">🔗 <strong>Conecta agentes de LangChain</strong> con un único callback</li>
<li class="">📊 <strong>Visualiza la ejecución</strong> con líneas de tiempo interactivas</li>
<li class="">🏠 <strong>Autoaloja todo</strong>: control total de tus datos</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="primeros-pasos">Primeros pasos<a href="https://traceagent.vercel.app/es/blog/welcome#primeros-pasos" class="hash-link" aria-label="Enlace directo al Primeros pasos" title="Enlace directo al Primeros pasos" translate="no">​</a></h2>
<p>La forma más rápida de empezar:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token plain">pip </span><span class="token function" style="color:rgb(80, 250, 123)">install</span><span class="token plain"> trace-agent-sdk</span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># o, con uv</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">uv </span><span class="token function" style="color:rgb(80, 250, 123)">add</span><span class="token plain"> trace-agent-sdk</span><br></div></code></pre></div></div>
<p>Después ve a nuestra <a class="" href="https://traceagent.vercel.app/es/docs/getting-started/quick-start">guía de inicio rápido</a> para crear tu primera traza en menos de 5 minutos.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="qué-viene-después">Qué viene después<a href="https://traceagent.vercel.app/es/blog/welcome#qu%C3%A9-viene-despu%C3%A9s" class="hash-link" aria-label="Enlace directo al Qué viene después" title="Enlace directo al Qué viene después" translate="no">​</a></h2>
<p>Estamos trabajando activamente en:</p>
<ul>
<li class="">Una visualización de la línea de tiempo mejorada</li>
<li class="">Más integraciones con frameworks</li>
<li class="">Plugins y extensiones de la comunidad</li>
<li class="">Paneles de rendimiento</li>
</ul>
<p>Danos una estrella en <a href="https://github.com/LixusSoftware/TraceAgent" target="_blank" rel="noopener noreferrer" class="">GitHub</a> y sigue las novedades.</p>
<hr>
<p><strong>Actualización, octubre de 2026:</strong> TraceAgent ahora también es compatible con Pydantic AI y OpenTelemetry. Lee <a class="" href="https://traceagent.vercel.app/es/blog/pydantic-ai-and-opentelemetry">Traza agentes de Pydantic AI con TraceAgent: hooks u OpenTelemetry</a>.</p>]]></content>
        <author>
            <name>Equipo de TraceAgent</name>
            <uri>https://github.com/LixusSoftware</uri>
        </author>
        <category label="Lanzamiento" term="Lanzamiento"/>
        <category label="Comunidad" term="Comunidad"/>
    </entry>
</feed>