AI-modeller og platforme

Auto-GPT & GPT-Engineer: En dybdegående guide til dagens førende AI-agenter

mm
Føj Unite.AI til dine foretrukne kilder på Google

Når man sammenligner ChatGPT med autonome AI-agenter som Auto-GPT og GPT-Engineer, opstår der en betydelig forskel i beslutningsprocessen. Mens ChatGPT kræver aktiv menneskelig indgriben for at drive samtalen og give vejledning baseret på brugerens prompt, er planlægningsprocessen overvejende afhængig af menneskelig indgriben.

Generative AI-modeller som transformers er den nyeste kerne-teknologi, der driver disse autonome AI-agenter. Disse transformers er trænet på store datasæt, hvilket giver dem mulighed for at simulere komplekse resonnerings- og beslutningsfærdigheder.

Open-Source Rødder af Autonome Agenter: Auto-GPT og GPT-Engineer

Mange af disse autonome AI-agenter stammer fra open-source-initiativer ledet af innovative personer, der transformerer konventionelle arbejdsprocesser. I stedet for blot at give forslag kan agenter som Auto-GPT selvstændigt håndtere opgaver, fra online-shopping til opbygning af grundlæggende apps. OpenAI’s Code Interpreter sigter mod at opgradere ChatGPT fra blot at give ideer til aktivt at løse problemer med disse ideer.

Både Auto-GPT og GPT-Engineer er udstyret med kraften fra GPT 3.5 og GPT-4. Det forstår kode-logik, kombinerer multiple filer og accelererer udviklingsprocessen.

Kernen i Auto-GPT’s funktionalitet ligger i dets AI-agenter. Disse agenter er programmeret til at udføre specifikke opgaver, fra simple opgaver som planlægning til mere komplekse opgaver, der kræver strategisk beslutningstagning. Dog fungerer disse AI-agenter inden for grænserne, der er fastsat af brugerne. Ved at kontrollere adgangen via API’er kan brugerne bestemme dybden og omfanget af handlinger, som AI kan udføre.

For eksempel, hvis man beder Auto-GPT om at opbygge en chat-webapp, der er integreret med ChatGPT, bryder Auto-GPT målet ned i håndterbare skridt, som opbygning af en HTML-front-end eller skriptning af en Python-back-end. Mens applikationen selvstændigt producerer disse prompt, kan brugerne stadig overvåge og ændre dem. Som vist af AutoGPT’s skaber @SigGravitas, kan det opbygge og køre en testprogram baseret på Python.

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

Mens den nedenstående diagram beskriver en mere generel arkitektur for en autonom AI-agent, giver det værdifuld indsigt i processerne bag scenen.

AI Agent Architecture like Autogpt, GPT Engineer

Autonom AI Agent Arkitektur

Processen initieres ved at verificere OpenAI API-nøglen og initialisere forskellige parametre, herunder korttidshukommelse og databaseindhold. Når nøgledataene er overført til agenten, interagerer modellen med GPT3.5/GPT4 for at hente en respons. Denne respons omdannes til JSON-format, som agenten fortolker for at udføre forskellige funktioner, som at udføre online-søgninger, læse eller skrive filer eller endda køre kode. Auto-GPT anvender en forudtrænet model til at gemme disse responser i en database, og fremtidige interaktioner bruger denne gemte information som reference. Løkken fortsætter, indtil opgaven er erklæret fuldført.

Opsætningsguide for Auto-GPT og GPT-Engineer

Opsætning af avancerede værktøjer som GPT-Engineer og Auto-GPT kan strømlinje din udviklingsproces. Herunder følger en struktureret guide til at installere og konfigurere begge værktøjer.

Auto-GPT

Opsætning af Auto-GPT kan synes kompleks, men med de rette skridt bliver det enkelt. Denne guide dækker proceduren for at opsætte Auto-GPT og giver indsigt i dets forskellige scenarier.

