Connect with us

Auto-GPT & GPT-Engineer: En utförlig guide till dagens ledande AI-agenter

Artificiell intelligens

Auto-GPT & GPT-Engineer: En utförlig guide till dagens ledande AI-agenter

mm

När man jämför ChatGPT med autonoma AI-agenter som Auto-GPT och GPT-Engineer, uppstår en betydande skillnad i beslutsprocessen. Medan ChatGPT kräver aktiv mänsklig inblandning för att driva samtalet och ge vägledning baserat på användarprompt, är planeringsprocessen till stor del beroende av mänskligt ingripande.

Generativ AI modeller som transformers är den senaste tekniken, som driver dessa autonoma AI-agenter. Dessa transformers tränas på stora datamängder, vilket gör att de kan simulera komplexa resonemang och beslutsförmåga.

Öppen källkods ursprung för autonoma agenter: Auto-GPT och GPT-Engineer

Många av dessa autonoma AI-agenter härrör från öppen källkodsinitiativ ledda av innovativa individer som omvandlar konventionella arbetsflöden. Snarare än att bara ge förslag, kan agenter som Auto-GPT hantera uppgifter på egen hand, från online-shopping till att skapa grundläggande appar. OpenAI’s Code Interpreter syftar till att uppgradera ChatGPT från att bara föreslå idéer till att aktivt lösa problem med dessa idéer.

Både Auto-GPT och GPT-Engineer är utrustade med kraften från GPT 3.5 och GPT-4. Det fattar kodlogik, kombinerar flera filer och accelererar utvecklingsprocessen.

Kärnan i Auto-GPTs funktionalitet ligger i dess AI-agenter. Dessa agenter är programmerade för att utföra specifika uppgifter, från triviala sådana som schemaläggning till mer komplexa uppgifter som kräver strategiskt beslutsfattande. Men dessa AI-agenter fungerar inom de gränser som användarna ställer upp. Genom att kontrollera deras åtkomst via API:er kan användarna bestämma djupet och omfattningen av de åtgärder som AI kan utföra.

Till exempel, om man får i uppgift att skapa en chattwebbapp integrerad med ChatGPT, bryter Auto-GPT ned målet i handlingsbara steg, som att skapa en HTML-framsida eller skriva en Python-baksida. Medan applikationen autonomt genererar dessa prompt, kan användarna fortfarande övervaka och modifiera dem. Som visas av skaparen av AutoGPT @SigGravitas, kan den bygga och köra ett testprogram baserat på Python.

https://twitter.com/SigGravitas/status/1642181498278408193

Medan den nedan beskrivna diagrammet beskriver en mer allmän arkitektur för en autonom AI-agent, ger den värdefull insikt i processerna bakom kulisserna.

AI Agent Architecture like Autogpt, GPT Engineer

Autonom AI Agent Arkitektur

Processen initieras genom att verifiera OpenAI API-nyckeln och initiera olika parametrar, inklusive korttidsminne och databasinnehåll. När nyckeldata skickas till agenten, interagerar modellen med GPT3.5/GPT4 för att hämta ett svar. Detta svar omvandlas sedan till JSON-format, som agenten tolkar för att utföra en mängd olika funktioner, som att utföra online-sökningar, läsa eller skriva filer eller till och med köra kod. Auto-GPT använder en förtränad modell för att lagra dessa svar i en databas, och framtida interaktioner använder den lagrade informationen som referens. Loopen fortsätter tills uppgiften anses vara slutförd.

Installationsguide för Auto-GPT och GPT-Engineer

Att installera avancerade verktyg som GPT-Engineer och Auto-GPT kan effektivisera din utvecklingsprocess. Här är en strukturerad guide för att hjälpa dig installera och konfigurera båda verktygen.

Auto-GPT

Att installera Auto-GPT kan verka komplext, men med rätt steg blir det enkelt. Den här guiden täcker proceduren för att installera Auto-GPT och erbjuder insikt i dess olika scenarier.

