Muchos desarrolladores se confunden al ver el nombre del modelo gemini-3.1-pro-preview-customtools: ¿qué significa customtools? ¿En qué se diferencia del gemini-3.1-pro-preview estándar? Este artículo te lo aclarará por completo en 5 minutos.
Valor clave: Después de leer este artículo, entenderás cuándo usar la versión estándar, cuándo usar la versión customtools y cómo elegir correctamente en el desarrollo de Agentes.

¿Qué es Gemini 3.1 Pro Customtools?
Explicación en una frase
gemini-3.1-pro-preview-customtools es una variante de modelo especializada lanzada por Google el 19 de febrero de 2026, junto con la versión estándar de Gemini 3.1 Pro. La única diferencia clave con la versión estándar es: prioriza el uso de tus herramientas personalizadas registradas, en lugar de ejecutar comandos bash por defecto.
La cita original del Changelog oficial de Google es:
Se lanzó un endpoint separado
gemini-3.1-pro-preview-customtools, que prioriza mejor las herramientas personalizadas, para usuarios que desarrollan con una mezcla de bash y herramientas.
¿Por qué se necesita esta variante?
En el desarrollo de Agentes, los desarrolladores suelen registrar dos tipos de capacidades para el modelo:
- Ejecución de Bash/código: Permite que el modelo ejecute comandos de shell directamente.
- Herramientas personalizadas (Custom Tools): Funciones estructuradas definidas por el desarrollador, como
view_file,search_code,create_pr, etc.
¿Dónde radica el problema? La versión estándar de Gemini 3.1 Pro a veces puede "ser perezosa", saltándose las herramientas personalizadas que has diseñado cuidadosamente y completando la tarea directamente con comandos bash. Por ejemplo, si registraste la herramienta view_file, el modelo podría ejecutar directamente cat filename.py, eludiendo tu herramienta.
Esto puede ser problemático en ciertos escenarios:
- Las herramientas personalizadas pueden tener control de permisos y registro de logs.
- El formato de retorno de las herramientas personalizadas es estructurado, lo que facilita el procesamiento posterior.
- Las herramientas personalizadas pueden conectarse a sistemas externos (bases de datos, API, etc.).
La variante customtools está diseñada para resolver este problema: hacer que el modelo priorice las herramientas que has registrado.
Diferencias clave entre Gemini 3.1 Pro Standard y Customtools
| Dimensión de Comparación | Versión Estándar | Versión Customtools |
|---|---|---|
| ID del Modelo | gemini-3.1-pro-preview |
gemini-3.1-pro-preview-customtools |
| Fecha de Lanzamiento | 19.02.2026 | 19.02.2026 (lanzamiento simultáneo) |
| Capacidad de Inferencia | ARC-AGI-2 77.1% | Igual |
| Capacidad de Codificación | SWE-Bench 80.6% | Igual |
| Ventana de Contexto | 1,048,576 tokens | Igual |
| Salida Máxima | 65,536 tokens | Igual |
| Precio de Entrada | $2.00 / 1M tokens | Igual |
| Precio de Salida | $12.00 / 1M tokens | Igual |
| Comportamiento de Llamada a Herramientas | Puede priorizar el uso de bash | Prioriza el uso de herramientas personalizadas |
| Escenarios de Aplicación | Inferencia general, codificación, análisis | Desarrollo de Agentes, orquestación de herramientas |
| Nota de Calidad | Equilibrado en todos los escenarios | Puede haber ligeras fluctuaciones de calidad en escenarios que no involucren herramientas |
🎯 Punto clave: El "nivel de inteligencia" de ambos modelos es exactamente el mismo. La única diferencia radica en que, al enfrentarse a la elección de "usar bash o usar tus herramientas registradas", la versión customtools se inclinará más por tus herramientas personalizadas.
Cuándo usar Gemini 3.1 Pro Customtools
Escenarios donde se necesita Customtools
| Escenario | Por qué se necesita | Ejemplo Concreto |
|---|---|---|
| Asistente de Codificación con IA | Necesita herramientas estructuradas como view_file, edit_file, etc. | Productos tipo Claude Code, Cursor |
| Agente DevOps | Necesita invocar sistemas CI/CD a través de herramientas en lugar de bash directo | Despliegue automatizado, bots de revisión de código |
| Flujos de Trabajo MCP | Agentes que han registrado el protocolo de herramientas MCP | Orquestación de flujos de trabajo de múltiples pasos |
| Agente con Control de Permisos | Las herramientas personalizadas tienen comprobaciones de permisos integradas | Aplicaciones de Agente a nivel empresarial |
| Agente que Requiere Registros Estructurados | Las llamadas a herramientas facilitan el registro y la auditoría | Escenarios con altos requisitos de cumplimiento |
Escenarios donde NO se necesita Customtools
| Escenario | La versión estándar es suficiente | Razón |
|---|---|---|
| Conversación/Preguntas y Respuestas General | gemini-3.1-pro-preview |
No implica llamadas a herramientas |
| Análisis/Traducción de Texto | gemini-3.1-pro-preview |
Entrada y salida de texto puro |
| Generación de Código (sin herramientas) | gemini-3.1-pro-preview |
Solo se necesita que el modelo escriba código directamente |
| Ejecución de Scripts Bash Simples | gemini-3.1-pro-preview |
Simplemente se quiere usar bash |
Recomendación oficial de Google
Google afirma explícitamente en las Preguntas Frecuentes de la Guía para Desarrolladores de Gemini 3:
If you are using
gemini-3.1-pro-previewand the model ignores your custom tools in favor of bash commands, try thegemini-3.1-pro-preview-customtoolsmodel instead.
Traducción: Si descubres que la versión estándar ignora tus herramientas personalizadas y usa bash directamente, prueba con el modelo customtools.
Método de Llamada a la API de Gemini 3.1 Pro Customtools
Llamada Básica: Exactamente igual que la versión estándar
import openai
client = openai.OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.apiyi.com/v1" # Interfaz unificada de APIYI
)
# Solo necesitas cambiar el nombre del modelo, el resto del código permanece igual
response = client.chat.completions.create(
model="gemini-3.1-pro-preview-customtools",
messages=[
{"role": "user", "content": "帮我查看项目中的 main.py 文件内容"}
]
)
print(response.choices[0].message.content)
Llamada de Agente con Herramientas Personalizadas
El verdadero poder de la versión customtools reside en su combinación con la llamada a funciones (function calling):
import openai
import json
client = openai.OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.apiyi.com/v1" # Interfaz unificada de APIYI
)
# Definir herramientas personalizadas
tools = [
{
"type": "function",
"function": {
"name": "view_file",
"description": "查看指定文件的内容",
"parameters": {
"type": "object",
"properties": {
"file_path": {
"type": "string",
"description": "文件路径"
}
},
"required": ["file_path"]
}
}
},
{
"type": "function",
"function": {
"name": "search_code",
"description": "在代码库中搜索关键词",
"parameters": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "搜索关键词"
},
"file_pattern": {
"type": "string",
"description": "文件匹配模式,如 *.py"
}
},
"required": ["query"]
}
}
}
]
# La versión customtools priorizará el uso de las herramientas definidas anteriormente
response = client.chat.completions.create(
model="gemini-3.1-pro-preview-customtools",
messages=[
{"role": "user", "content": "帮我在项目中找到所有包含 TODO 的 Python 文件"}
],
tools=tools
)
# El modelo llamará a la herramienta search_code en lugar de usar grep directamente
tool_call = response.choices[0].message.tool_calls[0]
print(f"Herramienta: {tool_call.function.name}")
print(f"Parámetros: {tool_call.function.arguments}")
Ver el código completo del ciclo del Agente
import openai
import json
client = openai.OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.apiyi.com/v1"
)
tools = [
{
"type": "function",
"function": {
"name": "view_file",
"description": "查看指定文件的内容",
"parameters": {
"type": "object",
"properties": {
"file_path": {"type": "string", "description": "文件路径"}
},
"required": ["file_path"]
}
}
},
{
"type": "function",
"function": {
"name": "search_code",
"description": "在代码库中搜索关键词",
"parameters": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "搜索关键词"},
"file_pattern": {"type": "string", "description": "文件匹配模式"}
},
"required": ["query"]
}
}
},
{
"type": "function",
"function": {
"name": "edit_file",
"description": "编辑文件中的指定内容",
"parameters": {
"type": "object",
"properties": {
"file_path": {"type": "string", "description": "文件路径"},
"old_content": {"type": "string", "description": "要替换的旧内容"},
"new_content": {"type": "string", "description": "新内容"}
},
"required": ["file_path", "old_content", "new_content"]
}
}
}
]
# Simulación de ejecución de herramientas
def execute_tool(name, args):
"""Reemplazar con la implementación real de la herramienta en un proyecto real"""
if name == "view_file":
return f"Contenido del archivo: {args['file_path']} (simulado)"
elif name == "search_code":
return f"Resultado de la búsqueda de '{args['query']}': 3 coincidencias encontradas (simulado)"
elif name == "edit_file":
return f"Contenido de {args['file_path']} reemplazado (simulado)"
return "Herramienta desconocida"
# Bucle principal del Agente
messages = [{"role": "user", "content": "找到项目中所有 TODO 注释并修复它们"}]
max_turns = 5
for turn in range(max_turns):
response = client.chat.completions.create(
model="gemini-3.1-pro-preview-customtools",
messages=messages,
tools=tools
)
msg = response.choices[0].message
messages.append(msg)
if msg.tool_calls:
for tc in msg.tool_calls:
args = json.loads(tc.function.arguments)
result = execute_tool(tc.function.name, args)
messages.append({
"role": "tool",
"tool_call_id": tc.id,
"content": result
})
print(f"[Turno {turn+1}] Llamada: {tc.function.name}({args})")
else:
print(f"[Completado] {msg.content[:200]}")
break
🚀 Inicio Rápido: A través de la plataforma APIYI apiyi.com, las versiones estándar y customtools utilizan la misma API Key. Solo necesitas modificar el parámetro
modelpara cambiar entre ellas, lo que es ideal para pruebas A/B y determinar qué versión se adapta mejor a tu Agente.
Gemini 3.1 Pro Customtools y la Relación con los Frameworks de Agente

