37 điểm bởi GN⁺ 2025-08-25 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Khi mới dùng Claude Code, tác giả ban đầu tiếp cận theo cách chỉ ra lệnh bằng prompt và lặp lại việc chỉnh sửa, nhưng với các tác vụ phức tạp thì gặp vấn đề về sự phụ thuộc vào lịch sử hội thoại và giới hạn ngữ cảnh
  • Để giải quyết, trước khi triển khai tính năng, tác giả yêu cầu viết tài liệu kế hoạch (plan document) và dùng nó làm nguồn chân lý duy nhất (SSOT) cho một phiên mới
  • Tài liệu kế hoạch bao gồm việc diễn giải lại yêu cầu, mô tả chi tiết triển khai, các lệnh kiểm tra chất lượng mã và tiếp tục được cập nhật trong suốt quá trình triển khai như một tài liệu sống (living document)
  • Cách này giúp giải quyết vấn đề mất ngữ cảnh, và ngay cả trong phiên mới cũng có thể tiếp tục dự án chỉ với một tài liệu duy nhất
  • Kết quả là AI không còn chỉ là công cụ thực thi đơn thuần mà đóng vai trò đối tác thiết kế cộng tác, thúc đẩy lập trình viên suy nghĩ và ghi chép sâu hơn về thiết kế

Nhận diện vấn đề: giới hạn của cách làm việc chỉ bằng hội thoại

  • Khi làm việc tương tác với Claude Code, cách này phù hợp với tác vụ đơn giản, nhưng khi công việc phức tạp tăng lên thì phát sinh nhiều giới hạn nghiêm trọng
    • Hội thoại trở thành nguồn chân lý duy nhất, nên tin nhắn mới có thể dễ dàng ghi đè chỉ dẫn trước đó, và rất khó nhận ra chính xác thời điểm điều này xảy ra
    • Do giới hạn kích thước ngữ cảnh của AI, khi hội thoại kéo dài thì thông tin trước đó có thể bị rơi mất
    • Dù Claude Code có tính năng nén hội thoại, điều này cũng không thể giải quyết hoàn toàn giới hạn trên

Thử nghiệm cách tiếp cận lấy tài liệu kế hoạch làm trung tâm

  • Để giải quyết vấn đề này, tác giả thử cách tiếp cận dựa trên tài liệu kế hoạch
    • Khi bắt đầu, tác giả mô tả với Claude Code càng chi tiết càng tốt về tính năng cần triển khai hoặc lỗi cần sửa
    • Đồng thời cũng nhắc đến các tệp mã nguồn hiện có hoặc các tài liệu kế hoạch đã viết trước đó để tham chiếu
    • Tác giả tránh đưa ra chỉ dẫn triển khai quá cụ thể, nhằm khuyến khích AI đóng vai trò đề xuất thiết kế
  • Khi tài liệu kế hoạch đã đủ thỏa đáng, tác giả xóa lịch sử hội thoại và bắt đầu lại chỉ với chính kế hoạch đó làm ngữ cảnh
    • Kế hoạch bao gồm tóm tắt tính năng, kế hoạch triển khai, mã và mã giả, các lệnh type/lint/test, v.v.

Quy trình thiết kế cộng tác

  • Khi không hài lòng với thiết kế do AI đề xuất, tác giả cung cấp phản hồi cụ thể để dẫn tới cách tiếp cận đã được điều chỉnh
  • Trong quá trình thảo luận, đôi khi tác giả nhận ra đề xuất ban đầu của AI lại phù hợp hơn, và cách này hiệu quả hơn so với việc chỉ lập thiết kế rồi tự mình viết mã
  • Các cuộc trao đổi có hệ thống mang lại trải nghiệm tương tự như thảo luận kế hoạch với một đồng nghiệp lập trình viên
  • AI không tự mình đưa ra một hướng tiếp cận hoàn toàn khác, nhưng nếu được hỏi thì vẫn có thể đề xuất các phương án thay thế khác

Phương thức Tài liệu sống (Living Document)

  • Tài liệu kế hoạch không được viết một lần rồi thôi, mà tiếp tục được cập nhật ngay trong quá trình triển khai tính năng
    • Những thay đổi bộc lộ trong quá trình triển khai, kiểm tra kiểu, lint và test sẽ được phản ánh theo thời gian thực
  • Tác giả hình thành thói quen yêu cầu kiểm tra trạng thái mới nhất của kế hoạch mỗi khi commit mã
  • Nhờ luôn duy trì kế hoạch ở trạng thái mới nhất, ngay cả trong một phiên hội thoại mới cũng chỉ cần đính kèm kế hoạch là có thể tiếp tục mà không mất ngữ cảnh

Đánh giá mã và thay đổi trong thói quen phát triển

  • Sau khi bắt đầu triển khai, tác giả định kỳ kiểm tra các thay đổi và, nếu thấy hài lòng, cũng tin tưởng hơn vào công việc của AI
  • Khi rà soát mã cuối cùng, tài liệu kế hoạch đã được cập nhật giúp nắm bắt cơ sở cho các quyết định kỹ thuật
  • Việc lập kế hoạch kỹ lưỡng và tài liệu hóa từ trước mang lại trải nghiệm giúp tác giả trở thành một lập trình viên tốt hơn
    • Vì phải giải thích cho AI, tác giả buộc phải sắp xếp rõ ràng hơn chính quá trình ra quyết định của mình

Từ hỗn độn đến có hệ thống

  • Cách làm này biến tài liệu kế hoạch thành nguồn chân lý duy nhất, giải quyết vấn đề mất ngữ cảnh và thúc đẩy tư duy kiến trúc
  • Tài liệu kế hoạch bao gồm cả đặc tả lẫn nhật ký triển khai, ghi lại không chỉ “cái gì” mà cả “vì sao” và “như thế nào”
  • Kết quả cuối cùng là một quy trình phát triển có kế hoạch, được tài liệu hóa tốt và đáng tin cậy
  • AI không còn là người triển khai đơn thuần mà trở thành đối tác thiết kế cộng tác

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

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