15 điểm bởi sharpscar 2026-03-18 | 3 bình luận | Chia sẻ qua WhatsApp

Vấn đề

Khi bắt đầu một dự án bằng vibe coding, vài giờ đầu tiên thật sự là cả một thế giới mới. Chỉ cần ném prompt vào là có mã, có cảm giác như thứ gì đó đang chạy được, và sẽ có khoảnh khắc bạn nghĩ: "Mình thực sự đang làm ra cái này sao?"

Rồi lỗi bắt đầu xuất hiện.

Bảo nó sửa thì chỗ khác lại vỡ, sau 30 phút AI quên mất những gì nó vừa nói trước đó, sau 1 tiếng thì chính mình cũng bắt đầu lẫn không biết rốt cuộc đang làm cái gì. Hôm sau mở lại thì mọi thứ như một tờ giấy trắng. Cuối cùng cứ quay vòng tại chỗ.

Nếu làm nhiều dự án cùng lúc thì còn tệ hơn. Thứ đang làm vào thứ Hai mà muốn nối tiếp vào thứ Năm thì phải thiết lập lại context từ đầu.

Nguyên nhân

Điểm nghẽn không nằm ở mã nguồn. Nó nằm ở trí nhớ.

AI quên khi phiên làm việc bị ngắt, còn mình cũng sẽ quên sau vài ngày. Nhưng vì không ai ghi lại nên dự án cứ liên tục bị khởi tạo lại.

Cách tôi đã thử

Tôi bắt đầu dùng Obsidian như một kho lưu trữ trí nhớ dài hạn cho dự án.

  • Obsidian — quản lý toàn bộ ý tưởng, thiết kế, nhật ký phiên làm việc và bản ghi lỗi bằng Markdown
  • Claude Desktop + MCP — đóng vai trò "nhạc trưởng", trực tiếp đọc ghi chú Obsidian và thảo luận về thiết kế
  • Claude Code + MCP — đóng vai trò "người thực thi", hiện thực hóa các công việc đã thiết kế xong

Vấn đề mất context của Claude Desktop được giải quyết bằng cách ghi lại bàn giao giữa các phiên trong file ngày_handoff.md. Mỗi khi mở một phiên mới, chỉ cần đọc file này là có thể khôi phục lại mạch ngữ cảnh ngay.

Cốt lõi là lặp lại chu trình "ghi chép → thiết kế → triển khai → ghi chép".

Kết quả

Trước đây tôi cứ lặp đi lặp lại cảnh bắt đầu toy project rồi 3 ngày sau lại xóa cả thư mục, nhưng sau khi đổi sang cách này, những dự án từng không thể hoàn thành bắt đầu vận hành theo chu trình hoàn thiện bản đầu → triển khai → kiểm tra → chỉnh sửa, từng cái một. Hiện tại tôi đang quản lý đồng thời hơn 10 dự án bằng Obsidian Canvas.

Gần đây Claude Code có thêm tính năng Auto Memory, nhưng đó là ghi chú do AI viết cho AI, còn cách ở trên là ghi chép do con người viết cho con người. Tôi nghĩ hai thứ này bổ trợ cho nhau.

Tổng kết

Tôi đã hệ thống lại workflow này và công khai thành một cuốn sách trên Wikidocs. Hoàn toàn miễn phí.

"Vì sao vibe coding thất bại — Cẩm nang cộng tác với AI" https://wikidocs.net/book/19307

Có từ phần mở đầu đến Ch.22 cùng phụ lục, và nếu bạn để lại phản hồi ở phần bình luận của từng trang, tôi sẽ phản ánh ngay. Những góp ý thẳng thắn cũng rất được hoan nghênh.

3 bình luận

 
runableapp 2026-03-19

