0
0
Lập trình
Admin Team
Admin Teamtechmely

Xây dựng Bối Cảnh Cho AI Với Hệ Thống Kiến Thức BMAD

Đăng vào 6 tháng trước

• 7 phút đọc

Xây Dựng Bối Cảnh Với Hệ Thống Kiến Thức BMAD

Giới Thiệu Về BMAD

BMAD (Breakthrough Method for Agile AI-Driven Development) là một khuôn khổ mạnh mẽ cho phép phát triển sản phẩm thông minh bằng cách sử dụng kiến thức AI chuyên biệt. BMAD mang đến một cách tiếp cận bốn giai đoạn để xây dựng bối cảnh trong phát triển sản phẩm, giúp làm rõ tất cả các lớp liên kết trong quy trình phát triển.

Thách Thức Về Bối Cảnh Trong Kiến Trúc Microservices

Các hệ thống phần mềm hiện đại thường sử dụng kiến trúc microservices phân tán, tạo ra nhiều thách thức cho các nhà phát triển, nhà điều hành và trợ lý AI trong việc hiểu toàn bộ hệ thống. Chẳng hạn, một ứng dụng chăm sóc sức khỏe có thể bao gồm các dịch vụ riêng biệt như:

  • Dịch vụ quản lý hồ sơ bệnh nhân
  • Dịch vụ cung cấp thuốc
  • Dịch vụ thanh toán
  • Dịch vụ đặt lịch hẹn

Mỗi dịch vụ có kho dữ liệu, nguồn dữ liệu, API và phụ thuộc riêng, khiến việc duy trì hiểu biết thống nhất về hệ thống trở nên khó khăn, đặc biệt là đối với một trợ lý phát triển AI khi làm việc dựa trên một kho duy nhất và bối cảnh hạn chế.

BMAD Federated Knowledge: Giải Pháp

Hệ thống kiến thức liên kết BMAD (BMAD FKS) giải quyết thách thức này bằng cách tạo ra một lớp bối cảnh thống nhất, tổng hợp kiến thức từ nhiều nguồn khác nhau. Hệ thống này cho phép:

  • Hiểu biết liên dịch vụ: Nhận thông tin sâu sắc từ tất cả microservices của bạn.
  • Bối cảnh toàn diện: Kết hợp mã nguồn, tài liệu, cơ sở dữ liệu và các nguồn bên ngoài.
  • Thông tin sẵn sàng cho AI: Định dạng kiến thức theo cách mà các LLM có thể tiêu thụ hiệu quả.

Thiết Lập Cấu Hình

Để sử dụng Hệ thống Kiến thức Liên kết BMAD, trước tiên bạn cần khởi tạo nó:

Copy
bmad-fed init

Lệnh này sẽ tạo ra một tệp cấu hình (mặc định tại ./.bmad-fks-core/fks-core-config.yaml) với cấu trúc như sau:

