Search

AutoGPT (An Autonomous GPT-4)

생성일
2023/04/20 02:31
최종 편집 일시
2023/06/14 10:00
Category
AI Agent
Content Type
Doc
Keywords
FM Tooling Layer
작성자 : 김준성 (Linkedin, E-Mail : soulloan@gmail.com)
[소개] 엄청나게 화제가 된 프로젝트가 있습니다. AutoGPT 인데요.
GPT-4를 통해 AI Agent를 운영할 수 있는 open-source 입니다.
본문의 예시 동영상들은 꼭 보시길 추천드립니다.
간단히 맥에 설치하여 활용 가능합니다. (Google API 키, OpenAI API 키, Pinecone API 키 필요)
Flow : GPT-4 기반의 AI Agent에게 역할 & 미션을 부여, 인터넷 검색 & 메모리 등을 이용하여 목표를 수행하게 되는데, 아래와 같은 과정을 지속적으로 반복하게 됩니다.
1.
Prompt 생성
GPT 입력 : 역할, 미션 & 이전 최근 history (memory) & 할 수 있는 command (미리 code 형태로 작성되어 있는 action; e.g. 검색, 파일쓰기 등)
GPT 출력 : 자신의 생각을 정리(Thought), 추론(Reasoning), 작업을 계획(Planning), 비평 (Criticism) 하는 형태로 prompt 생성
2.
Prompt로부터 결과 추출
GPT 입력 : prompt
GPT 출력 : 실행해야하는 command와 argument
3.
command에 해당하는 action 실행
이후 일을 진행할 때는, 여러 Sub AI Agent들을 만들어서 각 Sub Agent들이 Sub-task들을 수행하도록 분배하고 최종적으로 만족할 수준으로 작업이 되면, 이를 취합하여 결과물을 만들어 줍니다.
주의 : 현재도 아주 빠른 속도로 업데이트가 되고 있기에, 현 문서에 있는 내용은 deprecated 되었을 수 있습니다.
[개인 AI 비서 J.A.R.V.I.S. 시대의 서막]
AutoGPT 프로젝트는 매우 큰 관심을 불러일으키고 있고, 이로부터 다양한 적용 예시들이 나오고 있는데 아주 쇼킹한 것들이 많습니다.
예시 1번. 프로그램 개발 Agent (Mac 내의 Jarvis) : 데모 영상
예시 2번. 온라인 서치를 통한 분석 리포트 자동 생성 : 데모 영상
예시 3번. 제품 기획
[HyperWrite 서비스 (Otherside AI)]
비슷한 아이디어를 활용한 서비스 “HyperWrite” (Otherside AI)
예시 4번. AI Personal Assistant on Web (HyperWrite) : 데모 영상
[Camel 프로젝트]
비슷한 프로젝트로 프로젝트 : 두 ChatGPT가 서로 역할을 담당하여 대화를 자율적으로 나누면서 주어진 task를 환성해나가는 프로젝트 입니다.
예시 5번. 두 Agent들간의 대화를 통한 task 수행 (예- 게임 만들기) : 데모 페이지
[Reference]
[Tutorial] How to use AutoGPT
Auto-GPT Tutorial - Create Your Personal AI Assistant 🦾
In this tutorial, I will show you how to set up Auto-GPT and get started with your own AI assistant! Auto-GPT is a pioneering open-source software that demonstrates the potential of the GPT-4 language model. Powered by GPT-4, this application autonomously connects LLM "thoughts" to accomplish any objective you assign. As an initial instance of GPT-4 operating completely independently, Auto-GPT expands the horizons of AI capabilities. Update from Auto-GPT's GitHub: We've improved our workflow. master will often be in a broken state. Download the latest stable release here: https://github.com/Torantulino/Auto-GPT/releases/latest Build your own Auto-GPT: https://youtu.be/NYSWn1ipbgg 👉🏻 Links https://platform.openai.com/ https://github.com/Torantulino/Auto-GPT https://beta.elevenlabs.io/ https://app.pinecone.io/ ⏱️ Timestamps 00:00 Introduction 00:24 What is Auto-GPT 02:28 Getting started 04:50 Cloning the repository 07:20 Setting environment variables 10:03 Running the script 11:24 Setting up the assistant 17:49 Speech mode 👋🏻 About Me Hey there, my name is @daveebbelaar and I work as a freelance data scientist and coach. You've stumbled upon my YouTube channel, where I give away all my secrets when it comes to working with data. I'm not here to sell you any data course — everything you need is right here on YouTube. Making videos is my passion, and I've been doing it for 18 years. I just genuinely enjoy helping people. While I don't sell any data courses, I do offer a coaching program for data professionals looking to start their own freelance business. If that sounds like you, head over to https://www.datalumina.io/ to learn more about working with me and kick-starting your freelance career.

