Github Copilot Agent-modus gebruikservaring delen

Dit artikel vat samen hoe u GitHub Copilot Agent-modus gebruikt en deelt praktische operationele ervaring.

Dit artikel vat samen hoe u GitHub Copilot Agent-modus gebruikt en deelt praktische operationele ervaring.

Vooraf instellen

  1. Gebruik VSCode Insider;
  2. Installeer de GitHub Copilot (preview) plugin;
  3. Kies het Claude 3.7 Sonnet (preview) model, dat uitstekend presteert in het schrijven van code, terwijl andere modellen voordelen hebben in snelheid, multimodaliteit (zoals beeldherkenning) en redeneervermogen;
  4. Kies Agent als werkmodus.

Vooraf instellen

Bedieningsstappen

  1. Open het tabblad “Copilot Edits”;
  2. Voeg bijlagen toe, zoals “Codebase”, “Get Errors”, “Terminal Last Commands”, enz.;
  3. Voeg “Working Set” bestanden toe, die standaard de huidige geopende bestanden bevatten, maar u kunt ook handmatig andere bestanden kiezen (zoals “Open Editors”);
  4. Voeg “Instructions” toe, voer de speciale prompts in die Copilot Agent moet opmerken;
  5. Klik op de knop “Send” om te beginnen met de dialoog en observeer het gedrag van Agent.

Overige opmerkingen

  • VSCode kan via lint-functionaliteit van taalplugins Error of Warning hints produceren, en Agent kan automatisch code corrigeren op basis van deze hints.
  • Naarmate de dialoog vordert, kunnen de door Agent gegenereerde code-aanpassingen afwijken van de verwachting. Het wordt aanbevolen elke sessie te richten op een duidelijk thema en te voorkomen dat de dialoog te lang duurt; beëindig de huidige sessie na het bereiken van korte termijn doelen en start een nieuwe taak.
  • De optie “Add Files” onder “Working Set” biedt een “Related Files” optie, die gerelateerde bestanden kan aanbevelen.
  • Let op het beheersen van het aantal regels per codebestand om te voorkomen dat tokens te snel worden verbruikt.
  • Het wordt aanbevolen eerst basiscodering te genereren, dan testcases te schrijven, zodat Agent de testresultaten kan gebruiken om zichzelf te debuggen en te verifiëren.
  • Om het wijzigingsbereik te beperken, kunt u de volgende configuratie toevoegen aan settings.json om alleen bestanden in de opgegeven map te wijzigen, ter referentie:
 "github.copilot.chat.codeGeneration.instructions": [
        {
            "text": "Pas alleen bestanden aan in de map ./script/, pas geen bestanden aan in andere mappen."
        },
        {
            "text": "Als het doelcodebestand meer dan 1000 regels bevat, is het raadzaam de nieuw toegevoegde functies in een nieuw bestand te plaatsen en deze te roepen via verwijzingen; als de gegenereerde wijzigingen ertoe leiden dat het bestand te lang wordt, hoeft deze regel niet strikt te worden nageleefd."
        }
    ],
    "github.copilot.chat.testGeneration.instructions": [
        {
            "text": "Genereer testcases in bestaande unit testbestanden."
        },
        {
            "text": "Nadat de code is aangepast, moet u testcases uitvoeren om te valideren."
        }
    ],

Veel voorkomende problemen

De ingevoerde eisen geven geen gewenste zakelijke code

U moet grote taken opsplitsen in kleinere taken, en elke sessie alleen een kleine taak behandelen. Dit komt doordat te veel context bij grote modellen kan leiden tot verspreiding van de aandacht.

De context die aan een enkele dialoog wordt gegeven, moet u zelf peilen; te veel en te weinig kunnen beide leiden tot een gebrek aan behoeftebegrip.

Het DeepSeek model lost het probleem van aandachtsverspreiding op, maar moet worden gebruikt in cursor met Deepseek API. Het effect is onduidelijk.

Probleem met trage reactie

U moet het tokenverbruiksmechanisme begrijpen. Tokeninvoer is goedkoop en kost minder tijd, terwijl tokenuitvoer veel duurder is en duidelijk langzamer.

Stel dat een codebestand erg groot is, maar dat u in feite maar drie regels hoeft aan te passen. Vanwege de veelheid aan context en uitvoer, wordt het tokenverbruik snel en is de reactie traag.

Daarom moet u het bestandsgrootte zeker in de gaten houden. Schrijf geen grote bestanden en geen grote functies. Verdeel grote bestanden en grote functies op tijd, en roep ze aan via verwijzingen.

Probleem met het begrijpen van de business

Het begrijpen van het probleem hangt misschien af van commentaar in de code en testbestanden. Voldoende commentaar en testcases in de code helpen Copilot Agent beter de business te begrijpen.

De zakelijke code die Agent zelf genereert, bevat voldoende commentaar. Door deze commentaren te controleren, kunt u snel beoordelen of Agent de behoefte correct begrijpt.

Het genereren van veel code vereist langdurige debuggen

U kunt overwegen na het genereren van de basiscodering voor een bepaalde functie eerst testcases te genereren en daarna de bedrijfslogica aan te passen, zodat Agent zelf kan debuggen en zichzelf kan verifiëren.

Agent zal vragen of het toegestaan is testcommando’s uit te voeren. Na het uitvoeren leest het de terminaloutput en bepaalt daarmee of de code correct is. Als dat niet het geval is, past het de code aan op basis van foutinformatie. Dit gaat in een cyclus door totdat de test slaagt.

Met andere woorden, u moet de business beter begrijpen. Er is niet veel handmatig schrijven nodig. Alleen als de testcasecode en de bedrijfscode beide niet correct zijn, kan Agent noch de juiste testcases schrijven op basis van de bedrijfslogica, noch de juiste bedrijfscode op basis van de testcases. In dat geval duurt het debuggen langer.

Samenvatting

Begrijp het tokenverbruiksmechanisme van grote modellen. De ingevoerde context is goedkoop, de uitgevoerde code is duurder, en onaangepaste code in het bestand kan ook als output worden beschouwd. Het bewijs is dat veel code die niet hoeft te worden aangepast ook traag wordt uitgevoerd.

Daarom moet u de grootte van een enkel bestand zoveel mogelijk beperken. U kunt tijdens het gebruik het verschil in reactiesnelheid van Agent bij het verwerken van grote en kleine bestanden voelen. Dit verschil is zeer duidelijk.