Generador de plantillas de arnés de agente

Genera código de inicio para un agente de IA (mensaje del sistema, esquema de la herramienta y bucle de llamada a la herramienta) para Anthropic u OpenAI, en Python o TypeScript. No es necesario registrarse.

agent.py
"""My Agent -- generated by Aizvi's Agent Harness Boilerplate Generator."""
import anthropic

client = anthropic.Anthropic()  # reads ANTHROPIC_API_KEY from the environment

SYSTEM_PROMPT = "Eres un asistente útil y preciso. Usa las herramientas disponibles cuando te ayuden a responder la pregunta del usuario y proporciona una respuesta final clara una vez que tengas la información necesaria."

# TODO: set MODEL to whichever Claude model you want to use
MODEL = "claude-3-5-sonnet-latest"

TOOLS = [
    {
        "name": "get_weather",
        "description": "Obtén información meteorológica actual para una ubicación determinada.",
        "input_schema": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "La ciudad y el estado, por ejemplo, San Francisco, California."
                }
            },
            "required": [
                "location"
            ]
        }
    }
]


def execute_tool(name: str, tool_input: dict) -> str:
    if name == "get_weather":
        # TODO: implement get_weather
        raise NotImplementedError(f"Tool '{name}' is not implemented yet")
    raise ValueError(f"Unknown tool: {name}")


def run_agent(user_message: str, max_iterations: int = 6) -> str:
    messages = [{"role": "user", "content": user_message}]

    for _ in range(max_iterations):
        response = client.messages.create(
            model=MODEL,
            max_tokens=1024,
            system=SYSTEM_PROMPT,
            tools=TOOLS,
            messages=messages,
        )

        messages.append({"role": "assistant", "content": response.content})

        if response.stop_reason != "tool_use":
            return "".join(block.text for block in response.content if block.type == "text")

        tool_results = []
        for block in response.content:
            if block.type == "tool_use":
                result = execute_tool(block.name, block.input)
                tool_results.append({
                    "type": "tool_result",
                    "tool_use_id": block.id,
                    "content": result,
                })

        messages.append({"role": "user", "content": tool_results})

    return "Max iterations reached without a final answer."


if __name__ == "__main__":
    print(run_agent("Hello! What can you help me with?"))

¿Qué es un arnés de agente de IA?

Un arnés de agente es el código base que rodea una llamada LLM sin procesar y la convierte en un agente funcional: el bucle que envía mensajes, verifica la respuesta para detectar llamadas a herramientas, las ejecuta y retroalimenta los resultados hasta que el modelo produce una respuesta final. Este generador crea ese bucle automáticamente, junto con el mensaje del sistema y el esquema de la herramienta, para que pueda concentrarse en implementar sus herramientas en lugar de en la infraestructura subyacente.

Preguntas frecuentes

¿Qué es un arnés de agente de IA?

Un arnés de agente es el código de andamiaje que rodea una llamada LLM sin procesar y la convierte en un agente funcional: el bucle que envía mensajes, comprueba las llamadas a herramientas, las ejecuta y retroalimenta los resultados hasta que el modelo produce una respuesta final.

¿Este generador es gratuito?

Sí, es totalmente gratis y no requiere registro. Todo funciona en tu navegador.

¿Esta herramienta almacena la información del sistema o las definiciones de la herramienta?

No. Nada de lo que escribas aquí se envía ni se almacena en nuestros servidores; el código se genera completamente en tu navegador.

¿El código generado funcionará tal cual?

Se ejecutará una vez que instale el SDK correspondiente, configure su clave API como una variable de entorno e implemente los stubs TODO para cada herramienta; es un punto de partida funcional, no un agente terminado.

¿Puedo agregar varias herramientas con diferentes parámetros?

Sí. Añada todas las herramientas que necesite, cada una con sus propios parámetros, y todas se incluirán en el esquema de herramientas generado.

¿Qué proveedores e idiomas son compatibles?

Python y TypeScript, tanto para Anthropic (Claude) como para OpenAI: cuatro combinaciones en total, cada una utilizando el formato oficial de llamada a herramientas de ese proveedor.

Este código se genera completamente en tu navegador; nada de lo que escribas aquí se envía ni se almacena en nuestros servidores. Es un punto de partida, no un agente terminado: instala el SDK correspondiente, configura tu clave API como variable de entorno e implementa los fragmentos de código marcados como "TODO" para cada herramienta.

Desarrollado por Aizvi