1. Forudsætninger:

  1. Python-miljø: Sørg for, at du har Python 3.8 eller senere installeret. Du kan downloade Python fra deres officielle hjemmeside.
  2. Hvis du planlægger at klone repositorier, installer Git.
  3. OpenAI API-nøgle: For at interagere med OpenAI, er en API-nøgle nødvendig. Få nøglen fra din OpenAI-konto
Open AI API-nøgle

Open AI API-nøgle generation

Hukommelsesbagendsmuligheder: En hukommelsesbagend fungerer som en lagringsmekanisme for AutoGPT til at få adgang til essentiel data til dets operationer. AutoGPT anvender både korttidshukommelse og langtidshukommelse. Pinecone, Milvus, Redis og andre er nogle af mulighederne, der er tilgængelige.

2. Opsætning af dit arbejdsområde:

  1. Opret en virtuel miljø: python3 -m venv myenv
  2. Aktiver miljøet:
    1. MacOS eller Linux: source myenv/bin/activate

3. Installation:

  1. Klon Auto-GPT-repositoriet (sørg for, at du har Git installeret): git clone https://github.com/Significant-Gravitas/Auto-GPT.git
  2. For at sikre, at du arbejder med version 0.2.2 af Auto-GPT, skal du checkout til denne specifikke version: git checkout stable-0.2.2
  3. Navn til den downloaded repository: cd Auto-GPT
  4. Installer de nødvendige afhængigheder: pip install -r requirements.txt

4. Konfiguration:

  1. Find .env.template i den primære /Auto-GPT-mappe. Dupliker og omdøb den til .env
  2. Åbn .env og indstil din OpenAI API-nøgle ved siden af OPENAI_API_KEY=
  3. Lignende, for at bruge Pinecone eller andre hukommelsesbagender, opdater .env-filen med din Pinecone API-nøgle og region.

5. Kommandolinjeinstruktioner:

Auto-GPT tilbyder en række kommandolinjeargumenter til at tilpasse dets adfærd:

  • Generel brug:
    • Vis hjælp: python -m autogpt --help
    • Tilpas AI-indstillinger: python -m autogpt --ai-settings <filnavn>
    • Angiv en hukommelsesbagend: python -m autogpt --use-memory <hukommelsesbagend>
AutoGPT CLI

AutoGPT i CLI

6. Start af Auto-GPT:

Når konfigurationen er fuldført, initier Auto-GPT ved hjælp af:

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

Docker Integration (Anbefalet Opsætningsmetode)

For dem, der søger at containerisere Auto-GPT, tilbyder Docker en strømlinet metode. Dog kan Docker’s initielle opsætning være lidt kompleks. Se Docker’s installationsvejledning for hjælp.

Fortsæt med at følge skridtene nedenfor for at ændre OpenAI API-nøglen. Sørg for, at Docker kører i baggrunden. Gå nu til den primære mappe for AutoGPT og følg skridtene nedenfor i din terminal

  • Byg Docker-billedet: docker build -t autogpt .
  • Kør nu: 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
  • For supplerende tilpasning kan du integrere yderligere argumenter. For eksempel, for at køre med både –gpt3only og –continuous: docker-compose run --rm auto-gpt --gpt3only--continuous
  • Da Auto-GPT har en omfattende autonomi i generering af indhold fra store datasæt, er der en potentiel risiko for, at det ufrivilligt får adgang til skadelige webkilder.

For at mindske risici, kør Auto-GPT i en virtuel container, som Docker. Dette sikrer, at eventuelt skadeligt indhold bliver indesluttet i den virtuelle rum, og dine eksterne filer og system forbliver uberørt. Alternativt kan Windows Sandbox være en mulighed, selvom det nulstiller efter hver session og ikke kan fastholde sin tilstand.

For sikkerheds skyld skal du altid køre Auto-GPT i en virtuel miljø, så din system forbliver isoleret fra uventede udgange.

Da der stadig er en chance for, at du ikke kan opnå dine ønskede resultater, har Auto-GPT-brugere rapporteret gentagne problemer, når de forsøger at skrive til en fil, ofte mødt fejl, der skyldes problematiske filnavne. Her er et sådant fejl: Auto-GPT (release 0.2.2) ikke tilføje tekst efter fejl "write_to_file returned: Error: Fil har allerede været opdateret