Adaptación a los Frameworks de Agente Principales
La versión customtools es especialmente valiosa para los siguientes escenarios de desarrollo de Agentes:
| Framework/Escenario de Agente | Sugerencia de Adaptación | Razón |
|---|---|---|
| Asistente de Codificación tipo Claude Code | Recomendado customtools | Necesita herramientas estructuradas como view_file, edit_file, etc. |
| Cursor / GitHub Copilot | Recomendado customtools | El conjunto de herramientas del IDE necesita ser llamado con prioridad. |
| Agente de protocolo MCP | Recomendado customtools | Las herramientas registradas por MCP necesitan garantía de prioridad. |
| LangChain / LlamaIndex | Recomendado customtools | Las herramientas registradas por el framework necesitan ser llamadas correctamente. |
| Aplicaciones de Chat puro | Usar versión estándar | No involucra llamadas a herramientas. |
| RAG (Retrieval Augmented Generation) | Depende del caso | Si la recuperación se implementa a través de function calling, usar customtools. |
Comparación del comportamiento de Gemini 3.1 Pro Customtools vs. la versión estándar
Para entender la diferencia de forma más intuitiva, veamos un ejemplo concreto:
El mismo tipo de solicitud, diferentes respuestas de los dos modelos
Solicitud del usuario: «Ayúdame a ver el contenido del archivo src/main.py»
Herramienta registrada: view_file(file_path: string)
| Versión del modelo | Comportamiento del modelo | Descripción |
|---|---|---|
| Versión estándar | Puede ejecutar directamente cat src/main.py |
Completa la tarea con bash, omitiendo tu herramienta |
| Versión Customtools | Invoca view_file("src/main.py") |
Prioriza el uso de tu herramienta personalizada registrada |
Ambas formas pueden obtener el contenido del archivo, pero la invocación a través de una herramienta personalizada tiene las siguientes ventajas:
- Control de permisos: Tu herramienta
view_filepuede verificar si la ruta está en la lista blanca. - Salida formateada: La herramienta puede devolver JSON estructurado en lugar de texto sin formato.
- Auditoría de registros: Las invocaciones de la herramienta son registradas automáticamente por el framework.
- Manejo de errores: La herramienta puede proporcionar mensajes de error amigables en lugar de errores de bash.