Copy
bmad_config:
  federated_settings:
    cache_root: ./.bmad-fks-cache
    max_cache_size: 1GB
    max_file_size: 10MB
    exclude_patterns:
      - node_modules/**
      - .git/**
    token_safety_margin: 10000

  knowledge_sources:
    # Các nguồn kiến thức của bạn sẽ được cấu hình ở đây

  connections:
    # Kết nối cơ sở dữ liệu sẽ được định nghĩa ở đây

Thêm Nguồn Kiến Thức

Hệ thống Kiến thức Liên kết BMAD hỗ trợ ba loại nguồn kiến thức: kho dữ liệu, cơ sở dữ liệu và nguồn web. Dưới đây là cách thêm từng loại:

1. Thêm Nguồn Kho Dữ Liệu

Sử dụng lệnh tương tác:

Copy
bmad-fed add-knowledge

Khi được nhắc, chọn "Repository" là loại kiến thức và cung cấp:

  • Tên cho kho dữ liệu
  • URL Git
  • Nhánh (mặc định là main)
  • Đường dẫn cache cục bộ (tùy chọn)
  • Mô tả

Hoặc bạn có thể sửa đổi tệp cấu hình trực tiếp:

Copy
bmad_config:
  knowledge_sources:
    patient-service:
      type: repository
      repo: https://github.com/healthcare-org/patient-service.git
      branch: main
      local_cache: ./.bmad-fks-cache/patient-service
      metadata:
        description: "Microservice quản lý hồ sơ bệnh nhân"

2. Thêm Nguồn Cơ Sở Dữ Liệu

Đầu tiên, thêm một kết nối cơ sở dữ liệu:

Copy
bmad-fed add-connection

Chọn loại cơ sở dữ liệu (MongoDB, MySQL, PostgreSQL) và cung cấp thông tin kết nối.

Sau đó, thêm một nguồn kiến thức cơ sở dữ liệu:

Copy
bmad-fed add-knowledge

Khi được nhắc, chọn "Database" là loại kiến thức và cung cấp:

  • Tên cho nguồn cơ sở dữ liệu
  • Chọn kết nối đã thêm trước đó
  • Câu truy vấn SQL hoặc câu truy vấn MongoDB
  • Mô tả

Điều này sẽ tạo ra một cấu hình như:

Copy
bmad_config:
  connections:
    mongo-patient-db:
      type: mongodb
      connection_string: mongodb://username:password@hostname:27017/patients

  knowledge_sources:
    patient-demographics:
      type: database
      connection_ref: mongo-patient-db
      query: '{"collection": "patients", "filter": {"active": true}}'
      metadata:
        description: "Thông tin nhân khẩu học bệnh nhân đang hoạt động"

Để đồng bộ hóa nguồn kiến thức cơ sở dữ liệu và tạo tệp PDF/JSON:

Copy
bmad-fed sync-db --all

Hoặc cho một nguồn cụ thể:

Copy
bmad-fed sync-db patient-demographics

Các tùy chọn:

  • --json: Lưu dưới dạng JSON thay vì PDF
  • --force: Buộc đồng bộ ngay cả khi đã đồng bộ gần đây
  • --mock: Sử dụng dữ liệu giả để kiểm tra (không cần kết nối DB thực)

3. Thêm Nguồn Web

Copy
bmad-fed add-knowledge

Khi được nhắc, chọn "Web" là loại kiến thức và cung cấp:

  • Tên cho nguồn web
  • URL đến tài nguyên web
  • Mô tả

Điều này sẽ tạo ra một cấu hình như:

Copy
bmad_config:
  knowledge_sources:
    api-documentation:
      type: web
      url: https://healthcare-org.github.io/api-docs/
      metadata:
        description: "Tài liệu API cho tất cả microservices"

Xây Dựng Bối Cảnh Với Nhiều Nguồn Kiến Thức

Lệnh build-context là trung tâm của Hệ thống Kiến thức Liên kết BMAD. Nó tổng hợp thông tin từ tất cả các nguồn kiến thức đã cấu hình:

Copy
bmad-fed build-context

Lệnh này sẽ tự động:

  1. Đồng bộ hóa kho dữ liệu: Nhân bản hoặc cập nhật tất cả các kho git đã cấu hình.
  2. Đồng bộ hóa nguồn cơ sở dữ liệu: Kết nối đến cơ sở dữ liệu, thực hiện các truy vấn và lưu kết quả dưới dạng PDF hoặc JSON.
  3. Đồng bộ hóa nguồn web: Tải về và xử lý nội dung từ các URL web đã cấu hình.
  4. Chuyển đổi kho dữ liệu: Chuyển đổi mã nguồn kho thành định dạng XML tối ưu cho AI.
  5. Tạo file context.md: Tạo một bản đồ toàn diện của tất cả các nguồn kiến thức.

Quá trình này sẽ trông như sau:

Copy
$ bmad-fed build-context
✓ Repos synced: 4 successful, 0 failed
✓ Database sources sync completed.
✓ Web sources sync completed.

🔄 Flattening repo "patient-service" → ./.bmad-fks-cache/patient-service.xml
... flattening logs ...
✓ Flattened patient-service → ./.bmad-fks-cache/patient-service.xml

... more flattening logs for other repos ...

✓ Context built successfully for all repos!

📄 Context definition written to context.md

Đầu Ra: Tệp Định Nghĩa Bối Cảnh

Tệp context.md được tạo ra sẽ ánh xạ tất cả các nguồn kiến thức:

Copy
# Tệp Định Nghĩa Bối Cảnh

Tệp này ánh xạ mỗi nguồn kiến thức đến tệp của nó, cùng với các mô tả.

## Nguồn Kho Dữ Liệu

### patient-service
- **Tệp**: ./.bmad-fks-cache/patient-service.xml
- **Kho**: https://github.com/healthcare-org/patient-service.git
- **Mô tả**: Microservice quản lý hồ sơ bệnh nhân

... nhiều nguồn kho khác ...

## Nguồn Cơ Sở Dữ Liệu

### patient-demographics
- **Tệp**: ./bmad-cache/db-knowledge/patient-demographics.pdf
- **Kết Nối**: mongo-patient-db
- **Truy Vấn**: {"collection": "patients", "filter": {"active": true}}
- **Mô tả**: Thông tin nhân khẩu học bệnh nhân đang hoạt động

... nhiều nguồn cơ sở dữ liệu khác ...

## Nguồn Web

### api-documentation
- **Tệp**: ./.bmad-fks-cache/api-documentation.pdf
- **URL**: https://healthcare-org.github.io/api-docs/
- **Mô tả**: Tài liệu API cho tất cả microservices

... nhiều nguồn web khác ...

Cấu Trúc Cache

Mặc định, hệ thống sử dụng các thư mục cache như sau:

  • Nguồn kho dữ liệu: ./.bmad-fks-cache/[repo-name]./.bmad-fks-cache/[repo-name].xml
  • Nguồn cơ sở dữ liệu: ./bmad-cache/db-knowledge/[source-name].pdf hoặc ./bmad-cache/db-knowledge/[source-name].json
  • Nguồn web: ./.bmad-fks-cache/[source-name].pdf

Bạn có thể cấu hình thư mục cache gốc trong cài đặt:

Copy
bmad_config:
  federated_settings:
    cache_root: ./your-custom-cache-directory

Sử Dụng Bối Cảnh Đã Xây Dựng Trong Phát Triển Microservices

Sau khi chạy build-context, bối cảnh thống nhất cho phép:

  1. Hỗ trợ AI cải thiện: Trợ lý AI trong IDE của bạn có được sự hiểu biết liên dịch vụ.
  2. Quyết định thiết kế tốt hơn: Đưa ra quyết định kiến trúc thông minh với bối cảnh đầy đủ.
  3. Nhận thức phụ thuộc: Hiểu cách các dịch vụ ảnh hưởng lẫn nhau.
  4. Đơn giản hóa việc onboarding: Giúp các thành viên mới hiểu toàn bộ hệ thống.

Lệnh Nâng Cao

Kiểm Tra Tình Trạng Hệ Thống

Copy
bmad-fed status

Điều này sẽ hiển thị tình trạng của tất cả các nguồn kiến thức đã cấu hình, việc sử dụng cache, và nhiều hơn nữa.

Xây Dựng Lại Nguồn Kiến Thức Cụ Thể

Copy
bmad-fed sync-source [source-name]

Quản Lý Kết Nối

Copy
bmad-fed list-connections     # Liệt kê tất cả kết nối
bmad-fed test-connection [name]  # Kiểm tra một kết nối cụ thể
bmad-fed remove-connection [name]  # Xóa một kết nối

Khắc Phục Sự Cố

Các vấn đề và giải pháp thường gặp:

  1. Lỗi kết nối cơ sở dữ liệu:

    • Kiểm tra chuỗi kết nối trong cấu hình.
    • Đảm bảo rằng driver cơ sở dữ liệu đã được cài đặt (npm install mongodb mysql2 pg).
    • Sử dụng cờ --mock để kiểm tra với dữ liệu giả.
  2. Lỗi đồng bộ hóa kho dữ liệu:

    • Xác minh thông tin xác thực git.
    • Kiểm tra kết nối mạng.
    • Đảm bảo URL kho dữ liệu là chính xác.
  3. Vấn đề thư mục cache:

    • Đảm bảo có quyền ghi cho các thư mục cache.
    • Kiểm tra xem các đường dẫn trong cấu hình có nhất quán không.

Bắt Đầu

Để xây dựng bối cảnh liên kết đầu tiên của bạn:

  1. Cài đặt Hệ thống Kiến thức Liên kết BMAD: npm install -g bmad-federated-knowledge
  2. Khởi tạo hệ thống: bmad-fed init
  3. Thêm nguồn kiến thức: bmad-fed add-knowledge
  4. Xây dựng bối cảnh: bmad-fed build-context
  5. Sử dụng bối cảnh được tạo ra với trợ lý lập trình AI ưa thích của bạn.

Bằng cách tận dụng Hệ thống Kiến thức Liên kết BMAD, phát triển microservices của bạn có thể đạt được một mức độ kết nối và hiểu biết mới, ngay cả khi hệ thống của bạn ngày càng phức tạp.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào