AGI และ AI แห่งอนาคต

MetaGPT: คู่มือการใช้ AI ที่ดีที่สุดในปัจจุบัน

mm
เพิ่ม Unite.AI ลงในแหล่งข้อมูลที่คุณต้องการบน Google

ด้วยโมเดลภาษาขนาดใหญ่ (LLMs) เช่น ChatGPT OpenAI ได้เห็นการเติบโตของการนำไปใช้งานในระดับองค์กรและผู้ใช้ โดยปัจจุบันมีรายได้ประมาณ 80 ล้านเหรียญสหรัฐต่อเดือน ตามรายงานล่าสุดของ The Information บริษัทที่ตั้งอยู่ในซานฟรานซิสโกได้รายงานว่ากำลังจะถึง 1 พันล้านเหรียญสหรัฐในรายได้ต่อปี

ครั้งสุดท้ายที่เราได้พูดถึง AutoGPT และ GPT-Engineering ซึ่งเป็นตัวแทนของ AI ที่เปิดกว้างและได้รับการออกแบบมาเพื่อทำงานที่ซับซ้อน แต่ระบบเหล่านี้มีปัญหาหลายอย่าง เช่น ผลลัพธ์ที่ไม่สม่ำเสมอ ข้อจำกัดในการทำงาน และขาดการบริหารโครงการอย่างเหมาะสม พวกมันแสดงความสามารถในการสร้างโค้ด แต่ความสามารถของพวกมันสิ้นสุดเพียงเท่านั้น พวกมันขาดฟังก์ชันการบริหารโครงการที่สำคัญ เช่น การสร้าง PRD การออกแบบทางเทคนิค และการสร้าง API

เมตา GPT เป็นระบบหลายตัวแทน ที่ใช้โมเดลภาษาขนาดใหญ่โดย Sirui Hong ซึ่งรวมถึงขั้นตอนการทำงานมาตรฐาน (SOPs) เข้ากับระบบหลายตัวแทนโดยใช้โมเดลภาษาขนาดใหญ่ ระบบนี้เปลี่ยนแปลงข้อจำกัดที่มีอยู่ของโมเดลภาษาขนาดใหญ่ในการทำงานร่วมกันและแบ่งงานในแอปพลิเคชันจริงที่ซับซ้อน

ความงามของ MetaGPT อยู่ในโครงสร้างของมัน มันใช้เทคนิคการเขียนโปรแกรมระดับสูงเพื่อจัดการ วิเคราะห์ และแปลงโค้ดในเวลาจริง จุดมุ่งหมายคือการสร้างโครงสร้างซอฟต์แวร์ที่ยืดหยุ่นและสามารถปรับเปลี่ยนตามงานโปรแกรมมิ่งที่มีการเปลี่ยนแปลง

Agile Development - Metagpt

Agile Development

SOPs ทำหน้าที่เป็นฟังก์ชันระดับสูง โดยประสานงานตัวแทนเพื่อสร้างโค้ดอัตโนมัติตามข้อมูลเข้า มันเหมือนกับว่าคุณมีทีมวิศวกรซอฟต์แวร์ที่ทำงานร่วมกันและสามารถปรับเปลี่ยนได้

การทำความเข้าใจโครงสร้าง MetaGPT

ชั้นพื้นฐานและชั้นความร่วมมือ

โครงสร้างของ MetaGPT แบ่งออกเป็นสองชั้น: ชั้นพื้นฐานและชั้นความร่วมมือ

  1. ชั้นพื้นฐาน: ชั้นนี้มุ่งเน้นการทำงานของตัวแทนแต่ละตัวและอำนวยความสะดวกในการแลกเปลี่ยนข้อมูลในระบบ มันแนะนำบล็อกการสร้างหลัก เช่น สภาพแวดล้อม ความจำ บทบาท การกระทำ และเครื่องมือ สภาพแวดล้อมกำหนดเวิร์กสเปซและเส้นทางสื่อสารร่วมกัน ในขณะที่ความจำทำหน้าที่เป็นคลังข้อมูลทางประวัติศาสตร์ บทบาทครอบคลุมความเชี่ยวชาญเฉพาะโดเมน การกระทำดำเนินงานแบบโมดูลาร์ และเครื่องมือให้บริการร่วมกัน ชั้นนี้ทำหน้าที่เป็นระบบปฏิบัติการสำหรับตัวแทน
  2. ชั้นความร่วมมือ: ชั้นนี้สร้างขึ้นบนชั้นพื้นฐานและจัดการการทำงานร่วมกันของตัวแทนแต่ละตัว มันแนะนำกลไกสองอย่าง: การแบ่งปันความรู้และกระบวนการทำงาน

