Cargando

Herramientas integradas

Lección 76 min
Cargando

Herramientas integradas

Puedes crear tus propias herramientas personalizadas, pero algunas capacidades son lo suficientemente comunes como para que Anthropic las entregue preconstruidas. No escribes el código. No alojas el sandbox. Solo declaras la herramienta, y Anthropic la ejecuta.

Herramientas de servidor: declaradas por ti, ejecutadas por Anthropic

Anthropic proporciona herramientas de servidor que se ejecutan en su infraestructura. Tú no ejecutas estas — Anthropic lo hace. Eso significa que no necesitas un bucle de agente para estas llamadas. Claude llama a las herramientas por su cuenta, y el resultado regresa dentro de la misma respuesta.

Las principales son:

  • Búsqueda web — busca en internet y devuelve resultados con citas
  • Ejecución de código — escribe y ejecuta Python en un sandbox
  • Obtención web — recupera contenido completo de URLs

Dos herramientas de servidor en un solo archivo

Veamos algunas de las grandes en un solo archivo: dos llamadas a messages.create, una con búsqueda web y otra con ejecución de código.

python
import anthropic

client = anthropic.Anthropic()

# Llamada 1: búsqueda web — Anthropic ejecuta la búsqueda en el servidor
search_response = client.messages.create(
    model="claude-opus-5",
    max_tokens=1024,
    tools=[{"type": "web_search_20260209", "name": "web_search"}],
    messages=[
        {"role": "user", "content": "What is Anthropic's latest model release? Answer in one sentence."}
    ],
)

for block in search_response.content:
    if block.type == "server_tool_use":
        print(f"Tool call: {block.name} — {block.input}")
    elif block.type == "text":
        print(block.text)

# Llamada 2: ejecución de código — Claude escribe y ejecuta Python en un sandbox
code_response = client.messages.create(
    model="claude-opus-5",
    max_tokens=1024,
    tools=[{"type": "code_execution_20260120", "name": "code_execution"}],
    messages=[
        {"role": "user", "content": "Calculate the mean and standard deviation of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"}
    ],
)

for block in code_response.content:
    if block.type == "server_tool_use":
        print(f"Tool call: {block.name} — {block.input}")
    elif block.type == "bash_code_execution_tool_result":
        print(f"stdout: {block.content.stdout}")
    elif block.type == "text":
        print(block.text)

Dos cosas a notar:

  1. No hay bucle de agente aquí. No actuamos según stop_reason. No devolvemos resultados de herramientas. Anthropic ejecuta la herramienta del lado del servidor, y la respuesta ya contiene el resultado.
  2. La respuesta tiene nuevos tipos de bloques. Un bloque server_tool_use para la llamada a la herramienta, un bloque de resultado de herramienta de ejecución de código para la salida, además de los bloques text habituales.

Ejecutándolo

Para la búsqueda web, verás impresa la llamada a la herramienta de Claude, luego una respuesta de una sola oración sobre el último lanzamiento de modelo con las citas de búsqueda incorporadas.

Para la ejecución de código, verás el código Python real que Claude escribió, el stdout del sandbox ejecutándolo, y una respuesta de texto final.

No tuvimos que levantar un rastreador de búsqueda. No ejecutamos un sandbox de Python. Declaramos dos herramientas y obtuvimos ambas gratis.

La otra categoría: herramientas de cliente

Vale la pena saber que existe la otra categoría. Las herramientas de cliente se ejecutan donde se ejecuta tu código. Anthropic publica sus esquemas y entrena a Claude en ellos, así que no tienes que definir el esquema tú mismo. Dos ejemplos:

  • Memoria — Claude lee y escribe memoria entre sesiones
  • Bash — un shell bash persistente para que Claude pueda ejecutar comandos

La tabla de la documentación de Anthropic sobre herramientas integradas, con memoria y bash listadas como herramientas de cliente junto a herramientas de servidor como obtención web y ejecución de código

Tienen la misma forma que una herramienta personalizada, pero el esquema está integrado en Claude. Tu código aún las ejecuta: para memoria, cuatro de los SDKs incluyen un ayudante que maneja las llamadas de memoria de Claude contra el almacenamiento que proporcionas, y para bash, tu aplicación ejecuta el shell en sí.

Por qué esto importa en producción

En una aplicación de producción, este es el camino más corto hacia funciones que de otro modo tomarían semanas. La búsqueda web puede potenciar un endpoint de verificación de hechos que valida cada afirmación numérica y regulatoria en un borrador contra la web en vivo.

Una aplicación de revisión de propuestas usando búsqueda web para verificar las afirmaciones regulatorias y numéricas en un borrador de propuesta

Un recordatorio, sin embargo: que algo esté validado en internet no significa que sea verdad. Siempre verifica dos veces el trabajo de Claude.

Resumen

  • Las herramientas de servidor — búsqueda web, ejecución de código, obtención web — se declaran en tu arreglo tools. Anthropic las ejecuta.
  • Obtienes el resultado en la misma respuesta, sin necesidad de un bucle de agente. Busca server_tool_use y bloques de resultado de herramienta junto a los bloques de texto habituales.
  • Las herramientas de cliente como memoria y bash se ejecutan donde se ejecuta tu código. El esquema está integrado en Claude, cuatro de los SDKs incluyen un ayudante para memoria, y para bash, tu código ejecuta el shell.
  • La idea de "alojado por Anthropic" escala hasta el máximo: los agentes gestionados aplican esto a todo el agente, no solo a una herramienta.