Forskellige løsninger til at adressere dette er diskuteret på den tilhørende GitHub-tråd til reference.

GPT-Engineer

GPT-Engineer Workflow:

  1. Prompt Definition: Lav en detaljeret beskrivelse af dit projekt ved hjælp af naturligt sprog.
  2. Kodegenerering: Baseret på din prompt, får GPT-Engineer arbejdet, og producerer kodefragmenter, funktioner eller endda komplette applikationer.
  3. Forbedring og Optimering: Efter generering, er der altid plads til forbedring. Udviklere kan ændre den genererede kode for at møde specifikke krav, og sikre topkvalitet.

Processen med at opsætte GPT-Engineer er blevet kondenseret til en letforståelig guide. Her er en trin-for-trin gennemgang:

1. Forberedelse af Miljøet: Før du begynder, skal du sikre, at du har dit projektmappe klar. Åbn en terminal og kør følgende kommando

  • Opret en ny mappe med navnet ‘website’: mkdir website
  • Navn til mappen: cd website

2. Klon Repositoriet:  git clone https://github.com/AntonOsika/gpt-engineer.git .

3. Navn og Installer Afhængigheder: Når det er klonet, skift til mappen cd gpt-engineer og installer alle nødvendige afhængigheder make install

4. Aktiver Virtuel Miljø: Afhængigt af dit operativsystem, aktiver den virtuelle miljø, der er oprettet.

  • For macOS/Linux: source venv/bin/activate
  • For Windows, er det lidt anderledes på grund af API-nøgleopsætning: set OPENAI_API_KEY=[din API-nøgle]

5. Konfiguration – API-nøgleopsætning: For at interagere med OpenAI, har du brug for en API-nøgle. Hvis du ikke allerede har en, tilmeld dig OpenAI-platformen, og derefter:

  • For macOS/Linux: export OPENAI_API_KEY=[din API-nøgle]
  • For Windows (som nævnt tidligere): set OPENAI_API_KEY=[din API-nøgle]

6. Projektinitialisering og Kodegenerering: GPT-Engineer’s magi begynder med main_prompt filen, der findes i projects mappen.

  • Hvis du ønsker at starte et nyt projekt: cp -r projects/example/ projects/website

Her erstatter du ‘website’ med dit valgte projektnavn.

  • Rediger main_prompt filen ved hjælp af en teksteditor efter dit valg, og skriv dine projekts krav.

  • Når du er tilfreds med prompten, kør: gpt-engineer projects/website

Din genererede kode vil befinde sig i workspace mappen inden for projektmappen.

7. Efter Generering: Mens GPT-Engineer er kraftfuld, kan det ikke altid være perfekt. Inspectér den genererede kode, lav eventuelle manuelle ændringer, hvis nødvendigt, og sikr, at alt kører smukt.

Eksempelkørsel

Prompt:

“Jeg ønsker at udvikle en grundlæggende Streamlit-app i Python, der visualiserer brugerdata gennem interaktive diagrammer. Appen skal tillade brugere at uploade en CSV-fil, vælge diagramtype (f.eks. bar, pie, line) og dynamisk visualisere data. Den kan bruge biblioteker som Pandas til data-manipulation og Plotly til visualisering.”

Opsætning og Kørsel af Engineering-GPT

Opsætning og Kørsel af GPT-Engineer

Ligesom Auto-GPT kan GPT-Engineer nogen gange møde fejl, selv efter en fuldstændig opsætning. Dog fik jeg på min tredje forsøg succes med at få adgang til følgende Streamlit-websted. Sørg for at gennemgå eventuelle fejl på den officielle GPT-Engineer-repositoriets issueside.

Streamlit-App genereret ved hjælp af GPT-Engineer

Streamlit-App genereret ved hjælp af GPT-Engineer

Nuværende Bottlenecks for AI-Agenter

Driftsudgifter

