Ejemplos - Amazon Q Developer

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos

En esta sección se proporcionan ejemplos prácticos de configuraciones de agentes personalizadas para flujos de trabajo de desarrollo y casos de uso comunes.

Agente personalizado especializado en AWS

Este agente personalizado está optimizado para las tareas de administración y desarrollo de la infraestructura de AWS. Proporciona acceso previamente aprobado a las herramientas de AWS e incluye la documentación pertinente.

ejemplo Configuración de agentes personalizados especializados en AWS
{ "description": "Specialized custom agent for AWS infrastructure and development tasks", "tools": [ "fs_read", "fs_write", "execute_bash", "use_aws" ], "allowedTools": [ "fs_read", "use_aws" ], "toolsSettings": { "use_aws": { "allowedServices": [ "s3", "lambda", "cloudformation", "ec2", "iam", "logs" ] }, "fs_write": { "allowedPaths": [ "infrastructure/**", "scripts/**", "*.yaml", "*.yml", "*.json" ] } }, "resources": [ "file://README.md", "file://infrastructure/**/*.yaml", "file://infrastructure/**/*.yml", "file://docs/aws-setup.md", "file://scripts/deploy.sh" ], "hooks": { "agentSpawn": [ { "command": "aws sts get-caller-identity", "timeout_ms": 10000, "cache_ttl_seconds": 300 } ] } }

Casos de uso de este agente personalizado:

  • Implementación CloudFormation de pilas

  • Administración de buckets S3 y funciones Lambda

  • Solución de problemas con los servicios de AWS

  • Revisión y actualización de la infraestructura como código

Agente personalizado de flujo de trabajo de desarrollo

Este agente personalizado está diseñado para tareas generales de desarrollo de software, incluidas la revisión del código, las pruebas y las operaciones de Git.

ejemplo Flujo de trabajo de desarrollo: configuración de agentes personalizada
{ "description": "General development workflow custom agent with Git integration", "mcpServers": { "git": { "command": "git-mcp-server", "args": [], "timeout": 30000 } }, "tools": [ "fs_read", "fs_write", "execute_bash", "@git" ], "allowedTools": [ "fs_read", "@git/git_status", "@git/git_log", "@git/git_diff" ], "toolAliases": { "@git/git_status": "status", "@git/git_log": "log", "@git/git_diff": "diff" }, "toolsSettings": { "fs_write": { "allowedPaths": [ "src/**", "tests/**", "docs/**", "*.md", "*.json", "package.json", "requirements.txt" ] } }, "resources": [ "file://README.md", "file://CONTRIBUTING.md", "file://docs/**/*.md", "file://package.json", "file://requirements.txt" ], "hooks": { "agentSpawn": [ { "command": "git status --porcelain", "timeout_ms": 5000 }, { "command": "git branch --show-current", "timeout_ms": 3000 } ] } }

Casos de uso de este agente personalizado:

  • Revisión y análisis del código

  • Redacción y actualización de pruebas

  • Gestión del flujo de trabajo de Git

  • Actualizaciones de la documentación

  • Administración de dependencias

Agente personalizado de revisión de código

Este agente personalizado se centra específicamente en las tareas de revisión de código, con herramientas y contextos optimizados para analizar la calidad, la seguridad y las mejores prácticas del código.

ejemplo Configuración de agentes personalizados de revisión de código
{ "description": "Specialized custom agent for code review and quality analysis", "tools": [ "fs_read", "execute_bash" ], "allowedTools": [ "fs_read", "execute_bash" ], "toolsSettings": { "execute_bash": { "allowedCommands": [ "grep", "find", "wc", "head", "tail", "cat", "diff", "git diff", "git log", "eslint", "pylint", "rubocop" ] } }, "resources": [ "file://CONTRIBUTING.md", "file://docs/coding-standards.md", "file://docs/security-guidelines.md", "file://.eslintrc.json", "file://.pylintrc", "file://pyproject.toml" ], "hooks": { "agentSpawn": [ { "command": "git diff --name-only HEAD~1", "timeout_ms": 5000, "max_output_size": 2048 } ], "userPromptSubmit": [ { "command": "find . -name '*.py' -o -name '*.js' -o -name '*.ts' | wc -l", "timeout_ms": 3000, "cache_ttl_seconds": 60 } ] } }

Casos de uso de este agente personalizado:

  • Revisar las solicitudes de extracción para comprobar la calidad del código

  • Identificar las vulnerabilidades de seguridad

  • Comprobar el cumplimiento de los estándares de codificación

  • Análisis de la complejidad y la mantenibilidad del código

  • Sugerir mejoras y oportunidades de refactorización

Agente personalizado específico para cada proyecto

En este ejemplo, se muestra cómo crear un agente personalizado adaptado a un proyecto específico, incluidas las herramientas, la documentación y los procesos de creación específicos del proyecto.

ejemplo Configuración de agente personalizada específica del proyecto
{ "description": "Custom agent for the mobile app backend project", "mcpServers": { "docker": { "command": "docker-mcp-server", "args": ["--socket", "/var/run/docker.sock"] }, "database": { "command": "postgres-mcp-server", "args": ["--connection", "postgresql://localhost:5432/myapp"], "env": { "PGPASSWORD": "$DATABASE_PASSWORD" } } }, "tools": [ "fs_read", "fs_write", "execute_bash", "@docker", "@database" ], "allowedTools": [ "fs_read", "@docker/docker_ps", "@docker/docker_logs", "@database/query_read_only" ], "toolAliases": { "@docker/docker_ps": "containers", "@docker/docker_logs": "logs", "@database/query_read_only": "query" }, "toolsSettings": { "fs_write": { "allowedPaths": [ "src/**", "tests/**", "migrations/**", "docker-compose.yml", "Dockerfile", "requirements.txt" ] }, "execute_bash": { "allowedCommands": [ "npm test", "npm run build", "python manage.py test", "docker-compose up", "docker-compose down" ] } }, "resources": [ "file://README.md", "file://docs/api-documentation.md", "file://docs/database-schema.md", "file://docker-compose.yml", "file://requirements.txt", "file://src/config/settings.py" ], "hooks": { "agentSpawn": [ { "command": "docker-compose ps", "timeout_ms": 10000, "cache_ttl_seconds": 30 }, { "command": "git status --porcelain", "timeout_ms": 5000 } ] } }

Casos de uso de este agente personalizado:

  • Administración de contenedores y servicios de Docker

  • Ejecutar consultas y migraciones de bases de datos

  • Creación y prueba de la aplicación

  • Depuración de problemas de producción

  • Actualización de la documentación de la API

Consejos para crear agentes personalizados eficaces

  • Comience de forma sencilla: comience con las configuraciones básicas de las herramientas y añada complejidad según sea necesario

  • Utilice nombres descriptivos: elija nombres de agente personalizados que indiquen claramente su propósito

  • Incluya el contexto relevante: agregue la documentación del proyecto y los archivos de configuración a los recursos

  • Apruebe previamente las herramientas seguras: incluya herramientas de bajo riesgo y de uso frecuente en AllowedTools

  • Utilice ganchos para un contexto dinámico: incluya el estado actual del sistema mediante ganchos de comandos

  • Limite el alcance de la herramienta: utilice ToolsSettings para restringir el acceso de la herramienta a las rutas y servicios relevantes

  • Realice pruebas exhaustivas: compruebe que la configuración de su agente personalizado funciona según lo esperado

  • Documente sus agentes personalizados: utilice descripciones claras para ayudar a los miembros del equipo a entender los propósitos de los agentes personalizados