Evolución de los modelos de invocación de herramientas de Google Gemini
Customtools es la primera vez que Google ofrece una variante de modelo dedicada para la invocación de herramientas. A continuación, se presenta el mapa completo de los modelos relacionados con las herramientas de Google Gemini:
| Modelo | Fecha de lanzamiento | Tipo de herramienta | Descripción |
|---|---|---|---|
| Gemini 2.5 Flash | 2025 | Invocación de funciones básica | Invocación de herramientas general |
| Gemini 3 Pro Preview | Finales de 2025 | Invocación de funciones | Invocación de herramientas mejorada |
| Gemini 3.1 Pro Preview | 19.02.2026 | Invocación de funciones + herramientas paralelas | Versión estándar, puede tender a bash |
| Gemini 3.1 Pro Customtools | 19.02.2026 | Prioridad de invocación de funciones | Dedicado a Agentes, prioriza herramientas personalizadas |
| Computer Use Preview | 2025 | Operaciones GUI | Uso de computadora (experimental) |
| Deep Research Preview | Finales de 2025 | Búsqueda + análisis | Agente de investigación profunda |
Esto indica que Google está segmentando los modelos por caso de uso, en lugar de utilizar un modelo genérico para cubrir todos los escenarios. Es probable que en el futuro surjan más variantes especializadas.
Preguntas Frecuentes
P1: ¿La versión customtools será más cara?
No. El precio de la versión customtools y la estándar es exactamente el mismo: entrada $2.00 / 1M tokens, salida $12.00 / 1M tokens. Al invocar a través de la plataforma APIYI apiyi.com, ambas versiones usan la misma API Key, sin costes adicionales.
P2: ¿La capacidad de inferencia de la versión customtools será más débil?
Casi no. Google mencionó que "podría haber una pequeña fluctuación en la calidad en escenarios que no involucran herramientas", pero la capacidad de inferencia central (ARC-AGI-2 77.1%, SWE-Bench 80.6%) permanece inalterada. Si tu Agente usa principalmente herramientas, el rendimiento general de la versión customtools será mejor.
P3: ¿Cuándo debería cambiar de la versión estándar a la customtools?
Deberías cambiar cuando observes que el modelo, a pesar de tener herramientas personalizadas disponibles, sigue utilizando comandos bash con frecuencia para completar tareas. Por ejemplo, si registraste view_file pero el modelo siempre usa cat, o registraste search_code pero el modelo siempre usa grep. Puedes realizar pruebas A/B rápidamente entre ambas versiones a través de APIYI apiyi.com.
P4: Si no he registrado ninguna herramienta personalizada, ¿tiene sentido usar la versión customtools?
No tiene sentido. Si no se registran herramientas personalizadas, el comportamiento de ambas versiones es idéntico. La optimización de la versión customtools solo se manifiesta cuando "el modelo necesita elegir entre bash y herramientas personalizadas".
Resumen: Guía Rápida de Gemini 3.1 Pro Customtools
| Pregunta | Respuesta |
|---|---|
| ¿Qué es customtools? | Una variante de Gemini 3.1 Pro que prioriza el uso de herramientas personalizadas |
| ¿Qué diferencias hay con la versión estándar? | Solo difiere la prioridad de llamada a herramientas; la capacidad de inferencia y el precio son los mismos |
| ¿Cuándo usarla? | Al desarrollar Agentes, usar MCP o registrar herramientas de function calling |
| ¿Cuándo no usarla? | En conversaciones puras, inferencia pura o cuando no se involucran llamadas a herramientas |
| ¿Se pueden cambiar entre ambas versiones? | Sí, basta con cambiar un parámetro del modelo |
| ¿El precio es el mismo? | Exactamente el mismo: entrada $2 / salida $12 por MTok |
En resumen: gemini-3.1-pro-preview-customtools es el "modo dedicado para Agentes" de Gemini 3.1 Pro — hace que el modelo utilice de forma más obediente las herramientas que has registrado en lugar de ejecutar directamente bash. El precio y la inteligencia permanecen inalterados, solo que la estrategia de selección de herramientas es más adecuada para el desarrollo de Agentes.
Se recomienda acceder a ambas versiones simultáneamente a través de la plataforma APIYI apiyi.com y, después de realizar pruebas A/B en proyectos reales, elegir la más adecuada. Para los desarrolladores de Agentes, la versión customtools es casi siempre la mejor opción.
Referencias
-
Documentación de Google AI: Página del modelo Gemini 3.1 Pro Preview
- Enlace:
ai.google.dev/gemini-api/docs/models/gemini-3.1-pro-preview - Descripción: Incluye una descripción comparativa de las versiones estándar y customtools.
- Enlace:
-
Registro de cambios de la API de Gemini: Actualizado el 19 de febrero de 2026
- Enlace:
ai.google.dev/gemini-api/docs/changelog - Descripción: Registro del lanzamiento inicial de la variante customtools.
- Enlace:
-
Guía para desarrolladores de Gemini 3: Recomendaciones para la selección de herramientas en las FAQ
- Enlace:
ai.google.dev/gemini-api/docs/gemini-3 - Descripción: Cuándo cambiar de la versión estándar a la customtools.
- Enlace:
-
Documentación de Google AI: Guía de Function Calling
- Enlace:
ai.google.dev/gemini-api/docs/function-calling - Descripción: Detalles de la API de Function Calling para los modelos Gemini.
- Enlace:
📝 Autor: Equipo de APIYI | Para intercambio técnico, visita APIYI apiyi.com
📅 Fecha de actualización: 20 de febrero de 2026
🏷️ Palabras clave: gemini-3.1-pro-preview-customtools, herramientas personalizadas, desarrollo de agentes, function calling, llamada a herramientas, llamada a API
