{"meta":{"title":"Carga de herramientas a petición con búsqueda de herramientas","intro":"La búsqueda de herramientas mantiene pequeño el contexto, ya que permite CLI de Copilot cargar herramientas externas solo cuando una tarea las necesita.","product":"GitHub Copilot","breadcrumbs":[{"href":"/es/copilot","title":"GitHub Copilot"},{"href":"/es/copilot/concepts","title":"Conceptos"},{"href":"/es/copilot/concepts/agents","title":"Agentes"},{"href":"/es/copilot/concepts/agents/copilot-cli","title":"CLI de Copilot"},{"href":"/es/copilot/concepts/agents/copilot-cli/tool-search","title":"Búsqueda de herramientas"}],"documentType":"article"},"body":"# Carga de herramientas a petición con búsqueda de herramientas\n\nLa búsqueda de herramientas mantiene pequeño el contexto, ya que permite CLI de Copilot cargar herramientas externas solo cuando una tarea las necesita.\n\n## Introducción\n\nLa conexión de servidores MCP y otras herramientas externas a CLI de Copilot es eficaz, pero cada herramienta que agregue conlleva un costo: su definición ocupa espacio en la ventana de contexto del modelo y un largo menú de herramientas dificulta que el agente elija el correcto. La carga de herramientas a petición (o \"búsqueda de herramientas\") impide que la ventana de contexto esté desordenada por definiciones para las herramientas que el agente no usa. El agente comienza con solo sus herramientas integradas y una manera de buscar el resto y, a continuación, carga herramientas adicionales solo cuando se necesitan para completar una tarea.\n\nLa búsqueda de herramientas aborda dos problemas asociados a un número creciente de herramientas:\n\n* **Contexto desperdiciado.** Algunas docenas de definiciones de herramientas pueden consumir entre 10 000 y 20 000 tokens antes de que el agente haya hecho nada.\n* **Precisión de selección de herramientas degradada.** Cuando hay varias docenas de herramientas a la vista al mismo tiempo, es más probable que el modelo elija la herramienta equivocada.\n\n## ¿Qué ocurre durante una sesión?\n\nCada vez que introduces un prompt, la CLI comprueba el inventario actual de herramientas y decide si usar la búsqueda de herramientas. Por debajo de aproximadamente 30 herramientas, el ahorro que obtiene de la búsqueda de herramientas no vale la pena, por lo que CLI de Copilot omite la búsqueda de herramientas por completo y solo carga todo.\n\nInicialmente, cuando se usa la búsqueda de herramientas, solo se cargan las herramientas integradas de la CLI. Todo lo demás —las herramientas MCP y otras herramientas externas— queda bloqueado. El agente puede ver que estas herramientas existen y aproximadamente para lo que son, pero sus definiciones completas aún no se cargan.\n\nCuando el agente alcanza un paso que necesita una herramienta que no se ha cargado, ejecuta una búsqueda rápida sobre las herramientas disponibles y extrae las coincidencias más cercanas en el contexto. A continuación, esas herramientas se adhieren al resto de la conversación, por lo que la búsqueda solo se produce la primera vez que se necesita cada una.\n\nEsa primera búsqueda cuesta un intercambio adicional con el modelo, pero se compensa con creces al mantener reducido el contexto en cada turno posterior.\n\n### Herramientas que siempre se cargan\n\nUna serie de herramientas omiten la búsqueda de herramientas y están listas inmediatamente:\n\n* Las herramientas integradas de CLI de Copilot (grep, glob, bash, editor, etc.).\n* Herramientas del servidor MCP que ha configurado con `deferTools: \"never\"`. Consulte [Mantener siempre cargadas las herramientas de un servidor MCP](#keeping-an-mcp-servers-tools-always-loaded) más adelante en este artículo.\n* Herramientas cargadas por un agente personalizado. Consulte [Configuración del aplazamiento de herramientas en agentes personalizados](#configuring-tool-deferral-in-custom-agents) más adelante en este artículo.\n\n## Desactivar la búsqueda de herramientas\n\nLa búsqueda de herramientas está habilitada de forma predeterminada y se activa automáticamente siempre que se encuentre en un modelo compatible y tenga suficientes herramientas conectadas para que valga la pena. Para deshabilitar la búsqueda de herramientas y volver a cargar cada herramienta, establezca `toolSearch: false` en la configuración personal. Consulte [directorio de configuración de la CLI de GitHub Copilot](/es/copilot/reference/copilot-cli-reference/cli-config-dir-reference#user-settings-copilotsettingsjson).\n\n### Modelos compatibles\n\n| Familia            | Versiones compatibles                                            |\n| ------------------ | ---------------------------------------------------------------- |\n| Claude (antrópica) | Mythos Preview, Fable, Sonnet 4.0+, Opus 4.0+ (no incluye Haiku) |\n| GPT (OpenAI)       | GPT-5.4 y versiones posteriores                                  |\n\nEn cualquier otro modelo, todas las herramientas se cargan por adelantado.\n\n### Mantener siempre cargadas las herramientas de un servidor MCP\n\nA veces, es posible que desee que las herramientas de un servidor MCP determinado siempre estén delante del agente, por ejemplo, un servidor cuyas herramientas se usan constantemente o uno en el que el paso de búsqueda adicional no vale la pena. Cada servidor MCP tiene una `deferTools` configuración que controla esto:\n\n* `\"auto\"` (valor predeterminado): las herramientas del servidor se comportan como cualquier otra y se pueden aplazar una vez que se supera el umbral.\n* `\"never\"`—las herramientas del servidor siempre se incluyen en la lista de herramientas del agente, incluso mientras la búsqueda de herramientas está activa para todo lo demás.\n\nLa manera más fácil de establecerla es mediante el `/mcp edit` comando de barra diagonal. En el formulario para editar el servidor MCP, cambie **Herramientas de aplazamiento** a **Nunca**. También puede establecerlo directamente en `~/.copilot/mcp-config.json`:\n\n```json\n{\n    \"mcpServers\": {\n        \"my-server\": {\n            \"type\": \"stdio\",\n            \"command\": \"npx\",\n            \"args\": [\"-y\", \"@example/mcp-server\"],\n            \"deferTools\": \"never\",\n            \"tools\": [\"*\"]\n        }\n    }\n}\n```\n\n### Configurar el aplazamiento de herramientas en agentes personalizados\n\nCuando un agente personalizado muestra sus herramientas por nombre, esas herramientas siempre se cargan para que el agente pueda usarlas inmediatamente. Esto suele ser lo que desea, pero si un agente declara un gran conjunto de herramientas y solo toca algunos de ellos en una ejecución determinada, puede devolver esa lista a la búsqueda de herramientas para que las herramientas se detecten según sea necesario en lugar de cargarlas a la vez.\n\nPara un agente de Markdown (`.github/agents/*.md`), añada `deferred-tool-loading: true` a los metadatos iniciales:\n\n```markdown\n---\nname: my-agent\ndescription: Works with a large catalog of tools\ntools:\n    - some_mcp_tool\n    - another_mcp_tool\n    # ...many more\ndeferred-tool-loading: true\n---\n\nAgent instructions here.\n```\n\nTenga en cuenta lo siguiente en relación con la `deferred-tool-loading` configuración:\n\n* Solo tiene un efecto cuando la búsqueda de herramientas está activa (es decir, en un modelo compatible con suficientes herramientas para cruzar el umbral).\n* Solo es importante para los agentes que asignen un nombre a sus herramientas. Los agentes que ya usan el comodín `*` ya usan la búsqueda de herramientas.\n\n## Optimización de herramientas para la búsqueda de herramientas\n\nLa búsqueda de herramientas compara lo que el agente intenta hacer con el **nombre** de cada herramienta, su **descripción** y los **nombres y las descripciones de los parámetros**. El texto claro y específico hace que se muestre una herramienta para las solicitudes correctas:\n\n* Asigne un nombre a las herramientas para lo que hacen para que sean más fáciles de encontrar.\n* Escriba descripciones con las palabras que la gente buscaría realmente en lugar de vagas."}