Agenti di codifica - AWS Guida prescrittiva

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

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.

Architettura

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

Agente di codifica.

Descrizione

  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»).

  2. Estrae il contesto dell'ambiente

    • L'agente raccoglie il contesto dall'IDE, inclusi file attivi, posizione del cursore, frammenti di codice e tabelle dei simboli.

    • Emette messaggi di errore, risultati dei test e output di altri agenti.

  3. 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

  4. 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à

  • 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

  • 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

  • È 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

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.