Uso de enlaces de contexto
Los enlaces de contexto son una característica de la CLI de Amazon Q Developer que puede utilizar para introducir contexto automáticamente en las conversaciones con Q Developer. En lugar de añadir contexto manualmente con el comando /context, los enlaces de contexto ejecutan comandos e incluyen su resultado como contexto.
Tipos de enlaces de contexto
La CLI de Q Developer admite dos tipos de enlaces de contexto:
- Enlaces de inicio de conversación
-
Se ejecutan una vez al comienzo de una conversación. Su resultado se añade al contexto de la conversación y persiste durante toda la sesión.
- Enlaces por petición
-
Se ejecutan con cada mensaje de usuario. Su resultado se añade solo a la petición actual.
Administración de enlaces de contexto
Puede administrar los enlaces de contexto mediante el comando /context hooks de la CLI de Q Developer.
Visualización de los enlaces
Cómo ver todos los enlaces configurados globalmente y en los perfiles:
/context hooks
Este comando muestra todos los enlaces que se han configurado globalmente y en el perfil actual, junto con su estado (habilitado o deshabilitado).
Adición de un enlace
Cómo añadir un nuevo enlace de contexto:
/context hooks add [--global] <name> --trigger <trigger> --command <command>
- <name>
-
Un nombre único para el enlace
- <trigger>
-
per_promptoconversation_start - <command>
-
El comando de intérprete de comandos que se va a ejecutar
- --global
-
(Opcional) Añade el enlace a la configuración global en lugar de hacerlo al perfil actual
ejemplo Adición de un enlace de estado de git
/context hooks add git-status --trigger per_prompt --command "git status --short"
Eliminación de un enlace
Cómo eliminar un enlace de contexto existente:
/context hooks rm <name> [--global]
Habilitación o deshabilitación de enlaces
Cómo habilitar un determinado enlace:
/context hooks enable [--global] <name>
Cómo deshabilitar un determinado enlace:
/context hooks disable [--global] <name>
Cómo habilitar todos los enlaces:
/context hooks enable-all [--global]
Cómo deshabilitar todos los enlaces:
/context hooks disable-all [--global]
Obtención de ayuda con los enlaces
Cómo mostrar la ayuda detallada sobre los comandos de enlaces:
/context hooks help
Configuraciones
Puede verificar la configuración de los enlaces en las siguientes ubicaciones.
Si el enlace es global:
~/.aws/amazonq/global_context.json
Si el enlace se basa en un perfil:
~/.aws/amazonq/profiles/profile-name/context.json
Ejemplos de casos de uso
En los siguientes ejemplos se muestran casos de uso frecuentes para enlaces de contexto.
Estado de Git
Añada un enlace para mostrar el estado de git con cada petición:
/context hooks add git-status --trigger per_prompt --command "git status --short"
Este enlace ejecuta el comando git status --short antes de cada petición e incluye el resultado en la conversación con Q Developer. Esto ayuda a Q Developer a entender el estado actual del repositorio de git cuando formule preguntas sobre el control de versiones o si necesita ayuda con los comandos de git.
Información del proyecto
Añada un enlace para mostrar la información del proyecto al inicio de una conversación:
/context hooks add project-info --trigger conversation_start --command "echo 'Project: '$(basename $(pwd))"
Este enlace se ejecuta una vez al principio de la conversación e incluye el nombre del proyecto actual en el contexto. Esto ayuda a Q Developer a proporcionar respuestas más pertinentes y específicas para el proyecto.
sugerencia
Puede ampliar este enlace para incluir más información sobre el proyecto, como, por ejemplo, el lenguaje de programación, el marco o la estructura del proyecto.
Comportamiento y limitaciones
Al utilizar enlaces de contexto, tenga en cuenta los siguientes comportamientos y limitaciones:
-
Los enlaces se ejecutan en paralelo para minimizar el impacto en el tiempo de respuesta.
-
El resultado del enlace tiene formato y esta claramente marcado en el contexto.
-
El comando
/clearvuelve a evaluar los enlaces de inicio de conversación. -
Los enlaces se almacenan en la configuración de la CLI de Q Developer.
-
Actualmente, solo se admiten los enlaces de comandos de inserción.
-
El límite del resultado del enlace es de 10 KB por enlace.
-
De forma predeterminada, los enlaces tienen un tiempo de espera de cinco segundos.
Consideraciones de seguridad
Al utilizar enlaces de contexto, tenga en cuenta las siguientes prácticas recomendadas de seguridad:
-
Los enlaces de contexto ejecutan comandos de intérprete de comandos con los permisos de usuario actuales. Tenga cuidado con los comandos que incluya en los enlaces, ya que tienen el mismo acceso que la cuenta de usuario.
-
Tenga cuidado al añadir enlaces que puedan exponer información confidencial, como, por ejemplo, credenciales o datos personales. Revise el resultado de los enlaces para asegurarse de que no incluyan información que no quiera compartir.
-
Plantéese la posibilidad de deshabilitar los enlaces cuando no los necesite. Esto reduce el riesgo de exponer accidentalmente información confidencial.
-
No utilice enlaces para ejecutar comandos que puedan modificar el sistema o los datos. Los enlaces deben usarse para leer información, no para realizar cambios.
-
Tenga cuidado al usar enlaces en entornos compartidos. Es posible que otros usuarios puedan ver el resultado de los enlaces si tienen acceso a las sesiones de la CLI de Q Developer.
aviso
Nunca incluya comandos en los enlaces que expongan contraseñas, claves de acceso u otras credenciales. Esta información podría almacenarse en el historial de conversaciones y quedar expuesta a otras personas.
Solución de problemas
Si encuentra problemas con los enlaces de contexto, pruebe las siguientes soluciones:
| Problema | Solución |
|---|---|
| El enlace no se ejecuta | Compruebe que el enlace esté habilitado con /context hooks. |
| Se produjo un error en el comando | Pruebe el comando directamente en el terminal para asegurarse de que funcione. |
| El resultado es demasiado grande | Modifique el comando para limitar el tamaño del resultado. |
| Se ha agotado el tiempo de espera del enlace | Optimice el comando para una ejecución más rápida. |