Skip to content

kaffeebitte/mas_documentation_ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MAS Documentation AI

1. Hướng dẫn chạy chương trình MAS

Yêu cầu hệ thống

  • Python 3.8 hoặc cao hơn
  • pip (Trình quản lý gói Python)

Các bước cài đặt

  1. Tạo môi trường ảo (khuyến nghị)

    python -m venv venv
  2. Kích hoạt môi trường ảo

    • Windows:
      venv\Scripts\activate
    • macOS/Linux:
      source venv/bin/activate
  3. Cài đặt các thư viện cần thiết từ file requirements.txt:

    pip install -r requirements.txt

    Lưu ý: Đảm bảo rằng file requirements.txt nằm trong thư mục gốc của dự án.

  4. Cấu hình hệ thống:

    • Tạo file .env trong thư mục gốc của dự án.
    • Thêm khóa API Gemini vào file .env:
      GEMINI_API_KEY=your_gemini_api_key_here
      

    Lưu ý: Thay your_gemini_api_key_here bằng khóa API thực tế của bạn.

  5. Khởi động ứng dụng

    python main.py

    Lưu ý: Đảm bảo rằng bạn đang ở thư mục gốc của dự án khi chạy lệnh này.

2. Mô tả hệ thống MAS Documentation AI

Tổng quan

MAS Documentation AI là một hệ thống đa tác tử (Multi-Agent System) sử dụng CrewAI framework để tự động hóa quy trình tạo tài liệu trong chu trình phát triển phần mềm. Hệ thống này giúp các nhóm phát triển phần mềm tiết kiệm thời gian, giảm thiểu lỗi và đảm bảo tính nhất quán giữa các giai đoạn phát triển.

Kiến trúc hệ thống

Các thành phần chính

  1. Tác tử (Agents): Các chuyên gia ảo chuyên môn hóa cho từng vai trò trong quy trình phát triển. Mỗi tác tử được thiết kế để thực hiện một nhiệm vụ cụ thể.

  2. Tasks: Các nhiệm vụ cụ thể được giao cho các tác tử, ví dụ: phân tích yêu cầu, thiết kế kiến trúc, hoặc lập kế hoạch kiểm thử.

  3. Crews: Nhóm các tác tử làm việc cùng nhau để hoàn thành một giai đoạn của quy trình phát triển phần mềm.

  4. Shared Memory: Cơ chế lưu trữ và chia sẻ thông tin giữa các tác tử và các giai đoạn, đảm bảo tính liên tục và kế thừa dữ liệu.

Các nhóm tác tử (Crews)

  1. Input Crew: Thu thập và chuẩn bị dữ liệu đầu vào.

    • Input Agent: Tương tác với người dùng để thu thập yêu cầu hệ thống một cách đầy đủ và rõ ràng.
  2. Initiation Crew: Tạo tầm nhìn, ConOps và điều lệ dự án

    • Vision Agent: Xác định tầm nhìn dự án
    • ConOps Agent: Xây dựng khái niệm vận hành
    • Charter Agent: Tạo điều lệ dự án
  3. Planning Crew: Lập kế hoạch và quản lý rủi ro

    • Planner Agent: Lập kế hoạch dự án chi tiết
    • Estimator Agent: Ước tính thời gian và nguồn lực
    • Risk Manager Agent: Xác định và phân tích rủi ro
  4. Requirement Crew: Phân tích và tài liệu hóa yêu cầu

    • Clarification Agent: Làm rõ yêu cầu hệ thống
    • SRS Agent: Tạo tài liệu đặc tả yêu cầu phần mềm
    • RTM Agent: Xây dựng ma trận truy vết yêu cầu
    • Functional Analyst Agent: Phân tích yêu cầu chức năng
    • Non-Functional Analyst Agent: Phân tích yêu cầu phi chức năng
  5. Design Crew: Thiết kế kiến trúc và giao diện

    • SAD Agent: Tạo tài liệu thiết kế kiến trúc phần mềm
    • API Agent: Thiết kế các API của hệ thống
    • DB Agent: Thiết kế cơ sở dữ liệu
    • UI/UX Agent: Thiết kế giao diện người dùng
  6. Development Crew: Phát triển và quản lý mã nguồn

    • Coding Agent: Cung cấp hướng dẫn và mẫu code
    • Repo Agent: Quản lý cấu trúc kho mã nguồn
  7. Testing Crew: Lập kế hoạch và xây dựng kiểm thử

    • Test Plan Agent: Lập kế hoạch kiểm thử
    • Test Case Agent: Xây dựng các ca kiểm thử
  8. Deployment Crew: Chuẩn bị triển khai hệ thống

    • Deployment Agent: Xây dựng quy trình triển khai
    • Release Notes Agent: Tạo ghi chú phát hành
  9. Maintenance Crew: Lập kế hoạch bảo trì hệ thống

    • Maintenance Agent: Xây dựng quy trình bảo trì
    • Incident Response Agent: Xây dựng quy trình phản ứng sự cố
  10. Quality Crew: Đảm bảo chất lượng tổng thể

    • SQA Plan Agent: Lập kế hoạch đảm bảo chất lượng phần mềm

Quy trình làm việc

  1. Khởi tạo: Hệ thống sử dụng Input Agent để tương tác với người dùng, thu thập yêu cầu hệ thống thông qua các câu hỏi chi tiết. Sau đó, thông tin được xử lý và lưu vào file input/system_request.txt.

  2. Xử lý theo giai đoạn: Các nhóm tác tử lần lượt được kích hoạt theo thứ tự phát triển phần mềm chuẩn:

    • Khởi tạo → Lập kế hoạch → Yêu cầu → Thiết kế → Phát triển → Kiểm thử → Triển khai → Bảo trì → Chất lượng
    • Mỗi giai đoạn tạo ra các tài liệu hoặc kết quả đầu ra cụ thể, ví dụ:
      • Giai đoạn Yêu cầu: Tạo tài liệu SRS (Software Requirements Specification).
      • Giai đoạn Thiết kế: Tạo tài liệu SAD (Software Architecture Design).
  3. Chia sẻ thông tin: Mỗi giai đoạn kế thừa và xây dựng dựa trên kết quả của giai đoạn trước thông qua shared memory. Điều này đảm bảo tính nhất quán và tránh mất dữ liệu.

  4. Tạo đầu ra: Các tài liệu và sơ đồ được lưu trong thư mục output/.

Lợi ích

  • Tự động hóa: Giảm thiểu công việc thủ công trong việc tạo tài liệu.
  • Tính nhất quán: Đảm bảo rằng các tài liệu ở các giai đoạn khác nhau không mâu thuẫn.
  • Tiết kiệm thời gian: Rút ngắn thời gian tạo tài liệu, giúp nhóm phát triển tập trung vào các nhiệm vụ quan trọng hơn.
  • Chất lượng cao: Sử dụng AI tiên tiến để tạo nội dung chuyên nghiệp, phù hợp với tiêu chuẩn ngành.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages