Esempi - Amazon Q Developer

Esempi

Questa sezione fornisce esempi pratici di configurazioni di agenti personalizzati per flussi di lavoro e casi d’uso di sviluppo comuni.

Agente personalizzato specializzato in AWS

Questo agente personalizzato è ottimizzato per le attività di gestione e sviluppo dell’infrastruttura AWS. Fornisce l’accesso preapprovato agli strumenti AWS e include la documentazione pertinente.

Esempio Configurazione di agenti personalizzati specializzati in AWS
{ "description": "Specialized custom agent for AWS infrastructure and development tasks", "prompt": "You are an expert AWS infrastructure specialist with deep knowledge of cloud architecture and best practices", "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 } ] } }

Casi d’uso per questo agente personalizzato:

  • Implementazione degli stack CloudFormation

  • Gestione dei bucket S3 e delle funzioni Lambda

  • Risoluzione dei problemi relativi ai servizi AWS

  • Revisione e aggiornamento dell’infrastructure as code

Agente personalizzato per il flusso di lavoro di sviluppo

Questo agente personalizzato è progettato per attività generali di sviluppo software, tra cui revisione del codice, test e operazioni Git.

Esempio Agente personalizzato per il flusso di lavoro di sviluppo
{ "description": "General development workflow custom agent with Git integration", "prompt": "You are a software development assistant with expertise in Git workflows and code management", "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 } ] } }

Casi d’uso per questo agente personalizzato:

  • Revisione e analisi del codice

  • Scrittura e aggiornamento dei test

  • Gestione del flusso di lavoro Git

  • Aggiornamenti della documentazione

  • Gestione delle dipendenze

Agente personalizzato per la revisione del codice

Questo agente personalizzato si concentra specificamente sulle attività di revisione del codice, con strumenti e contesto ottimizzati per l’analisi della qualità, della sicurezza e delle best practice del codice.

Esempio Configurazione personalizzata dell’agente per la revisione del codice
{ "description": "Specialized custom agent for code review and quality analysis", "prompt": "You are a code review specialist focused on quality, security, and best practices", "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 } ] } }

Casi d’uso per questo agente personalizzato:

  • Analisi delle richieste pull per la qualità del codice

  • Identificazione delle vulnerabilità di sicurezza

  • Verifica del rispetto degli standard di codifica

  • Analisi della complessità e della manutenibilità del codice

  • Suggerimento di miglioramenti e opportunità di rifattorizzazione

Agente personalizzato specifico del progetto

Questo esempio mostra come creare un agente personalizzato su misura per un progetto specifico, inclusi strumenti, documentazione e processi di compilazione specifici del progetto.

Esempio Configurazione dell’agente personalizzato specifica per il progetto
{ "description": "Custom agent for the mobile app backend project", "prompt": "You are a backend development specialist for mobile applications with expertise in Docker and database management", "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 } ] } }

Casi d’uso per questo agente personalizzato:

  • Gestione di container e servizi Docker

  • Esecuzione di query e migrazioni di database

  • Creazione e test dell’applicazione

  • Esecuzione del debug dei problemi di produzione

  • Aggiornamento della documentazione API

Suggerimenti per la creazione di agenti personalizzati efficaci

  • Inizia in modo semplice - Inizia con le configurazioni di base degli strumenti e aggiungi complessità in base alle esigenze

  • Usa nomi descrittivi - Scegli dei nomi di agenti personalizzati che ne indichino chiaramente lo scopo

  • Includi il contesto pertinente - Aggiungi la documentazione del progetto e i file di configurazione alle risorse

  • Approvazione preventiva degli strumenti sicuri - Includi strumenti a basso rischio utilizzati di frequente in allowedTools

  • Usa gli hook per un contesto dinamico - Includi lo stato corrente del sistema tramite gli hook di comando

  • Limita l’ambito dello strumento - Utilizza toolsSettings per limitare l’accesso dello strumento ai percorsi e ai servizi pertinenti

  • Esegui un test accurato - Verifica che la configurazione dell’agente personalizzato funzioni come previsto

  • Documenta i tuoi agenti personalizzati - Utilizza descrizioni chiare per aiutare i membri del team a comprendere gli scopi degli agenti personalizzati