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ó:
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:
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:
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:
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:
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:
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ư:
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:
bmad-fed sync-db --all
Hoặc cho một nguồn cụ thể:
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
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ư:
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:
bmad-fed build-context
Lệnh này sẽ tự động:
- Đồ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.
- Đồ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.
- Đồ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.
- 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.
- 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:
$ 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:
# 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]và./.bmad-fks-cache/[repo-name].xml - Nguồn cơ sở dữ liệu:
./bmad-cache/db-knowledge/[source-name].pdfhoặ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:
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:
- 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ụ.
- 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 đủ.
- Nhận thức phụ thuộc: Hiểu cách các dịch vụ ảnh hưởng lẫn nhau.
- Đơ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
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ể
bmad-fed sync-source [source-name]
Quản Lý Kết Nối
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:
-
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ả.
-
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.
-
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:
- Cài đặt Hệ thống Kiến thức Liên kết BMAD:
npm install -g bmad-federated-knowledge - Khởi tạo hệ thống:
bmad-fed init - Thêm nguồn kiến thức:
bmad-fed add-knowledge - Xây dựng bối cảnh:
bmad-fed build-context - 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.