Dùng Cursor nên tôi chưa gặp trường hợp đó (trường hợp nó quên) nên thỉnh thoảng đọc thấy chuyện này với Claude tôi khá ngạc nhiên. Có những lúc chất lượng thấp hoặc vì không mô tả đủ rõ nên gặp vấn đề thì có, nhưng chuyện nó quên thì chưa từng; còn các trường hợp rắc rối vì lỗi phát sinh ở chỗ khác thì hồi giai đoạn đầu của sản phẩm Cursor tôi có gặp vài lần, nhưng giờ thì không còn nữa. Có phải vì dự án của tôi chưa đủ lớn không?

Tôi làm theo cách này:

  • Tôi viết một tài liệu khoảng 10-20 dòng, nêu ý tưởng tổng quát, cách làm, và nếu có phương pháp tương tự thì ghi rõ cả điều đó.
  • Tôi bảo nó đọc tài liệu đó rồi viết chi tiết thành tài liệu về ý tưởng, kiến trúc, kiểm thử và kế hoạch. Tôi cũng bảo nếu có gì cần hỏi tôi thì cứ hỏi. (Nó khá hay hỏi tôi theo kiểu đưa các lựa chọn được đánh số để chọn.) Sau đó tôi thảo luận với nó để hoàn thiện tài liệu. Tôi cũng nói chuyện riêng với Gemini để nghiên cứu thêm, rồi cùng trao đổi về phần đó.
  • Sau đó tôi review tài liệu đã hoàn thiện, tiếp tục trao đổi và chỉnh sửa dần từng chút, rồi mới ra lệnh cho nó bắt đầu làm. Trong lúc làm, tôi yêu cầu nó đánh dấu những phần đã xong là hoàn thành và cập nhật tài liệu đó trong quá trình thực hiện. Còn với những việc đủ lớn hoặc phức tạp đến mức mất nhiều thời gian, tôi bảo nó ghi lại mỗi ngày đã làm gì vào một tài liệu khác trong cursor rule.

Vì tài liệu nằm ngay trong dự án nên không cần quản lý gì đặc biệt riêng. Và Cursor cũng không làm việc liên tục mãi. Dù có bảo nó làm đến cùng thì nó vẫn cứ dừng giữa chừng (nghe nói đây là cơ chế an toàn để tránh rơi vào vòng lặp kỳ quặc, nhưng tôi không hài lòng vì mình không có quyền lựa chọn), khiến tôi buộc phải tiếp tục hội thoại. Nhưng điều đó cũng có ích. Nó cũng giúp tránh khả năng vài tiếng sau quay lại thì mọi thứ đã bị làm lệch hẳn sang hướng vô lý.

Vì mọi thứ đều được xử lý trong một IDE nên không cần gắn thêm dịch vụ khác. Với Claude thì tôi chỉ dùng API để tận dụng chức năng LLM nên không rõ khả năng code ra sao, dù nhiều người nói là rất tốt -- chỉ là mỗi khi thỉnh thoảng thấy các bài viết nói nó quên hoặc bị lỗi, tôi lại nghĩ có khi là vì quy mô dự án của mình còn nhỏ chăng...

Kết lại thì tôi làm theo cách giống như khi quản lý dự án và team ở công ty - tức là quy trình cũng giống khi làm việc với con người: tài liệu hóa và ghi chép, trao đổi, ra quyết định... Không phải workflow mới mẻ gì cả. Vì vậy tôi rất tò mò về những cách làm với Claude theo kiểu workflow nào đó để đạt được "tự động hoàn toàn", và kể cả nếu không hoàn toàn tự động thì tôi cũng đang nghĩ xem làm sao để giảm bớt những lần "họp" quá thường xuyên (ngay cả với team toàn con người, ai cũng cố giảm các cuộc họp quá dày mà).

 
pari0130 2026-03-19

Nếu dùng qmd thì nó sẽ quản lý cục bộ một cơ sở dữ liệu để quản lý các phiên trước đó!

 
sharpscar 2026-03-19

Cảm ơn vì thông tin hữu ích.