1. Krav:

  1. Python-miljö: Se till att du har Python 3.8 eller senare installerat. Du kan hämta Python från dess officiella webbplats.
  2. Om du planerar att klona repository, installera Git.
  3. OpenAI API-nyckel: För att interagera med OpenAI, behövs en API-nyckel. Hämta nyckeln från ditt OpenAI-konto
Open AI API-nyckel

Open AI API-nyckelgenerering

Minnesbakgrundsalternativ: En minnesbakgrund fungerar som ett lagringsmekanism för AutoGPT för att komma åt viktig data för dess operationer. AutoGPT använder både korttids- och långtidslagringsförmåga. Pinecone, Milvus, Redis och andra är några alternativ som finns tillgängliga.

2. Inställning av arbetsutrymme:

  1. Skapa en virtuell miljö: python3 -m venv myenv
  2. Aktivera miljön:
    1. MacOS eller Linux: source myenv/bin/activate

3. Installation:

  1. Klona Auto-GPT-repository (se till att du har Git installerat): git clone https://github.com/Significant-Gravitas/Auto-GPT.git
  2. För att säkerställa att du arbetar med version 0.2.2 av Auto-GPT, vill du checkout till den specifika versionen: git checkout stable-0.2.2
  3. Navigera till den hämtade repositoryn: cd Auto-GPT
  4. Installera de nödvändiga beroendena: pip install -r requirements.txt

4. Konfiguration:

  1. Hitta .env.template i huvudkatalogen /Auto-GPT. Duplicera och döp om den till .env
  2. Öppna .env och ange din OpenAI API-nyckel bredvid OPENAI_API_KEY=
  3. På samma sätt, för att använda Pinecone eller andra minnesbakgrunder, uppdatera .env-filen med din Pinecone API-nyckel och region.

5. Kommandoradsinstruktioner:

Auto-GPT erbjuder en mängd kommandoradsargument för att anpassa dess beteende:

  • Allmän användning:
    • Visa hjälp: python -m autogpt --help
    • Justera AI-inställningar: python -m autogpt --ai-settings <filnamn>
    • Ange en minnesbakgrund: python -m autogpt --use-memory <minnesbakgrund>
AutoGPT CLI

AutoGPT i CLI

6. Starta Auto-GPT:

När konfigurationerna är slutförda, initiera Auto-GPT med:

  • Linux eller Mac: ./run.sh start
  • Windows: .run.bat

Docker-integration (rekommenderad installationsmetod)

För de som vill containerisera Auto-GPT, erbjuder Docker en strömlinjeformad approach. Men var medveten om att Dockers initiala installation kan vara något invecklad. Se Docker’s installationsguide för hjälp.

Fortsätt genom att följa stegen nedan för att modifiera OpenAI API-nyckeln. Se till att Docker körs i bakgrunden. Gå nu till huvudkatalogen för AutoGPT och följ stegen nedan i terminalen

  • Bygg Docker-avbildningen: docker build -t autogpt .
  • Kör: docker run -it --env-file=./.env -v$PWD/auto_gpt_workspace:/app/auto_gpt_workspace autogpt

Med docker-compose:

  • Kör: docker-compose run --build --rm auto-gpt
  • För ytterligare anpassning kan du integrera ytterligare argument. Till exempel, för att köra med både –gpt3only och –continuous: docker-compose run --rm auto-gpt --gpt3only--continuous
  • Med tanke på den omfattande autonomi Auto-GPT besitter i att generera innehåll från stora datamängder, finns det en potentiell risk för att den oavsiktligt kommer åt skadliga webbkällor.

För att mildra risker, kör Auto-GPT inom en virtuell container, som Docker. Detta säkerställer att eventuellt skadligt innehåll förblir inneslutet inom den virtuella utrymmet, och dina externa filer och system förblir opåverkade. Alternativt kan Windows Sandbox användas, men den återställs efter varje session och kan inte behålla sin tillstånd.

För säkerhet, kör alltid Auto-GPT i en virtuell miljö, vilket säkerställer att ditt system förblir isolerat från oväntade utdata.

