Cualquier desarrollador que empiece a trabajar en un código base existente normalmente leerá el README del repositorio, las convenciones de codificación y otra documentación para comprender cómo funciona el proyecto y cómo contribuir. Esto les ayuda a enviar pull requests de buena calidad desde el principio. A medida que trabajan en el proyecto, la calidad de su trabajo mejorará normalmente, ya que se familiarizan con el código base y aprenden sus matices. De la misma manera, Copilot Memory permite Copilot crear su propio conocimiento de un repositorio y la forma en que le gusta trabajar, lo que le permite ser cada vez más eficaz con el tiempo.
Tipos de recuerdos
Copilot puede almacenar dos tipos de memoria:
- Los datos a nivel de repositorio describen una base de código y se comparten con sus colaboradores.
- Las preferencias de nivel de usuario describen cómo le gusta personalmente trabajar y le acompañan entre repositorios. Pueden incluir cómo desea que se presenten las respuestas, las acciones que requieren su aprobación y los flujos de trabajo que desea que Copilot siga en los proyectos.
| Datos a nivel de repositorio | Preferencias de nivel de usuario | |
|---|---|---|
| Lo que capturan | Información sobre un repositorio, como convenciones de codificación, decisiones arquitectónicas, comandos de compilación y prueba, y reglas específicas del proyecto. | Sus preferencias claramente no confidenciales, los requisitos de aprobación y los flujos de trabajo reutilizables que se aplican en todos sus proyectos. |
| Quién puede verlos | Usuarios con acceso de lectura al repositorio que pueden usar Copilot Memory. La visualización de memorias en la configuración del repositorio requiere acceso de escritura y preferencias de nivel de usuario habilitadas para su cuenta. | Usted y cualquier persona que pueda ver una sesión compartida del agente en la que aparezca la preferencia pueden verla. En los planes Copilot Business y Copilot Enterprise, una organización o un administrador de empresa también pueden ver y exportar. |
| Dónde se aplican | Solo en operaciones sobre el mismo repositorio. | En tus interacciones en todos tus repositorios. |
| Quién puede crearlas | Usuarios con acceso de escritura al repositorio que tienen Copilot Memory habilitado. | Solo tú, a partir de tus propias interacciones. |
| Quién puede eliminarlos | Usuarios con acceso de escritura al repositorio que tienen las preferencias de nivel de usuario habilitadas para su cuenta. Consulte Administración de la memoria de Copilot para una empresa, organización o repositorio. | Tú. En los planes Copilot Business y Copilot Enterprise, una organización o un administrador de empresa también pueden eliminarlos. |
| Cómo se citan | Con citas que apuntan al código que respalda esa afirmación. | Con citas que pueden incluir citas directas de lo que dijo. |
Por ejemplo, "este repositorio usa Vitest para pruebas unitarias" es un hecho sobre el código base que resulta útil para todas las personas que trabajan en él, por lo que se almacena como un hecho de nivel de repositorio. "Explicar los cambios antes de aplicarlos" es una declaración sobre cómo desea personalmente que Copilot se comporte, por lo que se almacena como una preferencia de nivel de usuario y se aplica dondequiera que trabaje.
Los recuerdos solo se crean cuando la configuración aplicable permite ese tipo de memoria.
Dónde Copilot Memory está disponible
Copilot Memory está disponible en todos los planes de pago Copilot . Que se use o no depende de la configuración de tu plan, del acceso al repositorio y de la interfaz que uses.
Copilot Memory se puede usar por Copilot:
- GitHub Copilot app
- Copilot CLI
- Copilot code review
- Copilot cloud agent
- Agentic Autofix
- Copilot en GitHub Mobile
- Copilot en Slack
- Copiloten Microsoft Teams
Los hechos y preferencias capturados por una Copilot superficie pueden ser utilizados por otra Copilot superficie. Por ejemplo, si Copilot cloud agent detecta cómo el repositorio controla las conexiones de base de datos, Copilot code review más adelante puede aplicar ese conocimiento para detectar patrones incoherentes en una solicitud de incorporación de cambios. Del mismo modo, si Copilot code review aprende que ciertas configuraciones deben permanecer sincronizadas entre dos archivos, Copilot cloud agent sabrá actualizar ambos archivos al cambiar uno.
Nota:
La disponibilidad en GitHub Copilot app depende de si Copilot Memory se ha habilitado para su cuenta. No hay ninguna configuración en la aplicación para activar esta opción. Cuando estén disponibles, la configuración personal, la configuración del repositorio y las directivas aplicables determinan qué tipos de memoria se pueden usar.
La configuración Memoria de un proyecto en GitHub Copilot app es una característica independiente. Almacena las preferencias de ese proyecto entre tareas, no los datos del repositorio compartido y las preferencias de nivel de usuario que se describen en este artículo. Editar o desactivar la memoria de un proyecto no edita ni desactiva Copilot Memory.
Diferencias entre el almacenamiento y la propiedad entre los tipos de memoria
Los dos tipos de memoria se almacenan por separado y pertenecen a distintos propietarios y se administran de forma diferente.
Datos a nivel de repositorio
Cada hecho de nivel de repositorio pertenece a un repositorio específico y se puede ver y eliminar en la configuración del repositorio. Cuando Copilot encuentra un hecho de nivel de repositorio relevante para su trabajo actual, comprueba las referencias del hecho en la rama actual para juzgar si la información sigue siendo precisa. Dado que se trata de una decisión Copilot, en lugar de una garantía aplicada por el sistema, no se debe confiar en un hecho almacenado como una regla que siempre se seguirá. Para proporcionar instrucciones de forma coherente, use instrucciones personalizadas en su lugar. Consulte Uso de instrucciones personalizadas junto con Copilot Memory.
Los datos del repositorio no se agrupan en los repositorios de una organización. Bifurcar un repositorio no copia sus memorias almacenadas a la bifurcación. Las preferencias de nivel de usuario todavía se pueden aplicar al trabajar en el fork.
Preferencias de nivel de usuario
Las preferencias de nivel de usuario se almacenan en la configuración del usuario. Cuando Copilot encuentra una preferencia relevante para su trabajo actual, usa su mejor criterio para confirmar que la preferencia sigue siendo aplicable.
Copilot Business y Copilot Enterprise planes
En los planes Copilot Business y Copilot Enterprise, las preferencias de nivel de usuario son propiedad de la entidad de facturación, que es la organización o empresa que concede al usuario su licencia. Cuando se crea una preferencia, se asocia a la entidad de facturación activa para el uso actual del usuario. A continuación, cuando Copilot crea contexto para una sesión del agente, examina de nuevo la entidad de facturación activa actual del usuario y solo recupera las preferencias que pertenecen a esa entidad de facturación. Los usuarios pueden revisar sus preferencias de nivel de usuario almacenadas y el propietario de cada preferencia mostrada, en su configuración personal.
Los usuarios que tienen varias licencias de diferentes lugares deben seleccionar una entidad de facturación predeterminada en su configuración de cuenta para crear nuevos factores de nivel de repositorio o preferencias de nivel de usuario.
Los propietarios de la organización y de la empresa pueden exportar o eliminar preferencias de nivel de usuario para sus miembros, ya sea de forma masiva o por usuario. Consulte Administración de la memoria de Copilot para una empresa, organización o repositorio.
Cómo se crean los recuerdos
Copilot crea recuerdos, como un subproducto de trabajar con usted. A medida que Copilot funciona, observa hechos duraderos sobre un repositorio y detalles de tus propias preferencias personales, que considera que merece la pena conservar, y los almacena para su uso posterior.
Puede revisar las preferencias de nivel de usuario que Copilot ha almacenado para usted y eliminar las que no quiera que Copilot use. Si tiene acceso de escritura a un repositorio y a las preferencias de nivel de usuario habilitadas para su cuenta, también puede revisar y eliminar facts de nivel de repositorio en la configuración del repositorio. No puede crear ni editar directamente una memoria individual en la configuración de GitHub.com, pero puede influir en que Copilot cree recuerdos. Si declara claramente una preferencia personal o un hecho sobre un repositorio (o pide Copilot explícitamente que recuerde algo), es probable que se capture como una memoria. También puede usar Copilot CLI para importar memorias preparadas de forma masiva. Consulte Cómo importar memorias con Copilot CLI. Cuando Copilot crea una memoria como resultado de algo que has dicho, tus palabras se registran como la cita de la memoria.
Copilot permite elegir si una memoria es un hecho de nivel de repositorio o una preferencia de nivel de usuario. Basa esa elección en a quién se aplica la memoria, en lugar de en quién la ha indicado. Algo que sería cierto para cualquier persona que trabaja en el repositorio se convierte en un hecho de nivel de repositorio, mientras que algo que refleja su propia manera de trabajar se convierte en una preferencia de nivel de usuario. Si su intención es ambigua, Copilot le pide que aclare el ámbito en lugar de adivinar. Puede evitar ambigüedad indicando explícitamente si la memoria es para usted o para todas las personas que trabajan en el repositorio.
El tipo de memoria que Copilot puede crear depende del contexto. Los hechos de nivel de repositorio solo se crean cuando Copilot trabaja en un repositorio al que tiene acceso de escritura, y las preferencias de nivel de usuario solo se crean cuando Copilot puede identificarle como la persona con la que está trabajando.
Datos almacenados para cada registro
Cada memoria contiene datos que Copilot necesita para determinar si, cuándo y cómo usar esa memoria. Algunos de estos datos(por ejemplo, los detalles de votación) son solo para uso interno y, por tanto, no se muestran en el GitHub sitio web ni se incluyen en los registros de auditoría. En la tabla siguiente se muestra una selección de los datos almacenados para cada elemento guardado e indica cuáles de los campos se muestran en las páginas de configuración de GitHub.com.
| Data | Example | Mostrado |
|---|---|---|
| Texto en memoria | The payments module must never call Stripe directly — route all charges through BillingGateway. | |
| Área de asunto | architecture | |
| Agent | Copilot cloud agent | |
| Model | claude-sonnet-4 | |
| Entidad de facturación | Acme Org | |
| Citas | — | |
| Motivo para almacenar | — | |
| Dato del repositorio o preferencia del usuario | — | |
| Datos de votación | — | |
| Fecha y hora de expiración | — |
Nota:
- Se han omitido ejemplos de datos para los campos que no se muestran.
- El modelo y la entidad de facturación no siempre están presentes, por lo que es posible que no se muestren.
- Si la entidad de facturación es una organización, el icono de edificio (🏢) se muestra en la interfaz de usuario. Si es una empresa, se muestra el icono de globo (🌐).
Cómo se refuerzan y retiran los recuerdos
Copilot no trata una memoria como verdadera permanentemente una vez que se ha almacenado. En su lugar, a Copilot se le indica que compruebe las citas proporcionadas con cada recuerdo antes de usarlo. Copilot usa un sistema de votación interno para evaluar la utilidad de cada memoria, en función de si la memoria sigue siendo válida. Puede votar positivamente una memoria que pueda validar y votar negativamente una memoria si se encuentra incorrecta u obsoleta. Esto refuerza recuerdos útiles.
No todas las memorias del almacén de memoria se envían a un modelo con tu prompt. Es más probable que se envíen los recuerdos con votos positivos. Por lo tanto, los votos positivos hacen que una memoria tenga más probabilidades de aplicarse en el trabajo futuro. Los recuerdos que reciben votos negativos más allá de un umbral ya no se usan y se eliminarán después de un período de desuso.
Los votos positivos y negativos se llevan a cabo automáticamente mediante Copilot. Aunque puede influir en que Copilot vote positiva o negativamente una memoria —proporcionando un comentario positivo o negativo sobre el uso de esa memoria en una sesión—, esto es algo que puede dejar que Copilot lo gestione. El recuento de votos de una memoria no se muestra intencionadamente, pero puede ver el efecto de votar en el orden en que se enumeran las memorias en la página de configuración pertinente. Los recuerdos con votos positivos suben en la lista, mientras que los recuerdos con votos negativos bajan.
Las páginas de configuración muestran recuerdos clasificados por utilidad. Los recuerdos que Copilot ha aprendido a no usar están ocultos de la lista, pero pueden permanecer almacenados hasta que expiren. Una memoria que desaparece de la lista no significa necesariamente que se haya eliminado.
Si Copilot ha usado una memoria que no desea que vuelva a usar, debe eliminarla explícitamente de la configuración del repositorio (para un dato del repositorio) o de la configuración personal (para una preferencia de nivel de usuario). Consulte Gestionar la memoria de Copilot para tu cuenta personal.
Retención y expiración
Para evitar que la información obsoleta persista, los hechos almacenados del repositorio y las preferencias del usuario expiran después de un período sin refuerzo. El período de expiración se inicia cuando se crea una memoria y se restablece cuando Copilot le da un voto positivo. Simplemente recuperar un recuerdo no restablece este período.
El período de expiración predeterminado es de 90 días. Los propietarios de la empresa y de la organización pueden configurar el período de expiración de los facts de nivel de repositorio en cualquier valor entre 7 y 180 días (ambos incluidos). Esta configuración no se aplica a las preferencias de nivel de usuario, que siempre usan el período de retención predeterminado. Al cambiar el período de retención no se actualiza la fecha de los hechos de nivel de repositorio que ya están almacenados: adoptan el nuevo período de retención la próxima vez que Copilot los refuerza.
Si una organización y la empresa a la que pertenece establecen distintos períodos de expiración, se usa el menor de los dos valores.
Cuando Copilot vota positivamente una memoria, el período de expiración de esa memoria se restablece al período de expiración predeterminado o configurado. Esto extiende la vida útil de una unidad de memoria que se ha usado. Votar negativamente una memoria no modifica el período restante antes de que expire esa memoria.
Nota:
Los datos del repositorio se pueden capturar a partir de pull requests que se cerraron sin fusionarse. Copilot se le indica que compruebe estos hechos en relación con el código base actual, pero esto no garantiza que reconozca todos los hechos obsoletos.
¿Qué Copilot no almacena?
El sistema impide que se almacene algún contenido y Copilot recibe instrucciones de no almacenar otro contenido:
- Las memorias se comprueban en busca de secretos, como tokens, claves o credenciales. Los recuerdos en los que se detecta un secreto se rechazan y no se almacenan.
- El sistema puede rechazar memorias que contienen tokens de control del modelo reconocidos, como defensa contra la inyección de prompts.
- Copilot se le indica que no almacene información personal sensible, información confidencial ni nada compartido en confianza.
- Copilot se indica que no almacene instrucciones específicas de tareas o de corta duración, ya que las memorias están diseñadas para capturar cosas que permanecen verdaderas a lo largo del tiempo.
Configuración predeterminada
Las preferencias de nivel de usuario y los hechos de nivel de repositorio tienen valores predeterminados independientes. Los valores predeterminados siguientes se aplican cuando Copilot Memory está disponible y usted o un administrador no han cambiado la configuración pertinente. Los opt-outs existentes permanecen en vigor.
| Plan | Valor predeterminado para las preferencias de nivel de usuario |
|---|---|
| Copilot Pro, Copilot Pro+ y Copilot Max | Habilitado. Puede darse de baja en su configuración personal. |
| Copilot Business y Copilot Enterprise | Deshabilitado hasta que un propietario de la organización o propietario de la empresa habilite la directiva. Después, puede desactivarlo en su configuración personal. |
Las configuraciones de nivel de repositorio tienen un valor predeterminado independiente para todos estos planes. Se permite el acceso a la memoria del repositorio a menos que la configuración de la empresa, la organización o el repositorio lo restrinjan. La configuración de acceso al repositorio de una organización tiene como valor predeterminado Todos los repositorios. Deshabilitar las preferencias de nivel de usuario en la configuración personal no deshabilita los datos de nivel de repositorio. Consulte Gestionar Copilot Memory repositorios.
Configuración de cada superficie
Algunas superficies tienen una configuración local adicional. Activarla permite que la superficie se use Copilot Memory solo si la configuración descrita anteriormente también lo permite.
Todas estas áreas admiten datos a nivel de repositorio. Todas excepto Copilot code review y agentic autofix también admiten preferencias de nivel de usuario. En Copilot CLI, las preferencias de usuario pertenecen al usuario que inició la sesión.
En las sesiones interactivas Copilot app y Copilot, Copilot CLI puede pedirle que apruebe el almacenamiento de un recuerdo. Copilot cloud agent y Copilot code review no piden esta aprobación.
El Copilot cloud agent comportamiento descrito aquí también se aplica a sus sesiones iniciadas desde Slack o Microsoft Teams. Consulte Integración del agente en la nube de Copilot con Slack y Integración del agente de la nube Copilot con Teams.
Copilot code review y agentic autofix nunca aplican preferencias de nivel de usuario, por lo que una preferencia personal no cambiará cómo se revisan las solicitudes de incorporación de cambios o se corrigen las alertas de seguridad.
En Copilot CLI, solo el agente raíz puede usar store_memory o vote_memory. Los subagentes pueden leer recuerdos cuando tienen acceso a read_memories, pero no pueden cambiarlos.
Nota:
Las aplicaciones creadas con Copilot SDK pueden habilitar Copilot Memory al crear o reanudar una sesión. El SDK no proporciona API para enumerar, editar ni eliminar memorias. Consulte Compatibilidad del SDK y la CLI.
¿Qué determina si Copilot Memory se usa?
Las preferencias de nivel de usuario y los hechos de nivel de repositorio tienen controles independientes. Si Copilot Memory se usa depende de la configuración del tipo de memoria pertinente y del cliente que use:
-
Tu configuración personal. La Copilot Memory configuración de la cuenta personal controla si las preferencias de nivel de usuario se pueden almacenar y usar en las sesiones. No controla los datos de nivel de repositorio ni invalida las restricciones del administrador. Consulte Gestionar la memoria de Copilot para tu cuenta personal.
En los planes administrados por la empresa y la organización, las preferencias de nivel de usuario están desactivadas hasta que un administrador las habilite, después de lo cual puede desactivarlas.
-
Su política de empresa u organización. En los planes administrados, la Copilot Memory directiva controla las preferencias de nivel de usuario. Si mantiene licencias de más de una organización, se aplica la directiva más restrictiva. El acceso al repositorio se controla por separado. Consulte Administración de la memoria de Copilot para una empresa, organización o repositorio.
-
Acceso y configuración del repositorio. Un propietario de la organización puede permitir datos a nivel de repositorio para todos los repositorios, los seleccionados o ningún repositorio, sujetos a restricciones empresariales. Un administrador de repositorios también puede desactivar los datos de nivel de repositorio para un repositorio individual.
Nota:
Desactivar los datos de nivel de repositorio no desactiva las preferencias de nivel de usuario. De forma similar, deshabilitar las preferencias de nivel de usuario no deshabilita por sí mismo los hechos de nivel de repositorio.
-
La configuración de su cliente. En una sesión interactiva Copilot CLI ,
/memory offdeshabilita ambos tipos de memoria, incluso si la otra configuración las permite. Esta preferencia es independiente de tu configuración en GitHub.com y se guarda para sesiones interactivas futuras en ese equipo. Esto borra esta preferencia, pero no puede invalidar las restricciones aplicables de empresa, organización o repositorio. Las ejecuciones no interactivas requieren la opción independiente--enable-memory. Visual Studio Code también tiene su propia configuración dentro de la aplicación. Consulte Gestionar la memoria de Copilot para tu cuenta personal.
Resumen de cuándo Copilot Memory se usa
Para usar Copilot Memory:
- Debe tener un plan de pago Copilot admitido.
- El cliente que usa debe admitir Copilot Memoryy cualquier configuración local debe permitirlo. En Copilot CLI, utilice
/memory showpara comprobar la configuración local. - Si tiene varias Copilot licencias, debe seleccionar una entidad de facturación predeterminada antes de que se puedan almacenar nuevas memorias.
Para las preferencias de nivel de usuario, la configuración personal Copilot Memory y cualquier directiva de empresa u organización aplicable también deben permitirlas.
Para los datos del repositorio:
- Debe tener acceso al repositorio.
- Debe tener permiso para hacer push en el repositorio para crear nuevos datos del repositorio.
- Copilot Memory no debe deshabilitarse para el repositorio en la configuración de Copilot del repositorio.
- Si el repositorio es propiedad de una organización, el acceso al repositorio de Copilot Memory la organización debe incluir ese repositorio.
- Cualquier restricción empresarial aplicable al acceso a la memoria del repositorio no debe impedirlo.
Uso y facturación
Las memorias incluidas en el contexto de un modelo se contabilizan en el uso de tokens y pueden afectar al consumo de AI credits de una interacción. El costo depende del modelo y del número de tokens usados. Para obtener más información, vea Modelos y precios para GitHub Copilot.
Uso de instrucciones personalizadas junto con Copilot Memory
Copilot Memory y las instrucciones personalizadas resuelven problemas similares de maneras diferentes y funcionan bien juntas.
Copilot Memory está compilado y mantenido por Copilot. No requiere mantenimiento, se adapta a medida que cambia el código base y sus hábitos, y descarta lo que deja de ser relevante. Copilot decide qué recordar, juzga si todavía se aplica un recuerdo y puede que no aplique un recuerdo en cada sesión.
Las instrucciones personalizadas las redacta y mantiene usted. Proporcionan instrucciones para que Copilot las tenga en cuenta y son visibles en el repositorio o en la configuración personal, por lo que puede ver y revisar exactamente lo que se le ha indicado a Copilot.
Use instrucciones personalizadas para indicar reglas importantes, como un requisito de seguridad o un paso de revisión obligatorio, y deje que Copilot Memory controle los detalles acumulados que, de lo contrario, harían que un archivo de instrucciones fuera largo y difícil de mantener. Ni las memorias ni las instrucciones personalizadas garantizan que Copilot siga una regla cada vez, así que revise su trabajo. Para obtener más información, vea Instrucciones personalizadas para GitHub Copilot.