MetaGPT ยังใช้ “คำจำกัดความบทบาท” เพื่อเปิดตัวตัวแทนเชี่ยวชาญต่างๆ เช่น ผู้จัดการผลิตภัณฑ์ สถาปนิก เป็นต้น บทบาทเหล่านี้ถูกกำหนดโดยคุณลักษณะสำคัญ เช่น ชื่อ โปรไฟล์ เป้าหมาย ข้อจำกัด และคำอธิบาย

กระบวนการรู้คิดในตัวแทน MetaGPT

MetaGPT สามารถสังเกต คิด สะท้อน และกระทำ มันทำงานผ่านฟังก์ชันพฤติกรรมเฉพาะ เช่น _think(), _observe(), _publish_message() เป็นต้น การสร้างแบบจำลองการรู้คิดนี้ทำให้ตัวแทนสามารถเรียนรู้และพัฒนาได้

กลไกการตรวจสอบโค้ดสำหรับ MetaGPT

การตรวจสอบโค้ดเป็นส่วนสำคัญของวงจรชีวิตการพัฒนาซอฟต์แวร์ แต่ไม่มีอยู่ในหลายเฟรมเวิร์กที่ได้รับความนิยมทั้ง MetaGPT และ AgentVerse มีการสนับสนุนการตรวจสอบโค้ด แต่ MetaGPT ไปไกลกว่านั้นโดยรวมการทำงานก่อนการคอมไพล์ ซึ่งช่วยในการตรวจจับข้อผิดพลาดตั้งแต่เนิ่นๆ และส่งผลให้คุณภาพโค้ดดีขึ้น

การทดลองเชิงปริมาณที่ดำเนินการทั่วหลายงานแสดงให้เห็นว่า MetaGPT มีประสิทธิภาพเหนือกว่าในเกือบทุกสถานการณ์ Pass@1 เป็นมาตรการที่แสดงถึงความสามารถของเฟรมเวิร์กในการสร้างโค้ดที่ถูกต้องในครั้งแรก มาตรการนี้ให้การสะท้อนถึงความสามารถของเฟรมเวิร์กในการใช้งานจริงมากขึ้น อัตรา Pass@1 ที่สูงหมายถึงการแก้ปัญหาและประสิทธิภาพที่ดีขึ้น ซึ่งส่งผลกระทบต่อวงจรการพัฒนาซอฟต์แวร์และต้นทุน เมื่อเปรียบเทียบกับเครื่องมือสร้างโค้ดขั้นสูงอื่นๆ เช่น CodeX, CodeT และ GPT-4 MetaGPT มีประสิทธิภาพเหนือกว่า ทั้งหมด