Med allt detta, finns det fortfarande en chans att du inte kommer att kunna uppnå dina önskade resultat. Användare av Auto-GPT har rapporterat återkommande problem när de försöker skriva till en fil, ofta mött med misslyckade försök på grund av problematiska filnamn. Här är ett sådant fel: Auto-GPT (release 0.2.2) lägger inte till texten efter fel "write_to_file returnerade: Fel: Filen har redan uppdaterats

Olika lösningar för att hantera detta har diskuterats på den associerade GitHub-tråden för referens.

GPT-Engineer

GPT-Engineer-arbetsflöde:

  1. Prompt-definition: Skapa en detaljerad beskrivning av ditt projekt med hjälp av naturligt språk.
  2. Kodgenerering: Baserat på din prompt, genererar GPT-Engineer kodsnuttar, funktioner eller till och med kompletta applikationer.
  3. Finjustering och optimering: Efter generering, finns alltid utrymme för förbättring. Utvecklare kan modifiera den genererade koden för att möta specifika krav, säkerställande toppkvalitet.

Processen att installera GPT-Engineer har kondenserats till en lätt att följa guide. Här är en steg-för-steg-genomgång:

1. Förberedelse av miljö: Innan du dyker in, se till att du har ditt projektkatalog redo. Öppna en terminal och kör kommandot

  • Skapa en ny katalog med namnet ‘webbplats’: mkdir webbplats
  • Flytta till katalogen: cd webbplats

2. Klona repository:  git clone https://github.com/AntonOsika/gpt-engineer.git .

3. Navigera och installera beroenden: När du har klonat, växla till katalogen cd gpt-engineer och installera alla nödvändiga beroenden make install

4. Aktivera virtuell miljö: Beroende på din operativsystem, aktivera den skapade virtuella miljön.

  • För macOS/Linux: source venv/bin/activate
  • För Windows, är det något annorlunda på grund av API-nyckelkonfiguration: set OPENAI_API_KEY=[din api-nyckel]

5. Konfiguration – API-nyckelinställning: För att interagera med OpenAI, behövs en API-nyckel. Om du inte har en ännu, registrera dig på OpenAI-plattformen, sedan:

  • För macOS/Linux: export OPENAI_API_KEY=[din api-nyckel]
  • För Windows (som nämnts tidigare): set OPENAI_API_KEY=[din api-nyckel]

6. Projektinitiering och kodgenerering: GPT-Engineers magi börjar med main_prompt -filen som finns i projects -mappen.

  • Om du vill starta ett nytt projekt: cp -r projects/example/ projects/webbplats

Här ersätter du ‘webbplats’ med ditt valda projektnamn.

  • Redigera main_prompt -filen med en textredigerare efter ditt val, skriv ner dina projektkrav.

  • När du är nöjd med prompten, kör: gpt-engineer projects/webbplats

Din genererade kod kommer att bo i workspace -katalogen inom projektmappen.

7. Efter generering: Medan GPT-Engineer är kraftfull, kan den inte alltid vara perfekt. Inspektera den genererade koden, gör manuella ändringar om behovs, och se till att allt fungerar smidigt.

Exempelkörning

Prompt:

“Jag vill utveckla en grundläggande Streamlit-app i Python som visualiserar användardata genom interaktiva diagram. Appen ska tillåta användare att ladda upp en CSV-fil, välja diagramtyp (t.ex. stapel, cirkel, linje) och dynamiskt visualisera data. Den kan använda bibliotek som Pandas för datahantering och Plotly för visualisering.”

Inställning och körning av Engineering-GPT

Inställning och körning av GPT-Engineer

Liksom Auto-GPT, kan GPT-Engineer ibland möta fel även efter en fullständig installation. Men på min tredje försök, lyckades jag komma åt följande Streamlit-webbsida. Se till att du granskar eventuella fel på den officiella GPT-Engineer-repositorys issuesida.

Streamlit-app genererad med GPT-Engineer

Streamlit-app genererad med GPT-Engineer

Nuvarande flaskhalsar för AI-agenter

Driftkostnader

