Trí tuệ tổng hợp nhân tạo
MetaGPT: Hướng dẫn đầy đủ về Tác nhân AI tốt nhất hiện có

Với các Mô hình ngôn ngữ lớn (LLM) như ChatGPT, OpenAI đã chứng kiến sự gia tăng nhanh chóng trong việc áp dụng của doanh nghiệp và người dùng, hiện thu về khoảng 80 triệu USD doanh thu hàng tháng. Theo một báo cáo gần đây Theo The Information, công ty có trụ sở tại San Francisco được cho là đang trên đà đạt doanh thu 1 tỷ USD hàng năm.
Lần trước chúng ta đã đi sâu vào AutoGPT và GPT-Kỹ thuật, các tác nhân AI dựa trên LLM nguồn mở chính thống đầu tiên được thiết kế để tự động hóa các tác vụ phức tạp. Mặc dù đầy hứa hẹn nhưng các hệ thống này có một số vấn đề: kết quả không nhất quán, tắc nghẽn về hiệu suất và hạn chế trong việc xử lý các nhu cầu nhiều mặt. Họ thể hiện sự thành thạo trong việc tạo mã, nhưng khả năng của họ thường chỉ dừng lại ở đó. Chúng thiếu các chức năng quản lý dự án quan trọng như tạo PRD, tạo thiết kế kỹ thuật và tạo nguyên mẫu giao diện API.
đăng ký hạng mục thi MetaGPT— một hệ thống Đa tác nhân sử dụng các mô hình Ngôn ngữ lớn của Sirui Hong kết hợp Quy trình vận hành được tiêu chuẩn hóa (SOP) với các hệ thống đa tác nhân dựa trên LLM. Mô hình mới nổi này phá vỡ những hạn chế hiện có của LLM trong việc thúc đẩy sự hợp tác hiệu quả và phân tách nhiệm vụ trong các ứng dụng phức tạp trong thế giới thực.
Vẻ đẹp của MetaGPT nằm ở cấu trúc của nó. Nó tận dụng các kỹ thuật lập trình meta để thao tác, phân tích và chuyển đổi mã trong thời gian thực. Mục đích? Để hiện thực hóa kiến trúc phần mềm nhanh nhẹn, linh hoạt có thể thích ứng với các tác vụ lập trình động.
SOP hoạt động như một siêu chức năng ở đây, điều phối các tác nhân để tự động tạo mã dựa trên các đầu vào đã xác định. Nói một cách đơn giản, điều đó giống như thể bạn đã biến một nhóm kỹ sư phần mềm có khả năng phối hợp chặt chẽ thành một hệ thống phần mềm thông minh, có khả năng thích ứng.
Tìm hiểu khung MetaGPT

