GitHub Copilot Agent Mode: cómo programar con un agente autónomo
Aprende cómo funciona GitHub Copilot Agent Mode para ejecutar tareas de programación de varios pasos: analizar repositorios, planificar, buscar archivos, editar código, ejecutar comandos, utilizar herramientas, corregir errores, lanzar tests, delegar en Subagents, trabajar con Worktrees, restaurar checkpoints y revisar todos los cambios antes de integrarlos.
¿Qué es Agent Mode en GitHub Copilot?
Agent Mode es el modo de GitHub Copilot diseñado para ejecutar tareas de programación de varios pasos de forma agentic. En vez de limitarse a responder una pregunta, Copilot puede buscar archivos relevantes, leer código, modificar varios archivos, utilizar terminal, ejecutar tests, interpretar errores y repetir el ciclo hasta completar el objetivo o necesitar intervención del usuario.
Qué hace realmente Copilot Agent Mode
Explora
Busca y lee archivos relevantes.
Razona
Decide qué pasos necesita ejecutar.
Edita
Modifica uno o múltiples archivos.
Ejecuta
Utiliza terminal y herramientas.
Verifica
Ejecuta tests, lint y build.
Itera
Corrige errores encontrados.
Así funciona el ciclo interno de un agente de programación
Contexto
Prompt, archivos, instrucciones y estado del proyecto.
Tool Call
Busca, lee, edita o ejecuta.
Resultado
La tool devuelve nueva información.
Iteración
Copilot decide el siguiente paso.
Copilot Chat vs Agent Mode
Conversación
Explicar, analizar y responder preguntas.
Ejecución
Utilizar herramientas para completar una tarea.
Si quieres entender algo, utiliza Ask. Si quieres que Copilot implemente una tarea sobre el proyecto, utiliza Agent.
Planificar antes de permitir cambios
Para tareas complejas, conviene comenzar con Plan.
Necesitamos añadir
autenticación OAuth.
Investiga el proyecto
y crea un plan.
Incluye:
- archivos afectados
- funciones
- flujo
- configuración
- almacenamiento
- seguridad
- tests
- riesgos
No modifiques código.
El Plan Agent utiliza principalmente herramientas de lectura para investigar el proyecto antes de proponer una implementación.
El modo Plan dispone de restricciones específicas para proteger los archivos del proyecto durante la fase de planificación.
Convertir un plan aprobado en implementación
Describe el objetivo
Utiliza Plan.
Responde preguntas
Aclara requisitos ambiguos.
Revisa el plan
Corrige alcance y riesgos.
Start Implementation
Pasa el contexto al agente.
Implementa
Agent Mode ejecuta el trabajo.
Cómo pedir una tarea completa a Agent Mode
Corrige el error
que permite registrar
usuarios duplicados.
Comportamiento esperado:
el email debe ser único.
Proceso:
1. reproduce el bug
2. identifica la causa raíz
3. localiza archivos afectados
4. crea un test de regresión
5. aplica el cambio mínimo
6. ejecuta tests
7. revisa el diff
Restricciones:
- no cambies APIs públicas
- no refactorices código no relacionado
- conserva compatibilidad
- no elimines datos existentes
Al terminar
resume:
- causa raíz
- archivos cambiados
- tests ejecutados
- riesgos restantes.
Las herramientas convierten al modelo en un agente
Un modelo sin herramientas solo puede generar texto. Un agente puede utilizar herramientas para leer, buscar, editar, ejecutar y consultar servicios externos.
Agent Mode puede disponer de tres grandes tipos de tools:
VS Code tools
Archivos, búsqueda, terminal y editor.
MCP tools
Herramientas conectadas mediante MCP.
Extension tools
Capacidades proporcionadas por extensiones.
Cómo un agente puede corregir un test fallido
Prompt
↓
Search code
↓
Read files
↓
Identify bug
↓
Edit file
↓
Run tests
↓
Test fails
↓
Read error
↓
Edit again
↓
Run tests
↓
Pass
↓
Review diff
Esta repetición de razonamiento, ejecución y observación es lo que se conoce como agent loop.
No habilites herramientas innecesarias
El agente selecciona automáticamente entre las tools disponibles, pero puedes restringirlas.
Lectura de código.
Edición de archivos.
Terminal.
Acceso web.
Servidores externos.
Tools de extensiones.
Un conjunto reducido de herramientas relevantes disminuye acciones innecesarias y también reduce el contexto generado por tool calls.
Controlar cuánto puede hacer Agent Mode sin preguntar
VS Code separa las aprobaciones de las restricciones técnicas del sandbox.
| Nivel | Comportamiento |
|---|---|
| Manual permissions | Las acciones no aprobadas requieren confirmación |
| Assisted permissions | Un modelo evalúa tool calls y deriva algunas a revisión |
| Allow all | Ejecuta tools sin solicitar confirmación |
La disponibilidad depende de la versión y configuración de VS Code.
Autopilot no es simplemente “Allow all”
Aprobaciones
Evita prompts de aprobación de tools.
Autonomía
Aprueba tools y además continúa trabajando hasta completar la tarea.
En el actual Agent Host, Autopilot es un agent mode, no simplemente un nivel de permisos.
Úsalo para tareas bien delimitadas y entornos donde entiendas los riesgos.
Permisos y sandbox son capas diferentes
Approval
↓
"¿Puede ejecutarse esta acción?"
Sandbox
↓
"¿Qué recursos puede alcanzar
esa acción?"
Un comando puede estar aprobado y aun así quedar limitado por reglas de filesystem o red.
Puede limitar lectura, escritura y acceso de red para comandos ejecutados por agentes.
Pedir aprobación antes de editar archivos sensibles
VS Code permite configurar patrones que requieren revisión explícita.
"chat.tools.edits.autoApprove": {
"**/*": true,
"**/.vscode/*.json": false,
"**/.env": false
}
Esto resulta útil para:
.env y secretos.
Configuración del editor.
Workflows de CI/CD.
Archivos de deployment.
El agente solo puede razonar con el contexto que recibe
Tu instrucción.
Archivos recuperados.
Instructions y AGENTS.md.
Resultados de tools.
Output de terminal.
Historial de sesión.
El harness selecciona y recupera contexto relevante a medida que la tarea avanza.
Guía al agente con reglas persistentes
.github/copilot-instructions.md
.github/instructions/*.instructions.md
AGENTS.md
Puedes guardar reglas como:
- preserve backwards compatibility
- avoid unrelated refactors
- use existing project abstractions
- run tests before finishing
- never commit secrets
- review git diff before completion
Delegar investigaciones sin contaminar el contexto principal
Un Subagent es un agente independiente que recibe una subtarea concreta, trabaja con contexto aislado y devuelve una síntesis al agente principal.
Analiza este cambio.
Usa Subagents
para investigar
de forma independiente:
1. arquitectura
2. seguridad
3. tests
No modifiques archivos.
Después combina
los hallazgos
y elimina duplicados.
Tareas ideales para Subagents
Investigación
Buscar implementaciones relacionadas.
Security review
Revisar una superficie concreta.
Testing
Analizar cobertura faltante.
Docs
Investigar funcionamiento para documentarlo.
Comparación
Evaluar alternativas independientes.
Code review
Obtener una segunda perspectiva.
Los Subagents también pueden delegar trabajo
Por defecto, los Subagents no vuelven a lanzar otros Subagents. Puede habilitarse mediante:
chat.subagents.allowInvocationsFromSubagents
Más niveles de agentes pueden aumentar consumo, complejidad y dificultad para entender quién hizo cada cambio.
Cada tarea puede vivir en una sesión independiente
Una sesión contiene:
Conversación.
Contexto acumulado.
Tool calls.
Workspace o worktree.
Cambios realizados.
Estado de ejecución.
El contexto de una sesión no se mezcla automáticamente con otra.
Ejecutar varias tareas de agente a la vez
VS CODE
│
├── Session A
│ └── Fix authentication
│
├── Session B
│ └── Add API tests
│
└── Session C
└── Update documentation
Puedes cambiar entre sesiones mientras otras continúan trabajando.
Varios chats pueden compartir una misma sesión
En el Agent Host, una sesión puede contener varios chats.
Los chats de una misma sesión comparten el mismo folder o worktree. Sus cambios aparecen juntos.
Usa Worktrees para aislar tareas paralelas
Cambios compartidos
Los agentes pueden modificar los mismos archivos.
Aislamiento
Cada tarea tiene sus propios archivos y branch.
Repository
│
├── Main worktree
│
├── Agent session A
│ └── Worktree A
│
└── Agent session B
└── Worktree B
Dos agentes aún podrían utilizar la misma base de datos, puerto, API o recurso externo.
Las sesiones Worktree tienen un modelo de permisos distinto
En sesiones Copilot Agent Host, una sesión con aislamiento mediante Worktree puede utilizar Allow all como nivel fijo de permisos dentro del worktree.
Aunque el agente tenga autonomía sobre ese checkout, sus archivos permanecen separados del workspace principal hasta que tú decidas integrar el resultado.
Volver atrás cuando el agente toma una mala dirección
Antes de procesar determinadas solicitudes, VS Code puede crear snapshots de los archivos afectados. Esto permite restaurar el workspace a un punto anterior.
Detecta el desvío
El agente toma un enfoque incorrecto.
Busca el prompt anterior
Localiza el punto correcto.
Restore Checkpoint
Restaura cambios y conversación.
Corrige el prompt
Añade la restricción faltante.
Checkpoint no reemplaza Git
Restaurar un checkpoint puede revertir archivos y conversación, pero no necesariamente:
Comandos ya ejecutados.
Requests externas.
Cambios en servicios o bases externas.
Deployments realizados.
Los checkpoints son una ayuda de sesión, no un sustituto del control de versiones.
Editar un prompt anterior también puede rehacer el trabajo
Si una instrucción inicial era incorrecta, puedes editar la petición anterior.
Original:
Refactoriza el módulo de usuarios.
Mejor:
Corrige únicamente
la duplicación
en UserRepository.
No cambies
la API pública
ni otros módulos.
VS Code puede revertir los cambios posteriores a ese prompt y volver a procesar la nueva instrucción.
Corregir al agente mientras todavía está trabajando
No siempre debes esperar a que termine. Si detectas una dirección incorrecta, puedes:
Enviar nueva instrucción.
Detener la ejecución.
Solicitar análisis antes de continuar.
Stop changing
the database layer.
The bug is limited
to the API response mapping.
Keep the public contract unchanged
and inspect only
the response transformer.
Cuando el agente repite el mismo error
Do not rerun
the same failing command.
Summarize:
1. the error
2. the assumption
the error disproves
3. two different
recovery options
Do not edit files
or execute commands
until you explain
the alternatives.
Esto suele ser más efectivo que permitirle repetir el mismo intento varias veces.
Revisa todos los cambios antes de integrarlos
En sesiones actuales del Agent Host, el agente puede guardar cambios directamente en el folder o worktree de la sesión.
Changed files
Abre cada archivo modificado.
Diff
Revisa cada cambio.
Feedback
Comenta líneas concretas.
Tests
Verifica comportamiento real.
Integrate
Commit, merge o apply.
Puedes comentar directamente sobre el diff
Feedback:
This changes
the public response format.
Keep the existing API contract.
Only fix
the duplicate-user check
inside the validation layer.
El agente puede utilizar estos comentarios como instrucciones para una nueva iteración.
Un Agent Mode sin tests sigue siendo solo una hipótesis
Before finishing:
1. run the specific regression test
2. run related tests
3. run lint
4. run typecheck if available
5. run build if available
6. inspect git diff
7. report anything
you could not verify
Agent Mode puede utilizar errores como feedback
Edit
↓
Test
↓
Failure
↓
Read error
↓
Update hypothesis
↓
Edit
↓
Test
↓
Pass
Esta capacidad es una de las mayores diferencias entre Agent Mode y simplemente pedirle a una IA un bloque de código.
Enseña procedimientos reutilizables al agente
.github/
└── skills/
└── security-review/
├── SKILL.md
└── scripts/
Una Skill puede definir:
Procedimiento.
Comandos.
Reglas.
Recursos.
Extender Agent Mode con herramientas externas
Model Context Protocol puede añadir herramientas al agente.
GitHub
Issues y Pull Requests.
Databases
Datos externos.
Docs
Documentación técnica.
Browser
Web y testing.
CI/CD
Pipelines.
Services
Herramientas internas.
Controlar el ciclo del agente con automatizaciones
Los Agent Hooks pueden ejecutarse en momentos específicos del workflow.
SessionStart.
UserPromptSubmit.
PreToolUse.
PostToolUse.
SubagentStart / Stop.
Fin de sesión.
Un hook
PreToolUse
podría bloquear
determinados
comandos peligrosos,
mientras
PostToolUse
podría ejecutar
un formatter
después
de una edición.
No construyas procesos críticos sin revisar antes el estado actual de la función.
Crear variantes especializadas de Agent Mode
.github/
└── agents/
├── planner.agent.md
├── security.agent.md
└── tester.agent.md
Cada Custom Agent puede tener:
Rol.
Modelo.
Tools permitidas.
Instrucciones.
MCP.
Hooks.
Un agente de review no necesita permiso para editar
---
description: Security reviewer
tools:
- search
- read
---
Review the current changes.
Do not edit files.
Report:
- severity
- file
- line
- exploit scenario
- recommended fix
Si un agente solo investiga, no necesita capacidades de escritura.
Cuándo dejar Agent Mode y utilizar Cloud Agent
| Agent Mode local | Cloud Agent |
|---|---|
| Necesitas contexto local | La tarea vive completamente en GitHub |
| Quieres interactuar | Quieres delegar |
| Necesitas terminal local | No necesitas herramientas locales |
| Iteración rápida | Trabajo background |
| Resultado en workspace | Resultado en Pull Request |
Qué tareas funcionan mejor con Agent Mode
Bugfixes
Con síntoma reproducible y resultado esperado.
Features pequeñas
Alcance bien delimitado.
Tests
Cobertura de workflows existentes.
Refactors
Con comportamiento protegido por tests.
Migraciones
Cuando existe plan claro de verificación.
Documentación
Basada en código real.
Qué no deberías delegar sin más contexto
| Prompt débil | Problema |
|---|---|
| Arregla todo el proyecto | Alcance indefinido |
| Mejora la arquitectura | No define objetivo observable |
| Hazlo más seguro | No define superficie ni amenaza |
| Optimiza todo | No existe métrica ni evidencia |
| Reescribe el plugin | Demasiado riesgo y scope |
Qué debería contener una buena tarea para Agent Mode
Objetivo.
Contexto.
Comportamiento actual.
Comportamiento esperado.
Alcance.
Restricciones.
Criterios de aceptación.
Verificación.
Plantilla profesional para Copilot Agent Mode
# Objective
[RESULT]
# Context
[WHY]
# Current behavior
[CURRENT]
# Expected behavior
[EXPECTED]
# Scope
You may modify:
[FILES / MODULES]
Do not modify:
[OUT OF SCOPE]
# Constraints
- preserve public APIs
- follow existing architecture
- avoid unrelated refactors
- avoid unnecessary dependencies
- preserve backwards compatibility
- do not weaken security
# Before editing
1. inspect the current implementation
2. identify the relevant code path
3. find similar patterns
4. identify risks
5. explain your plan
# Implementation
Apply the smallest
safe change
that satisfies
the requirements.
# Verification
Run:
- relevant tests
- lint
- typecheck
- build
when available.
# Review
Before finishing:
1. inspect git diff
2. check for regressions
3. review security
4. remove debug code
5. confirm no unrelated files changed
# Final response
Report:
- root cause
- implementation
- files changed
- tests executed
- results
- remaining risks
Ejemplo de Agent Mode para un plugin WordPress
Objetivo:
corregir un endpoint REST
que permite modificar
un registro
sin comprobar ownership.
Antes de editar:
1. localiza register_rest_route
2. analiza permission_callback
3. sigue el recurso
4. identifica cómo se obtiene
el usuario actual
5. busca endpoints similares
Restricciones:
- no cambiar la URL
- no cambiar el response format
- no modificar tablas
- mantener compatibilidad
Implementa:
- autorización correcta
- test de regresión
Verifica:
- usuario propietario
- usuario distinto
- usuario no autenticado
- administrador
Después revisa:
- capabilities
- nonce si corresponde
- sanitización
- escaping
- SQL
- git diff
Cómo obtener mejores resultados con Agent Mode
Empieza con tareas acotadas.
Usa Plan cuando el enfoque no está claro.
Commit o stash de trabajo no relacionado.
Da criterios de aceptación.
Limita tools innecesarias.
Empieza con permisos manuales.
Usa Worktrees para tareas paralelas.
Exige tests y verificación.
Revisa cada archivo modificado.
Mantén Git como historial definitivo.
Qué modo usar según la tarea
Guías relacionadas
Documentación de Agent Mode
Copilot Chat Agents
Ask, Plan y Agent Mode.
Ver documentación →AI Agents
Agent loop, sessions, tools y ejecución.
Ver Agents →Tools
Built-in, MCP y extension tools.
Ver Tools →Permissions
Approvals, sandbox, URLs y terminal.
Ver permisos →Subagents
Context isolation y delegación.
Ver Subagents →Review Changes
Diff, checkpoints e integración.
Ver review →FAQ sobre GitHub Copilot Agent Mode
Agent Mode es un modo de GitHub Copilot diseñado para ejecutar tareas de programación de varios pasos. Puede buscar, leer, editar, ejecutar tools y verificar resultados de manera iterativa.
Ask está orientado principalmente a responder preguntas y explicar código. Agent Mode puede utilizar herramientas para modificar el proyecto y ejecutar una tarea.
Plan investiga y prepara una estrategia de implementación sin realizar cambios normales sobre los archivos del proyecto. Agent Mode ejecuta la implementación.
Sí. Agent Mode puede utilizar herramientas de terminal para ejecutar tests, lint, build, Git y otros comandos, sujeto a permisos y políticas.
Sí. El agente puede interpretar errores producidos por tests, build, linters u otras tools, modificar su hipótesis y continuar iterando.
Son capacidades que permiten al agente realizar acciones, por ejemplo leer archivos, buscar código, editar, ejecutar terminal o conectarse a servicios mediante MCP.
VS Code ofrece niveles como Manual permissions y Allow all, además de opciones como Assisted permissions en entornos compatibles. También dispone de controles específicos para terminal, URLs y tools.
Autopilot es un modo de agente que autoaprueba las tools y permite que el agente continúe trabajando automáticamente hasta considerar la tarea terminada.
Sí. Los Subagents permiten delegar subtareas en contextos independientes y devolver sus resultados al agente principal.
Sí. En los flujos de sesiones de VS Code pueden utilizarse Worktrees para aislar cambios de distintas tareas y agentes.
Los checkpoints permiten regresar a un estado anterior de los archivos afectados y de la conversación cuando una ejecución toma una dirección incorrecta. No reemplazan Git.
Sí. Los servidores MCP pueden proporcionar herramientas adicionales al agente para acceder a documentación, servicios, bases de datos y otras aplicaciones.
Sí. Las Agent Skills permiten almacenar procedimientos, instrucciones, scripts y recursos para tareas especializadas.
Agent Mode normalmente trabaja sobre un entorno local o una sesión administrada desde VS Code. Cloud Agent ejecuta la tarea remotamente sobre GitHub y prepara cambios mediante una rama y Pull Request.
Sí. Puede trabajar sobre plugins y themes, analizar PHP, MySQL, AJAX, REST API, WooCommerce, JavaScript y ejecutar las herramientas de verificación disponibles en el proyecto.
GitHub Copilot Cloud Agent: cómo delegar tareas y recibir Pull Requests
Agent Mode es ideal cuando quieres trabajar de forma interactiva. El siguiente paso es aprender a delegar tareas completas para que Copilot trabaje remotamente sobre GitHub, cree una rama, ejecute verificaciones y prepare un Pull Request para revisión.
Aprender Copilot Cloud Agent →