Comparing MBPP and HumanEval Metrics b/w MetaGPT and other Leading Models (https://arxiv.org/pdf/2308.00352.pdf)

Comparing MBPP and HumanEval Metrics b/w MetaGPT and other Leading Models (https://arxiv.org/pdf/2308.00352.pdf)

เฟรมเวิร์กยังใช้โทเค็นและทรัพยากรการคำนวณน้อยกว่า ทำให้ได้ผลลัพธ์ที่สำเร็จสูงในราคาที่ต่ำกว่า ค่าใช้จ่ายเฉลี่ยต่อโครงการคือเพียง 1.09 ดอลลาร์สหรัฐฯ ซึ่งเป็นเพียงเศษเสี้ยวของที่นักพัฒนาจะเรียกเก็บเงินสำหรับงานเดียวกัน

ขั้นตอนการติดตั้ง MetaGPT บนระบบของคุณ

การติดตั้ง NPM และ Python

  1. ตรวจสอบและติดตั้ง NPM: ก่อนอื่นให้แน่ใจว่าคุณมี NPM ติดตั้งอยู่ในระบบ หากไม่มี คุณจะต้องติดตั้ง Node.js
  2. ติดตั้ง mermaid-js ซึ่งเป็นความต้องการสำหรับ MetaGPT โดยใช้คำสั่ง sudo npm install -g @mermaid-js/mermaid-cli หรือ npm install -g @mermaid-js/mermaid-cli
  3. ตรวจสอบเวอร์ชัน Python: ตรวจสอบว่าคุณมี Python 3.9 หรือสูงกว่าติดตั้งอยู่ หากไม่ คุณสามารถดาวน์โหลดเวอร์ชันล่าสุดจากเว็บไซต์ Python
  4. โคลนリポジทอรี MetaGPT: ใช้คำสั่ง git clone https://github.com/geekan/metagpt เพื่อโคลนリポジทอรี MetaGPT
  5. เปลี่ยนไปยังไดเรกทอรี: หลังจากโคลนแล้ว ให้เปลี่ยนไปยังไดเรกทอรี MetaGPT โดยใช้คำสั่ง cd metagpt
  6. ติดตั้ง: ใช้คำสั่ง python setup.py install เพื่อติดตั้ง MetaGPT
  7. สร้างแอปพลิเคชัน: ใช้คำสั่ง python startup.py "ENTER-PROMPT" --code_review True

การติดตั้งด้วย Docker

สำหรับผู้ที่ชอบใช้การคอนเทนเนอร์化 Docker ทำให้กระบวนการง่ายขึ้น

  • ดึงภาพ Docker: ดาวน์โหลดภาพ Docker ของ MetaGPT และเตรียมไฟล์การกำหนดค่า
docker pull metagpt/metagpt:v0.3.1
mkdir -p /opt/metagpt/{config,workspace}
docker run --rm metagpt/metagpt:v0.3.1 cat /app/metagpt/config/config.yaml > /opt/metagpt/config/key.yaml
vim /opt/metagpt/config/key.yaml
  • เรียกใช้ MetaGPT Container: ใช้คำสั่ง docker run --rm --privileged \
-v /opt/metagpt/config/key.yaml:/app/metagpt/config/key.yaml \
-v /opt/metagpt/workspace:/app/metagpt/workspace \
metagpt/metagpt:v0.3.1 \
python startup.py "Create a simple and interactive CLI based rock, paper and scissors game" --code_review True

การกำหนดค่า MetaGPT ด้วย OpenAI API Key

หลังจากการติดตั้งเบื้องต้น คุณจะต้องรวม MetaGPT เข้ากับ OpenAI API Key ของคุณ

  1. ค้นหาหรือสร้าง OpenAI Key: คุณสามารถค้นหา Key นี้ในแผงควบคุม OpenAI ภายใต้การตั้งค่า API
  2. ตั้งค่า API Key: คุณสามารถวาง API Key ใน config/key.yaml, config/config.yaml หรือตั้งค่าเป็นตัวแปรสิ่งแวดล้อม (env)
  3. เปลี่ยนไปยัง config/key.yaml และแทนที่ข้อความที่ว่างเปล่าด้วย OpenAI Key ของคุณ: OPENAI_API_KEY: "sk-..."

ตัวอย่างการใช้งาน

ฉันให้วัตถุประสงค์ในการพัฒนาเกม Rock, Paper และ Scissors ที่ใช้ CLI และ MetaGPT ได้ดำเนินการตามคำสั่งนั้น

ด้านล่างนี้คือวิดีโอที่แสดงการทำงานของโค้ดเกมที่สร้างขึ้น

MetaGPT Demo Run

MetaGPT ให้เอกสารการออกแบบระบบในรูปแบบ Markdown ซึ่งเป็นภาษามาร์กอัปที่ใช้กันอย่างแพร่หลาย นอกจากนี้ยังมีรายละเอียดเกี่ยวกับ API และการกำหนดค่า HTTP

MetaGPT Output - System Design

MetaGPT Output – System Design Markdown

การออกแบบคลาสแสดงรายละเอียดของคลาส Game และให้ภาพรวมที่ชัดเจนของการทำงานของโปรแกรม

ไม่เพียงแต่จะลดภาระการทำงานด้วยมือในการวางแผน แต่ยังเร่งกระบวนการตัดสินใจ ทำให้กระบวนการพัฒนาซอฟต์แวร์ของคุณยังคงคล่องตัว

สรุป: MetaGPT—การปฏิวัติในการพัฒนาซอฟต์แวร์

MetaGPT เปลี่ยนแปลงภูมิทัศน์ของ AI ที่สร้างขึ้นและพัฒนาซอฟต์แวร์ โดยนำเสนอการผสมผสานระหว่างการทำงานอัตโนมัติที่ชาญฉลาดและการจัดการโครงการอย่างคล่องตัว มันเหนือกว่าความสามารถของ ChatGPT, AutoGPT และโมเดล LangChain ทั่วไปในการแบ่งงาน การสร้างโค้ด และการวางแผนโครงการ ด้วย MetaGPT คุณไม่เพียงแต่สร้างโค้ดอัตโนมัติเท่านั้น แต่ยังสร้างการวางแผนโครงการอีกด้วย

นี่คือสิ่งที่สำคัญที่สุดจากบทความนี้:

  1. พลังของการเขียนโปรแกรมระดับสูง: ด้วยการเขียนโปรแกรมระดับสูง MetaGPT ให้โครงสร้างซอฟต์แวร์ที่ยืดหยุ่นและปรับเปลี่ยนได้ มันล้ำกว่าฟังก์ชันของเครื่องมือเก่าและนำเสนอแนวทางใหม่ที่จัดการไม่เพียงแต่การเขียนโค้ด แต่ยังรวมถึงการจัดการโครงการและการตัดสินใจด้วย
  2. โครงสร้างสองชั้น: ด้วยชั้นพื้นฐานและชั้นความร่วมมือ MetaGPT สร้างระบบที่ตัวแทนสามารถทำงานร่วมกันได้อย่างมีประสิทธิภาพ
  3. การตรวจสอบโค้ดที่ได้รับการปรับปรุง: นอกเหนือจากการสร้างโค้ด MetaGPT ยังมีการทำงานก่อนการคอมไพล์ ซึ่งเป็นระบบเตือนล่วงหน้าสำหรับข้อผิดพลาด ช่วยประหยัดเวลาในการแก้ปัญหาและรับประกันคุณภาพโค้ด
  4. ตัวแทนการรู้คิด: ตัวแทนของ MetaGPT มีฟังก์ชันการรู้คิด เช่น _observe(), _think(), _publish_message() ทำให้ตัวแทนสามารถเรียนรู้และพัฒนาได้
  5. การติดตั้งและการใช้งาน: เราได้แสดงให้เห็นว่า MetaGPT สามารถติดตั้งได้ง่าย ไม่ว่าจะเป็นการใช้ NPM และ Python หรือการคอนเทนเนอร์化ด้วย Docker

ฉันใช้เวลาที่ผ่านมา 5 ปีในการศึกษาสิ่งที่น่าสนใจเกี่ยวกับ Machine Learning และ Deep Learning ความเชี่ยวชาญและความหลงใหลของฉันทำให้ฉันเข้าร่วมในโครงการพัฒนาซอฟต์แวร์มากกว่า 50 โครงการที่มีความหลากหลาย โดยมุ่งเน้นไปที่ AI/ML ความอยากรู้อยากเห็นของฉันยังทำให้ฉันสนใจในด้าน Natural Language Processing ซึ่งเป็นสาขาที่ฉันต้องการสำรวจต่อไป