En enskild uppgift som utförs av Auto-GPT kan involvera många steg. Viktigt är att var och ett av dessa steg kan debiteras individuellt, vilket ökar kostnaderna. Auto-GPT kan bli fast i upprepade loopar, utan att leverera de utlovade resultaten. Sådana händelser äventyrar dess tillförlitlighet och undergräver investeringen.

Tänk dig att vilja skapa en kort essä med Auto-GPT. Essäns ideala längd är 8K token, men under skapandeprocessen dyker modellen ner i flera mellansteg för att slutföra innehållet. Om du använder GPT-4 med 8k kontextlängd, så kommer du att debiteras 0,03 dollar för indata. Och för utdata, kommer kostnaden att vara 0,06 dollar. Nu, säg att modellen hamnar i en oförutsedd loop, gör om vissa delar flera gånger. Inte bara blir processen längre, utan varje upprepning lägger också till kostnaden.

För att skydda dig mot detta:

Sätt användningsgränser på OpenAI Billing & Limits:

  • Hård gräns: Begränsar användning utöver din inställda tröskel.
  • Mjuk gräns: Skickar en e-postavisering när tröskeln uppnås.

Funktionsbegränsningar

Auto-GPTs förmågor, som visas i dess källkod, kommer med vissa gränser. Dess problemlösningsstrategier styrs av dess inbyggda funktioner och den åtkomst som tillhandahålls av GPT-4s API. För djupgående diskussioner och möjliga lösningar, besök: Auto-GPT Diskussion.

AI:s påverkan på arbetsmarknaden

Arbetsmarknadsdynamiken mellan AI och arbetsmarknad är ständigt föränderlig och dokumenteras utförligt i denna forskningsrapport. En viktig slutsats är att medan teknisk framsteg ofta gynnar kvalificerade arbetare, utgör det en risk för dem som är engagerade i rutinuppgifter. Som ett faktum kan tekniska framsteg ersätta vissa uppgifter, men samtidigt bana väg för olika, arbetsintensiva uppgifter.

AI-arbetsmarknad Autonoma agenter tar över

En uppskattning tyder på att 80% av amerikanska arbetare kan upptäcka att LLM (Language Learning Models) påverkar cirka 10% av deras dagliga uppgifter. Denna statistik understryker sammansmältningen av AI och mänskliga roller.

AI:s dubbelroll i arbetskraften:

  • Positiva aspekter: AI kan automatisera många uppgifter, från kundtjänst till finansiell rådgivning, och ge en befrielse till små företag som saknar resurser för dedikerade team.
  • Oror: Automatiseringens fördel väcker ögonbryn om potentiella jobbförluster, särskilt i sektorer där mänskligt engagemang är avgörande, som kundsupport. Utöver detta finns den etiska labyrinten kopplad till AI som kommer åt konfidentiell data. Detta kräver en stark infrastruktur som säkerställer transparens, ansvar och etisk användning av AI.

Slutsats

Tydligt, verktyg som ChatGPT, Auto-GPT och GPT-Engineer står i framkanten för att omforma interaktionen mellan teknik och dess användare. Med rötter i öppen källkods-rörelser, manifest dessa AI-agenter möjligheterna för maskinell autonomi, effektivisera uppgifter från schemaläggning till programvaruutveckling.

Medan vi skjuter in i en framtid där AI integreras djupare i vår dagliga rutin, blir en balans mellan att omfamna AI:s förmågor och skydda mänskliga roller avgörande. På den bredare skalan, målar AI-arbetsmarknadsdynamiken en dubbel bild av tillväxtmöjligheter och utmaningar, krävande en medveten integration av tekniska etik och transparens.

Jag har under de senaste fem åren dykt ner i den fascinerande världen av Machine Learning och Deep Learning. Min passion och expertis har lett mig till att bidra till över 50 olika mjukvaruutvecklingsprojekt, med särskild fokus på AI/ML. Min pågående nyfikenhet har också dragit mig mot Natural Language Processing, ett område som jag är angelägen om att utforska vidare.