Español

Entorno aislado

Cómo funciona el aislamiento en los clientes de ChatGPT y Codex

El entorno aislado es el límite que permite al agente actuar de forma autónoma sin darle acceso sin restricciones a su equipo. Cuando un chat local ejecuta comandos en la aplicación de escritorio ChatGPT, Codex CLI o la extensión para IDE, esos comandos se ejecutan dentro de un entorno restringido en lugar de ejecutarse con acceso completo de forma predeterminada.

Ese entorno define lo que el agente puede hacer por sí solo, como qué archivos puede modificar y si los comandos pueden usar la red. Cuando una tarea se mantiene dentro de esos límites, el agente puede seguir avanzando sin detenerse para pedir confirmación. Cuando necesita superarlos, entra en acción el flujo de aprobación.

Qué hace el entorno aislado

El entorno aislado se aplica a los comandos iniciados, no solo a las operaciones de archivos integradas. Si el agente ejecuta herramientas como git, gestores de paquetes o ejecutores de pruebas, esos comandos heredan los mismos límites del entorno aislado.

Codex utiliza mecanismos de control nativos de la plataforma en cada sistema operativo. La implementación varía entre macOS, Linux, WSL2 y Windows nativo, pero la idea es la misma en todas las interfaces: proporcionar al agente un espacio delimitado en el que trabajar para que las tareas rutinarias puedan ejecutarse de forma autónoma dentro de límites claros.

Por qué es importante

El entorno aislado reduce la fatiga causada por las aprobaciones. En lugar de pedirle que confirme cada comando de bajo riesgo, el agente puede leer archivos, realizar cambios y ejecutar comandos rutinarios del proyecto dentro del límite que ya haya aprobado.

También le proporciona un modelo de confianza más claro para el trabajo de agentes. No solo confía en las intenciones del agente, sino también en que este opera dentro de límites impuestos. Esto facilita que el agente trabaje de forma independiente sin dejar de saber cuándo se detendrá y pedirá ayuda.

Primeros pasos

El modo de permisos predeterminado aplica el aislamiento automáticamente.

Requisitos previos

En macOS, el aislamiento funciona de forma inmediata mediante el framework Seatbelt integrado.

En Windows, Codex utiliza el entorno aislado de Windows nativo cuando se ejecuta en PowerShell y la implementación del entorno aislado de Linux cuando se ejecuta en WSL2.

En Linux y WSL2, instale primero bubblewrap con su gestor de paquetes:

Ubuntu/Debian

sudo apt install bubblewrap

Fedora

sudo dnf install bubblewrap

Codex utiliza el primer ejecutable bwrap que encuentra en PATH. Si no hay ningún ejecutable bwrap disponible, Codex recurre a una herramienta auxiliar incluida, pero esta requiere compatibilidad con la creación de espacios de nombres de usuario sin privilegios. Instalar el paquete de la distribución que proporciona bwrap mantiene esta configuración fiable.

Codex muestra una advertencia al iniciarse cuando falta bwrap o cuando la herramienta auxiliar no puede crear el espacio de nombres de usuario necesario. En distribuciones que restringen esta opción de AppArmor, es preferible cargar el perfil de AppArmor bwrap para que bwrap pueda seguir funcionando sin desactivar globalmente la restricción.

Cómo funcionan los permisos

Utilice el control de permisos de su interfaz para cambiar cómo gestiona Codex las acciones locales.

Las aprobaciones determinan cuándo se pausa Codex antes de una acción, mientras que el entorno aislado determina a qué archivos y recursos de red pueden acceder los comandos. Cuando una aprobación ofrezca distintos ámbitos, como aprobar una sola vez o durante la sesión, elija el ámbito más limitado que permita continuar con la tarea. Mantenga el límite del proyecto como opción predeterminada; utilice proyectos o árboles de trabajo separados en lugar de ampliar el acceso a repositorios no relacionados.

En la aplicación de escritorio ChatGPT, utilice el control de permisos situado debajo del cuadro de redacción. Según su configuración, el menú puede incluir Solicitar aprobación, Aprobar por mí para las solicitudes de aprobación aptas, Acceso completo y perfiles de permisos personalizados o con nombre.