En enkelt opgave udført af Auto-GPT kan involvere mange skridt. Vigtigt, hver af disse skridt kan blive faktureret separat, hvilket øger omkostningerne. Auto-GPT kan blive fanget i gentagne løkker, uden at levere de lovede resultater. Sådanne begivenheder underminerer dets pålidelighed og underminerer investeringen.

<p Forestil dig, at du ønsker at opbygge en kort essay med Auto-GPT. Essayets ideelle længde er 8K tokens, men under opbygningsprocessen dykker modellen ned i multiple mellemstadier for at fuldføre indholdet. Hvis du bruger GPT-4 med 8k kontekstlængde, vil du blive faktureret $0,03 for input. Og for output vil omkostningen være $0,06. Nu, lad os sige, at modellen løber ind i en uventet løkke, gentager visse dele flere gange. Ikke kun bliver processen længere, men hver gentagelse tilføjer også til omkostningerne.

For at beskytte dig selv mod dette:
Sæt brugsgrænser i OpenAI Billing & Limits:

  • Hard Grænse: Begrænser brug ud over din fastsatte grænse.
  • Soft Grænse: Sender dig en email-advarsel, når grænsen er nået.

Funktionsbegrænsninger

Auto-GPT’s muligheder, som vist i dets kildekode, kommer med visse begrænsninger. Dets problemløsningsstrategier er styret af dets indbyggede funktioner og adgangen, der gives af GPT-4’s API. For dybere diskussioner og mulige løsninger, besøg: Auto-GPT Diskussion.

AI’s Indvirkning på Arbejdsmarkedet

Dynamikken mellem AI og arbejdsmarkedet er under konstant udvikling og er omfattende dokumenteret i denne forskningsrapport. En vigtig point er, at mens teknologisk fremgang ofte gavner kvalificerede arbejdere, stiller det risiko for dem, der er involveret i rutineopgaver. Faktisk kan teknologiske fremskridt måske erstatte visse opgaver, men samtidig åbne vej for diverse, arbejdskrævende opgaver.

AI Arbejdsmarked Autonome Agenter overhaler

En estimeret 80% af amerikanske arbejdere kan finde, at LLM’er (Language Learning Models) påvirker omkring 10% af deres daglige opgaver. Denne statistik understreger sammenlægningen af AI og menneskelige roller.

AI’s dobbeltsidige rolle i arbejdskraften:

  • Positive Aspekter: AI kan automatisere mange opgaver, fra kundeservice til finansielle råd, og give en lettelse til små virksomheder, der mangler midler til dedikerede hold.
  • Bekymringer: Automatiseringens fordel rejser bekymringer om mulige jobtab, især i sektorer, hvor menneskelig indgriben er afgørende, som kundesupport. Dertil kommer den etiske labyrint forbundet med AI’s adgang til fortrolig information. Dette kræver en stærk infrastruktur, der sikrer gennemsigtighed, ansvarlighed og etisk brug af AI.

Konklusion

Det er tydeligt, at værktøjer som ChatGPT, Auto-GPT og GPT-Engineer står i spidsen for at omforme interaktionen mellem teknologi og dens brugere. Med rødder i open-source-bevægelser, manifestere disse AI-agenter mulighederne for maskin-autonomi, strømlinerende opgaver fra planlægning til softwareudvikling.

Da vi bevæger os mod en fremtid, hvor AI integreres dybere i vores daglige rutiner, bliver balancen mellem at omfavne AI’s muligheder og beskytte menneskelige roller afgørende. I det bredere perspektiv maler AI-arbejdsmarkedets dynamik et dobbelt billede af vækstmuligheder og udfordringer, krævende en bevidst integration af tekniske etik og gennemsigtighed.

Jeg har brugt de sidste fem år på at dykke ned i den fascinerende verden af Machine Learning og Deep Learning. Min passion og ekspertise har ført mig til at bidrage til over 50 forskellige software-ingeniørprojekter, med en særlig fokus på AI/ML. Min fortsatte nysgerrighed har også ført mig mod Natural Language Processing, et felt jeg er ivrig efter at udforske yderligere.