Saltar al contenido

Empezar

Synaptum es un framework de agentes con un runtime durable. Agnóstico al proveedor, cero dependencias, y con una idea central: el bucle de un agente no es un while escondido, es un generador asíncrono que cede el control en cada frontera significativa.

pip install synaptum

Un agente completo

import asyncio
from typing import Annotated
from synaptum import Agent, FinalStep, Session, tool

@tool
async def contar_lineas(fichero: Annotated[str, "Ruta del fichero"]) -> str:
    """Cuenta las líneas de un fichero."""
    return f"{fichero}: {len(open(fichero).read().splitlines())} líneas"

async def main():
    agente = Agent(
        "explorador",
        model="openai-compatible:gpt-oss-20b",
        instructions="Respondes usando las herramientas. Sé breve.",
        tools=[contar_lineas],
    )
    async for paso in agente.run("¿Cuántas líneas tiene README.md?", session=sesion):
        if isinstance(paso, FinalStep):
            print(paso.output)

asyncio.run(main())

Falta sesion, y es lo primero que hay que entender: Conceptos.

Las páginas

Conceptos Agent, Session, gateway, checkpointer, pasos y fases
Herramientas @tool, riesgo, idempotencia, errores, MCP
Durabilidad El journal, reanudar sin volver a pagar, aprobaciones
Modelos Proveedores, transporte, Usage de tres estados, streaming
Varios agentes Cadena, paralelo, agente como herramienta
Probar Construir agentes sin gastar en inferencia
Qué no hace Los límites, dichos en voz alta
Referencia Cada símbolo público, generado del código
Ejemplos Dieciséis ficheros que se ejecutan, generados de examples/

Empezar un proyecto

cp -r plantilla mi-agente && cd mi-agente && uv sync && uv run python -m mi_agente

Corre sin configurar nada, y trae los tests que enseñan a probar un agente sin gastar en inferencia.

Ejecutar los ejemplos

Dieciséis, y están aquí dentro: doce que van del agente más simple a delegar en uno que vive en otro contenedor, y cuatro que enseñan qué garantiza el runtime debajo. Corren sin configurar nada — las respuestas van guionizadas y todo lo demás es real.

uv run python examples/agentes/01_triaje.py

Para apuntar a un modelo de verdad, dos variables y el mismo fichero sin tocar. Ver Modelos.

Esta documentación, en dos formatos

El Markdown de docs/ es la fuente; el HTML de docs/html/ se genera. Un agente lee una página .md sin navegación que estorbe; una persona lee el .html, que sí la necesita.

uv run python scripts/render_docs.py

El sitio se publica solo en cada cambio de docs/. Un test falla si el HTML del repositorio deja de corresponder al Markdown. Escribir los dos a mano garantiza que diverjan, y el que diverge siempre es el que nadie mira.