Configurar los valores predeterminados

Para comenzar siempre con el mismo comportamiento, establezca los valores predeterminados en config.toml. Conceptos básicos de configuración explica cómo funciona, y la Referencia de configuración documenta las claves exactas para sandbox_mode, approval_policy, approvals_reviewer y sandbox_workspace_write.writable_roots. Utilice esos ajustes para decidir cuánta autonomía obtiene el agente de forma predeterminada, en qué directorios puede escribir, cuándo debe detenerse para solicitar aprobación y quién revisa las solicitudes de aprobación aptas.

En términos generales, los modos habituales del entorno aislado son:

  • read-only: El agente puede inspeccionar archivos, pero no puede editarlos ni ejecutar comandos sin aprobación.
  • workspace-write: El agente puede leer archivos, editarlos dentro del espacio de trabajo y ejecutar comandos locales rutinarios dentro de ese límite. Este es el modo predeterminado con menos interrupciones para el trabajo local.
  • danger-full-access: El agente se ejecuta sin las restricciones del entorno aislado. Esto elimina los límites del sistema de archivos y de la red, y solo debe utilizarse cuando quiera que el agente actúe con acceso completo.

Las políticas de aprobación habituales son:

  • untrusted: El agente pregunta antes de ejecutar comandos que no pertenecen a su conjunto de confianza.
  • on-request: El agente trabaja dentro del entorno aislado de forma predeterminada y pregunta cuando necesita superar ese límite.
  • never: El agente no se detiene para mostrar solicitudes de aprobación.

Cuando las aprobaciones son interactivas, también puede elegir quién las revisa mediante approvals_reviewer:

  • user: las solicitudes de aprobación se muestran al usuario. Esta es la opción predeterminada.
  • auto_review: las solicitudes de aprobación aptas se envían a un agente revisor (consulte revisión automática).

El acceso completo implica utilizar sandbox_mode = "danger-full-access" junto con approval_policy = "never". En cambio, la configuración preestablecida de automatización local de menor riesgo combina sandbox_mode = "workspace-write" con approval_policy = "on-request", o utiliza las opciones equivalentes de CLI --sandbox workspace-write --ask-for-approval on-request. Después puede mantener approvals_reviewer = "user" para las aprobaciones manuales o establecer approvals_reviewer = "auto_review" para la revisión automática de aprobaciones.

Si necesita que el agente trabaje en más de un directorio, las raíces con permisos de escritura le permiten ampliar los lugares que puede modificar sin eliminar por completo el entorno aislado. Si necesita un límite de confianza más amplio o más restringido, ajuste el modo predeterminado del entorno aislado y la política de aprobación en lugar de depender de excepciones puntuales.

Cuando un flujo de trabajo necesite una excepción específica, utilice reglas. Las reglas le permiten autorizar, solicitar confirmación o prohibir prefijos de comandos fuera del entorno aislado, lo que suele ser más adecuado que ampliar el acceso de forma general. Para conocer los puntos de entrada de configuración específicos del IDE, consulte Configuración de la extensión de Codex para IDE.

La revisión automática, cuando está disponible, no cambia el límite del entorno aislado. Es una posible opción de approvals_reviewer para las solicitudes de aprobación en ese límite, como las ampliaciones de permisos del entorno aislado, el acceso a la red bloqueado o las llamadas a herramientas con efectos secundarios que aún necesitan aprobación. Las acciones que ya están permitidas dentro del entorno aislado se ejecutan sin revisión adicional. Para obtener información sobre el ciclo de vida del revisor, los tipos de activadores, la semántica de las denegaciones y los detalles de configuración, consulte revisión automática.

Los detalles de cada plataforma se encuentran en la documentación específica correspondiente. Para obtener información sobre la configuración, el comportamiento y la solución de problemas de Windows nativo, consulte Windows. Para conocer los requisitos de administración y las restricciones de la organización sobre el aislamiento y las aprobaciones, consulte Aprobaciones y seguridad de agentes.