Tại Sao Tôi Xây Dựng ai-docs: Quản Lý Sự Hỗn Loạn Ngày Càng Tăng Của Các Tập Tin Ngữ Cảnh AI
Mở Đầu
Phát triển cùng với các trợ lý trí tuệ nhân tạo đang ngày càng phổ biến, nhưng một trong những thách thức đi kèm là làm thế nào để quản lý lượng lớn các tập tin ngữ cảnh mà AI tạo ra. Các tập tin này là bộ nhớ tạm thời, hỗ trợ AI trong quá trình làm việc, nhưng lại gây ra nhiều phiền toái khi phải lưu trữ, đồng bộ và xử lý với các công cụ quản lý mã nguồn truyền thống như Git.
Bài viết này sẽ giới thiệu về ai-docs - một công cụ CLI được tạo ra để giúp lập trình viên cô lập các tập tin ngữ cảnh AI trên một nhánh Git riêng biệt, qua đó tránh xung đột và giữ cho luồng phát triển chính luôn sạch sẽ, dễ dàng hơn trong việc quản lý phiên bản. Chúng ta cũng sẽ khám phá những khó khăn khi xây dựng công cụ, cách nó hoạt động và hướng dẫn sử dụng cơ bản cho người dùng.
Vấn Đề Gặp Phải Khi Quản Lý Tập Tin Ngữ Cảnh AI
Những Thách Thức Cụ Thể
Các tập tin bộ nhớ của AI cần được sao lưu và đồng bộ hóa liên tục khi trợ lý AI tiến triển.
Tập tin này không phải là dữ liệu tĩnh, chúng khác nhau tùy theo môi trường cục bộ và thậm chí giữa các lập trình viên.
Khi thao tác với Git, việc hợp nhất (merge) thường dẫn tới nhiều xung đột phức tạp và khó giải quyết.
Trong quá trình code review, các tập tin này thường gây khó chịu và làm rối mắt người kiểm tra thay vì giúp ích.
Nếu thêm vào .gitignore để bỏ qua, lại có nguy cơ làm mất dữ liệu quan trọng vì không được sao lưu từ xa.
Lưu ý quan trọng: Tập tin ngữ cảnh AI không nên nằm trong nhánh chính của dự án để tránh ảnh hưởng tới quy trình phát triển.
Phát Hiện Đột Phá
Một ý tưởng “đột phá” nảy sinh: tại sao không tách biệt các tập tin AI ra một nhánh Git riêng, sử dụng Git worktree để gắn vào thư mục làm việc cục bộ? Cách làm này giữ được lịch sử phiên bản, đồng thời không “ô nhiễm” luồng phát triển chính.
Sau vài ngày lập trình cấp tốc, kết hợp cùng ChatGPT và Claude, ai-docs ra đời như một công cụ quản lý hữu ích.
Cách Tôi Xây Dựng ai-docs
Giai Đoạn Ý Tưởng và Thử Nghiệm
Khởi đầu là các phiên brainstorming với ChatGPT để lên kế hoạch quy trình làm việc lý tưởng. Khi gặp khó khăn, tôi chuyển sang thử nghiệm ngay với các Git worktree trong môi trường local.
Sau khi định hình được định dạng và chức năng, tôi dùng Claude Code để tạo khung CLI. Quá trình tiếp theo là kiểm thử, chỉnh sửa nhằm khắc phục những lỗi phát sinh.
Bài học rút ra: Kết hợp AI như ChatGPT và Claude là một đồng sáng tạo tuyệt vời, nhưng vẫn phải kiểm tra cẩn thận từng dòng lệnh để tránh rủi ro.
Những Thử Thách Phát Sinh
1. Sự Nguy Hiểm Của Lệnh rm -rf
Ban đầu, các phiên bản dùng nhiều lệnh rm -rf để xóa file, dẫn đến mất dữ liệu Git quan trọng khi nhầm lẫn. Sau đó, tôi đã bổ sung cờ --force mới cho phép hành động xóa an toàn và ưu tiên dùng các lệnh Git có sẵn để bảo vệ hệ thống tập tin.
2. Thiết Lập GitHub Actions
Muốn tự động phát hành qua GoReleaser và GitHub Actions, tôi gặp không ít khó khăn do các cấu hình phức tạp, tài liệu cập nhật chưa kịp thời và đề xuất chưa chính xác từ AI. Quá trình này lấy rất nhiều thời gian để hoàn thiện.
ai-docs Hoạt Động Như Thế Nào?
ai-docs là một công cụ dòng lệnh nhằm tách bạch các tập tin ngữ cảnh của AI sang nhánh Git riêng biệt.
Tính Năng Chính
Tính Năng
Mô Tả
Tạo nhánh riêng biệt
Tự động tạo nhánh
dựa trên tên người dùng hoặc hostname
Liên kết nhánh với thư mục cục bộ
Sử dụng Git worktree để gắn nhánh vào thư mục
.ai-docs/
Di chuyển tự động tập tin
Các thư mục như
memory-bank/
hay file
CLAUDE.md
được di chuyển qua nhánh riêng
Cập nhật
.gitignore
Tự động chỉnh sửa để nhánh chính không bị track các file AI
Lệnh đồng bộ
Cung cấp các lệnh
push
và
pull
giúp dễ dàng sao lưu và lấy về tập tin ngữ cảnh
Cách Sử Dụng Cơ Bản (Khuyến nghị macOS)
brew tap trknhr/homebrew-tap
brew install ai-docs
# Khởi tạo lần đầu (có thể chạy 2 lần để hoàn thiện cấu hình)
ai-docs init -v
# Đẩy tập tin AI lên nhánh remote
ai-docs push -v
# Kéo cập nhật về
ai-docs pull -v
Ngoài ra còn hỗ trợ các tùy chọn như --dry-run để thử trước khi thực hiện, và --force để ghi đè khi cần.
Việc sử dụng kiếm tra kỹ trước khi thao tác với các tập tin quan trọng giúp tránh mất mát dữ liệu và xung đột trong dự án.
Tổng Kết: Một Ngôi Nhà Gọn Gàng Cho Các Tập Tin AI
ai-docs mang lại lợi ích lớn cho những ai phát triển cùng AI:
Giữ cho nhánh làm việc chính luôn sạch sẽ, không bị ảnh hưởng bởi các tập tin AI.
Dễ dàng truy cập và quản lý tập tin ngữ cảnh thông qua thư mục .ai-docs/.
Đồng bộ dữ liệu nhanh chóng với các lệnh đơn giản push và pull.
Dù còn là một công cụ mới mẻ và có thể cần cải thiện, ai-docs đã đủ mạnh để sử dụng hàng ngày trong các dự án AI.
Nếu bạn đang xây dựng sản phẩm với AI và cần hệ thống quản lý ngữ cảnh hiệu quả, hãy thử dùng ai-docs. Mọi phản hồi vui lòng gửi về GitHub hoặc qua X (Twitter) để nhóm phát triển hoàn thiện hơn.