Logo của Obsidian.

Obsidian, ứng dụng ghi chú lưu trữ cục bộ, đang ngày càng được giới lập trình sử dụng như một kho tri thức cho AI viết code. Cách làm phổ biến là hệ thống hóa yêu cầu, ý đồ thiết kế và tài liệu kỹ thuật trong Obsidian, rồi để AI tự truy xuất các ghi chú liên quan khi cần sinh mã.

Khi kết nối Obsidian với Model Context Protocol (MCP), AI có thể tự mở tài liệu, lần theo các liên kết giữa những ghi chú và sử dụng đúng ngữ cảnh để tạo mã. Phóng viên đã trực tiếp thử nghiệm cách làm này với Obsidian.

Obsidian là ứng dụng ghi chú sử dụng file Markdown và lưu dữ liệu trên máy người dùng. Điểm khác biệt của công cụ này so với các ứng dụng ghi chú thông thường nằm ở khả năng liên kết giữa các note.

Khi đặt một từ khóa hoặc tiêu đề tài liệu trong cặp ngoặc vuông kép, Obsidian sẽ tạo liên kết tới note tương ứng. Các mối liên hệ này cũng có thể được hiển thị dưới dạng đồ thị.

Chẳng hạn, nếu từ note “InterviewA” liên kết sang “SourceB”, người dùng có thể nhanh chóng biết “SourceB” còn liên quan tới những bài viết hay ghi chú nào khác. Thay vì chỉ sắp xếp file theo thư mục như các ứng dụng truyền thống, Obsidian xây dựng mạng lưới liên kết giữa các ghi chú.

Đây cũng là lý do Obsidian được chú ý trong lĩnh vực AI hỗ trợ lập trình. Để AI cho ra kết quả tốt, việc chọn lọc ngữ cảnh đầu vào là rất quan trọng. Cửa sổ ngữ cảnh luôn có giới hạn, trong khi đưa quá nhiều dữ liệu cùng lúc có thể làm giảm chất lượng đầu ra.

Khi yêu cầu, ý đồ thiết kế và luồng dữ liệu được tách thành từng note riêng, AI có thể chọn đúng tài liệu cần đọc để viết code chính xác hơn. Nếu bổ sung thêm MCP, quá trình này có thể được tự động hóa.

Khi máy chủ Obsidian MCP được kết nối với Claude Code, AI có thể mở trực tiếp tài liệu trong vault, lần theo backlink tới các note liên quan để nắm ngữ cảnh và sinh mã. Nhờ đó, người dùng gần như không còn phải sao chép tài liệu và ghép prompt thủ công.

Trong thử nghiệm, phóng viên xây dựng một kịch bản phát triển ứng dụng AI companion và thiết kế một test harness để kiểm tra mô-đun tạo phản hồi hội thoại có hoạt động đúng như dự kiến hay không.

Test harness là một khung kiểm thử tự động, dùng để xác minh một chức năng có vận hành đúng ý đồ thiết kế mà không cần can thiệp vào mã của dịch vụ thực tế. Obsidian được dùng để tổ chức toàn bộ phần tài liệu cho bước này.

Khó khăn đầu tiên nằm ở việc thiết kế cấu trúc thư mục. Người dùng phải xác định trước sẽ xây dựng gì, sắp xếp theo cấu trúc nào và luồng công việc ra sao, nhưng đây không phải việc dễ hình dung ngay từ đầu.

Với gợi ý từ Claude, phóng viên chia vault thành 4 thư mục và 13 note. Trong đó, thư mục Requirements (01_requirements) dùng để ghi yêu cầu chức năng và các ràng buộc; Architecture (02_architecture) lưu cấu trúc thành phần, luồng dữ liệu và bố cục file; Prompts (03_prompts) chứa bản nháp chỉ thị gửi cho AI; còn Results (04_results) dùng để lưu kết quả thử nghiệm.

Mỗi note mô tả vai trò của từng thành phần, như chạy test, nạp dữ liệu hay thay thế API bên ngoài, và được liên kết với nhau bằng backlink. Hệ thống tham chiếu được thiết kế sẵn để AI có thể đọc một note rồi tự nhiên chuyển sang những note liên quan.

Khi bộ tài liệu thiết kế hoàn chỉnh, phóng viên mở Claude Code, cài gói máy chủ Obsidian MCP và khai báo đường dẫn vault. Từ đó, chỉ cần yêu cầu AI viết mã cho harness dựa trên tên file Markdown.

AI sẽ mở note tương ứng, lần theo backlink tới các tài liệu liên quan và tạo code mà không cần thao tác sao chép, dán hay lắp ghép prompt. Khi chạy đoạn mã được tạo bằng pytest, cả 6 test case đều vượt qua.

Nếu phải tự viết từ đầu một môi trường kiểm thử ở mức này, thời gian thực hiện có thể mất tới nửa ngày.

Tuy vậy, cách làm này vẫn có những hạn chế rõ rệt. Với người không phải lập trình viên, Obsidian tương đối khó tiếp cận ở giai đoạn đầu. Để quyết định nên chia thư mục ra sao và đưa thông tin gì vào từng note, người dùng cần hiểu cấu trúc code.

Ngay cả khi đã có sẵn nhiều ghi chú, việc đổi tên thư mục hoặc phân loại lại note vẫn phải thực hiện riêng.

Quá trình kết nối MCP cũng chưa thực sự trơn tru. Trong quá trình thử nghiệm, có lúc máy chủ Obsidian MCP phản hồi chậm trong nhiều giờ khi lặp lại thao tác duyệt vault.

Trên GitHub, cộng đồng lập trình cũng ghi nhận nhiều lỗi tương tự. Hệ sinh thái MCP vẫn đang ở giai đoạn đầu, nên bài toán cải thiện độ ổn định vẫn chưa được giải quyết triệt để.

Với các tác vụ đơn lẻ hoặc đơn giản, cách làm này thậm chí có thể kém hiệu quả hơn. Xét về tốc độ, xử lý trực tiếp trên Claude Code hoặc đưa ngữ cảnh vào Claude Projects để tạo artifact sẽ nhanh hơn đáng kể.

Vì vậy, Obsidian được đánh giá phát huy rõ nhất trong các dự án dài hạn, phức tạp, có nhiều mô-đun liên quan và yêu cầu thay đổi thường xuyên. Hệ thống tài liệu thiết kế càng đầy đủ, lượng ngữ cảnh để AI tham chiếu càng phong phú.

Khi bổ sung tính năng mới, thay vì phải giải thích lại từ đầu, người dùng chỉ cần thêm note mới vào vault.

Từ khóa

#Obsidian #trí tuệ nhân tạo #AI coding #MCP #Claude Code #kho tri thức #Markdown
Copyright © DigitalToday. All rights reserved. Unauthorized reproduction and redistribution are prohibited.