Khung MetaGPT (https://arxiv.org/pdf/2308.00352.pdf)
Lớp nền tảng và cộng tác
Kiến trúc của MetaGPT được chia thành hai lớp: Lớp Thành phần Nền tảng và Lớp Cộng tác.
- Lớp thành phần nền tảng: Lớp này tập trung vào các hoạt động của từng tác nhân và tạo điều kiện trao đổi thông tin trên toàn hệ thống. Nó giới thiệu các khối xây dựng cốt lõi như Môi trường, Bộ nhớ, Vai trò, Hành động và Công cụ. Môi trường tạo tiền đề cho không gian làm việc chung và đường dẫn liên lạc, trong khi Bộ nhớ đóng vai trò là nơi lưu trữ dữ liệu lịch sử. Các vai trò gói gọn kiến thức chuyên môn theo miền cụ thể, Hành động thực hiện các nhiệm vụ theo mô-đun và Công cụ cung cấp các dịch vụ phổ biến. Lớp này về cơ bản đóng vai trò là hệ điều hành cho các tác nhân. Thông tin chi tiết hơn về cách những thứ này hoạt động cùng nhau có sẵn trong bài viết 'Ngoài trò chuyệnGPT; Đặc vụ AI: Một thế giới công nhân mới'
- Lớp cộng tác: Được xây dựng dựa trên các thành phần nền tảng, lớp này quản lý và sắp xếp hợp lý các nỗ lực hợp tác của từng tác nhân. Nó giới thiệu hai cơ chế: Chia sẻ kiến thức và Quy trình làm việc đóng gói.
- Chia sẻ kiến thức: Chất này đóng vai trò như chất keo cộng tác gắn kết các tác nhân lại với nhau. Các tác nhân có thể lưu trữ, truy xuất và chia sẻ thông tin ở các cấp độ khác nhau, do đó giảm sự dư thừa và nâng cao hiệu quả hoạt động.
- Đóng gói quy trình công việc: Đây là lúc Quy trình vận hành được tiêu chuẩn hóa (SOP) phát huy tác dụng. SOP hoạt động như các bản thiết kế chia nhỏ các nhiệm vụ thành các phần có thể quản lý được. Tổng đài viên được giao các nhiệm vụ phụ này và hiệu suất của họ được điều chỉnh phù hợp với kết quả đầu ra được tiêu chuẩn hóa.
MetaGPT cũng sử dụng “Định nghĩa vai trò” để bắt đầu nhiều đại diện chuyên môn khác nhau như Giám đốc sản phẩm, Kiến trúc sư, v.v. như chúng ta đã thảo luận ở trên. Các vai trò này được đặc trưng bởi các thuộc tính chính như tên, hồ sơ, mục tiêu, ràng buộc và mô tả.
Hơn nữa, “Đại lý neo” cung cấp hướng dẫn theo vai trò cụ thể cho các tổng đài viên này. Ví dụ: vai trò của Người quản lý sản phẩm có thể được khởi tạo với ràng buộc là “tạo ra một sản phẩm thành công một cách hiệu quả”. Các tác nhân neo đảm bảo rằng hành vi của các tác nhân phù hợp với các mục tiêu tổng thể, từ đó tối ưu hóa hiệu suất.
Quy trình nhận thức trong tác nhân MetaGPT
MetaGPT có thể quan sát, suy nghĩ, phản ánh và hành động. Chúng hoạt động thông qua các chức năng hành vi cụ thể như _think()
, _observe()
, _publish_message()
, v.v. Mô hình nhận thức này trang bị cho các tác nhân trở thành những người học tích cực, có thể thích nghi và phát triển.
- Tuân theo: Đại lý quét môi trường của họ và kết hợp dữ liệu quan trọng vào Bộ nhớ của họ.
- Suy nghĩ và suy ngẫm: Thông qua
_think()
chức năng, vai trò được cân nhắc trước khi thực hiện hành động. - Tin nhắn quảng bá: Đại lý được sử dụng
_publish_message()
để chia sẻ trạng thái nhiệm vụ hiện tại và hồ sơ hành động liên quan. - Lượng mưa & Đạo luật Kiến thức: Đại lý đánh giá các tin nhắn đến và cập nhật kho lưu trữ nội bộ của họ trước khi quyết định hành động tiếp theo.
- Quản lý Nhà nước: Với các tính năng như khóa tác vụ và cập nhật trạng thái, các vai trò có thể xử lý nhiều hành động một cách tuần tự mà không bị gián đoạn, phản ánh sự cộng tác của con người trong thế giới thực.
Cơ chế đánh giá mã cho MetaGPT
Đánh giá mã là một thành phần quan trọng trong vòng đời phát triển phần mềm, tuy nhiên nó lại không có trong một số framework phổ biến. Cả MetaGPT và đặc vụVerse hỗ trợ khả năng xem xét mã, nhưng MetaGPT còn tiến thêm một bước. Nó cũng kết hợp thực thi biên dịch trước, hỗ trợ phát hiện lỗi sớm và sau đó nâng cao chất lượng mã. Do tính chất lặp đi lặp lại của mã hóa, tính năng này không chỉ là một tiện ích bổ sung mà còn là một yêu cầu đối với bất kỳ khung phát triển trưởng thành nào.
Các thử nghiệm định lượng được thực hiện trên một số nhiệm vụ cho thấy MetaGPT hoạt động tốt hơn các đối tác của nó trong hầu hết mọi tình huống. Pass@1 là thước đo khả năng tạo mã chính xác của khung trong một lần lặp. Số liệu này cung cấp sự phản ánh thực tế hơn về tiện ích của khung trong cài đặt thực tế. Tỷ lệ Pass@1 cao hơn có nghĩa là ít lỗi hơn và hiệu quả hơn, ảnh hưởng trực tiếp đến chu kỳ phát triển và chi phí. Khi được xếp chồng lên nhau với các công cụ tạo mã nâng cao khác như Codex, MãTvà thậm chí cả GPT-4, MetaGPT vượt trội khu mua sắm. Khả năng của khung này để đạt được một 81.7% đến 82.3% Đạt tỷ lệ @1 trên con người và MBPP điểm chuẩn.

So sánh MBPP và HumanEval Metrics b/w MetaGPT và các Mô hình hàng đầu khác (https://arxiv.org/pdf/2308.00352.pdf)
Khung này cũng sử dụng ít mã thông báo và tài nguyên tính toán hơn, đạt được tỷ lệ thành công cao với chi phí kỹ thuật phần mềm truyền thống thấp hơn. Dữ liệu cho thấy chi phí trung bình chỉ $1.09 cho mỗi dự án có MetaGPT, đây chỉ là một phần nhỏ so với số tiền mà nhà phát triển sẽ tính phí cho cùng một nhiệm vụ.
Các bước để cài đặt cục bộ MetaGPT trên hệ thống của bạn
Cài đặt NPM, Python
- Kiểm tra và cài đặt NPM: Trước tiên, hãy đảm bảo NPM được cài đặt trên hệ thống của bạn. Nếu không, bạn sẽ cần phải cài đặt Node.js. Để kiểm tra xem bạn có npm hay không, hãy chạy lệnh này trong terminal của bạn:
npm --version
. Nếu bạn nhìn thấy số phiên bản, bạn đã sẵn sàng. - Để cài đặt
mermaid-js
, một phần phụ thuộc cho MetaGPT, hãy chạy:sudo npm install -g @mermaid-js/mermaid-cli
ornpm install -g @mermaid-js/mermaid-cli
- Xác minh phiên bản Python: Đảm bảo rằng bạn có Python 3.9 trở lên. Để kiểm tra phiên bản Python của bạn, hãy mở terminal và gõ:
python --version
. Nếu bạn chưa cập nhật, hãy tải xuống phiên bản mới nhất từ Trang web chính thức của Python. - Sao chép kho lưu trữ MetaGPT: Bắt đầu bằng cách sao chép kho lưu trữ MetaGPT GitHub bằng lệnh
git clone https://github.com/geekan/metagpt
. Đảm bảo bạn đã cài đặt Git trong hệ thống của mình cho việc này. Nếu không, hãy truy cập đây. - Điều hướng đến thư mục: Sau khi nhân bản, hãy điều hướng đến thư mục MetaGPT bằng lệnh
cd metagpt
. - Lắp Đặt: Thực thi tập lệnh thiết lập Python để cài đặt MetaGPT bằng lệnh
python setup.py install
. - Tạo một ứng dụng: Chạy
python startup.py "ENTER-PROMPT" --code_review True
Chú thích:
- Dự án mới của bạn bây giờ sẽ ở trong
workspace/
thư mục. --code_review True
sẽ cho phép mô hình GPT thực hiện các hoạt động bổ sung để đảm bảo mã chạy chính xác nhưng lưu ý rằng chi phí sẽ cao hơn.- Nếu bạn gặp lỗi quyền trong khi cài đặt, hãy thử chạy
python setup.py install --user
như một sự thay thế. - Để truy cập vào các bản phát hành cụ thể và biết thêm chi tiết, hãy truy cập trang phát hành MetaGPT GitHub chính thức: Bản phát hành MetaGPT.
Cài đặt Docker
Đối với những người thích container hóa, Docker đơn giản hóa quy trình:
- Kéo hình ảnh Docker: Tải image chính thức của MetaGPT và chuẩn bị file cấu hình:
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
- Chạy Bộ chứa MetaGPT: Thực thi vùng chứa bằng lệnh sau:
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
Định cấu hình MetaGPT bằng Khóa API OpenAI của bạn
Sau quá trình thiết lập ban đầu, bạn sẽ cần tích hợp MetaGPT với Khóa API OpenAI của mình. Dưới đây là các bước để làm như vậy:
- Xác định vị trí hoặc tạo khóa OpenAI của bạn: Bạn có thể tìm thấy khóa này trong Bảng điều khiển OpenAI trong cài đặt API.
- Đặt khóa API: Bạn có tùy chọn đặt khóa API vào
config/key.yaml
,config/config.yaml
hoặc đặt nó làm biến môi trường (env
). Thứ tự ưu tiên làconfig/key.yaml > config/config.yaml > env
. - Để đặt khóa, hãy điều hướng đến
config/key.yaml
và thay thế văn bản giữ chỗ bằng khóa OpenAI của bạn:OPENAI_API_KEY: "sk-..."
Hãy nhớ bảo vệ Khóa API OpenAI của bạn. Không bao giờ đưa nó vào một kho lưu trữ công cộng hoặc chia sẻ nó với những cá nhân không được phép.
Minh họa ca sử dụng
Tôi đã đưa ra mục tiêu phát triển trò chơi oẳn tù tì dựa trên CLI và MetaGPT đã thực hiện thành công nhiệm vụ đó.
Dưới đây là video giới thiệu quá trình chạy thực tế của mã trò chơi được tạo.
Chạy thử nghiệm MetaGPT
MetaGPT đã cung cấp tài liệu thiết kế hệ thống bằng Markdown—một ngôn ngữ đánh dấu nhẹ thường được sử dụng. Tệp Markdown này chứa đầy các sơ đồ UML, do đó cung cấp cái nhìn chi tiết về bản thiết kế kiến trúc. Hơn nữa, thông số kỹ thuật API được trình bày chi tiết với các phương thức HTTP, điểm cuối, đối tượng yêu cầu/phản hồi và mã trạng thái
Sơ đồ lớp mô tả chi tiết các thuộc tính và phương thức của chúng ta Game
lớp, cung cấp một sự trừu tượng dễ hiểu. Nó thậm chí còn trực quan hóa luồng lệnh gọi của chương trình, biến các ý tưởng trừu tượng thành các bước hữu hình một cách hiệu quả.
Điều này không chỉ làm giảm đáng kể chi phí thủ công trong việc lập kế hoạch mà còn đẩy nhanh quá trình ra quyết định, đảm bảo rằng quy trình phát triển của bạn vẫn linh hoạt. Với MetaGPT, bạn không chỉ tự động hóa việc tạo mã mà còn tự động hóa việc lập kế hoạch dự án thông minh, do đó mang lại lợi thế cạnh tranh trong việc phát triển ứng dụng nhanh chóng.
Kết luận: MetaGPT—Cách mạng hóa việc phát triển phần mềm
MetaGPT xác định lại bối cảnh phát triển phần mềm và AI tổng quát, mang đến sự kết hợp liền mạch giữa tự động hóa thông minh và quản lý dự án linh hoạt. Vượt xa khả năng của ChatGPT, AutoGPT và các mô hình LangChain truyền thống, nó vượt trội trong việc phân tách nhiệm vụ, tạo mã hiệu quả và lập kế hoạch dự án. Tìm hiểu thêm trên
Dưới đây là những điểm chính rút ra từ bài viết này:
- Sức mạnh của lập trình meta: Bằng cách sử dụng lập trình meta, MetaGPT cung cấp khung phần mềm linh hoạt và thích ứng. Nó vượt qua chức năng hạn hẹp của các công cụ cũ và giới thiệu một cách tiếp cận mang tính biến đổi không chỉ xử lý mã hóa mà còn cả các khía cạnh quản lý dự án và ra quyết định.
- Kiến trúc hai lớp: Với các lớp nền tảng và cộng tác, MetaGPT tạo ra một hệ sinh thái tổng hợp một cách hiệu quả, nơi các tác nhân có thể làm việc gắn kết, giống như một nhóm phần mềm được quản lý chuyên nghiệp.
- Đánh giá mã được tối ưu hóa: Ngoài việc chỉ tạo mã, MetaGPT còn cung cấp các tính năng thực thi biên dịch trước, về cơ bản là một hệ thống cảnh báo sớm các lỗi. Điều này không chỉ tiết kiệm thời gian gỡ lỗi mà còn đảm bảo chất lượng mã.
- Tác nhân nhận thức: Các tác nhân thông minh của MetaGPT, có đầy đủ các chức năng nhận thức như _observe(), _think() và _publish_message(), phát triển và thích ứng, đảm bảo giải pháp phần mềm của bạn không chỉ được mã hóa mà còn 'thông minh'.
- Cài đặt & Triển khai: Chúng tôi đã minh họa rằng MetaGPT có thể dễ dàng thiết lập, cho dù bạn thích cài đặt cục bộ thông qua npm và Python hay bộ chứa thông qua Docker.