Project Code

GPT-4를 통해 AI Agent를 운영할 수 있는 open-source “
Flow : GPT-4 기반의 AI Agent에게 역할 & 미션을 부여, 인터넷 검색 & 메모리 등을 이용하여 목표를 수행하게 되는데, 아래와 같은 과정을 지속적으로 반복하게 됩니다.
1.
Prompt 생성
GPT 입력 : 역할, 미션 & 이전 최근 history (memory) & 할 수 있는 command (미리 code 형태로 작성되어 있는 action; e.g. 검색, 파일쓰기 등)
GPT 출력 : 자신의 생각을 정리(Thought), 추론(Reasoning), 작업을 계획(Planning), 비평 (Criticism) 하는 형태로 prompt 생성
2.
Prompt로부터 결과 추출
GPT 입력 : prompt
GPT 출력 : 실행해야하는 command와 argument
3.
command에 해당하는 action 실행
Prompt를 만들기 위한 GPT 입력 구성 : Constraint / Command (특정한 API나 function을 실행하기 위한 명령) / Resource / Evaluation
Agent가 수행하기 위한 명령들은 아래와 같이 미리 code-level로 정의되어 있어야 함.
command_categories = [ "autogpt.commands.analyze_code", "autogpt.commands.audio_text", "autogpt.commands.execute_code", "autogpt.commands.file_operations", "autogpt.commands.git_operations", "autogpt.commands.google_search", "autogpt.commands.image_gen", "autogpt.commands.improve_code", "autogpt.commands.twitter", "autogpt.commands.web_selenium", "autogpt.commands.write_tests", "autogpt.app", "autogpt.commands.task_statuses", ]
Python
복사
GPT에 의해서 나오는 중간 결과 종류들
명령을 수행하기 위해 필요한 여러 단계의 보조 업무들 추출
정해진 Task를 수행
다른 Agent의 Task를 평가
이후 일을 진행할 때, 여러 Sub AI Agent들을 만들어서 각 Sub Agent들이 Sub-task들을 수행하도록 분배하고 최종적으로 만족할 수준으로 작업이 되면, 이를 취합하여 결과물 생성할 수 있음
중간 결과마다, human intervention을 받아서 허용여부를 설정하거나 추가 내용을 삽입하여 결과를 control 할 수 있음
정보를 저장할 수 있는 메모리 관리 (Vector DB or Files; 이전 모든 history)
summary memory : 모든 입출력 결과들을 보관하면서, 가장 최근 몇개의 결과들에 대해 지속적으로 summary update 해나가면서 추가로 history에 삽입하는 과정 존재 (모든 memory를 참조할 수 없으니, 전체 history를 요약하는 과정을 수행)

Features

 Internet access for searches and information gathering
Google Search
 Long-Term and Short-Term memory management
Backend Memory : Pinecone & Redis & Weaviate 지원
Ingesting Files 지원
 GPT-4 instances for text generation
Image Generation by DALL-E (default) & Stable Diffusion (HuggingFace API Token 필요)
 Access to popular websites and platforms
 File storage and summarization with GPT-3.5
Eleven Labs TTS 활용 가능 (Speech Mode)

대표 응용 분야

보고서 작성
콘텐츠 제작
코딩
번역
고객센터
데이터 분석
게임 만들기

응용 예시

1번. 프로그램 개발 Agent (Mac 내의 Jarvis)

2번. 온라인 서치를 통한 리포트 자동 생성

3번. 제품 기획

4번. AI Personal Assistant on Web (HyperWrite of Otherside AI)

5번. 두 Agent들간의 대화를 통한 task 수행 (예- 게임 만들기)