

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Agenti di codifica
<a name="coding-agents"></a>

Gli agenti di codifica possono ragionare sulle attività di programmazione, generare o modificare codice e interagire con ambienti di sviluppo, come e. IDEs CLIs Questi agenti combinano la comprensione del linguaggio naturale con il ragionamento strutturato per assistere, potenziare e automatizzare lo sviluppo del software, dalla generazione di funzioni alla correzione di bug e alla creazione di test.

A differenza degli strumenti di completamento automatico, gli agenti di codifica interpretano attivamente gli obiettivi degli utenti, interrogano il contesto nell'ambiente di sviluppo (ad esempio, apre i file e rileva gli errori), identificano i requisiti e quindi propongono ed eseguono azioni.

## Architecture
<a name="architecture-coding"></a>

Un modello di agente di codifica è illustrato nel diagramma seguente:

![\[Agente di codifica.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/agentic-ai-patterns/images/coding-agents.png)


## Description
<a name="description-coding"></a>

1. Riceve una richiesta
   + L'utente fornisce istruzioni in linguaggio naturale tramite una palette di comandi, una finestra di chat o una CLI (ad esempio, «Aggiungi registrazione a questa funzione» o «Refactor for readability»).

1. Estrae il contesto dell'ambiente
   + L'agente raccoglie il contesto dall'IDE, inclusi i file attivi, la posizione del cursore, i frammenti di codice e le tabelle dei simboli.
   + Emette messaggi di errore, risultati dei test e output di altri agenti.

1. Ragionamento LLM
   + L'agente invia un prompt, incluso l'interrogazione e il contesto ambientale, a un LLM.
     + L'LLM esegue un ragionamento per determinare quanto segue:
     + Cosa deve cambiare
     + Come generare una soluzione
     + Qualsiasi fase di rifattorizzazione, riscrittura o codifica

1. Esegue azioni
   + L'LLM restituisce l'output all'agente e lo importa nell'ambiente IDE o di runtime.
   + Ciò può includere l'inserimento o la modifica di codice, la generazione di commenti o documentazione e l'attivazione di attività successive di compilazione, test e linting.

## Funzionalità
<a name="capabilities-coding"></a>
+ Elevata consapevolezza contestuale (ad esempio, stato dell'IDE, cursore e albero della sintassi)
+ Ragionamento iterativo degli obiettivi e del feedback
+ Pianificazione opzionale del codice e separazione delle azioni (ad esempio, prima ragionare e poi agire)
+ Funziona in flussi di lavoro di sviluppo sincroni o asincroni

## Casi di utilizzo comune
<a name="common-use-cases-coding"></a>
+ Generazione di codice dalle descrizioni delle attività
+ Rifattorizzazione e ottimizzazione del codice
+ Generazione e convalida di test case
+ Spiegazioni e debug degli errori
+ Assistenti alla documentazione
+ Copiloti di programmazione accoppiati

## Guida all’implementazione
<a name="implementation-guidance-coding"></a>
+ È possibile creare questo modello utilizzando i seguenti strumenti e: Servizi AWS
+ Amazon Bedrock per la generazione e il ragionamento basati su LLM
+ Amazon Q Developer per suggerimenti e completamenti di programmazione
+ AWS Lambda o Amazon Elastic Container Service (Amazon ECS) per l'esecuzione e il test di ambienti sandbox
+ AWS Cloud9, estensioni VS Code o integrazioni IDE personalizzate per ospitare e valutare il contesto
+ Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) per l'archiviazione di richieste, risposte e cronologia delle revisioni intermedie

## Riepilogo
<a name="summary-coding"></a>

Gli agenti di codifica sono nuovi strumenti di sviluppo basati sull'intelligenza artificiale in grado di interpretare il linguaggio naturale, analizzare il contesto, generare modifiche al codice in più fasi e integrarsi con il ciclo di vita dello sviluppo del software.