Nhật ký quyết định: khi builder một mình ngừng tranh luận với chính mình
Builder solo thường mất hàng giờ để đưa ra lại những quyết định đã xong. Một nhật ký quyết định giữ nguyên lý luận của bạn để AI session chạy nhanh hơn và sự hoài nghi chấm dứt.
Có một loại hao tổn mà hầu như ai build một mình cũng phải trả - không phải thời gian code, không phải debug, mà là cái khoảnh khắc ngồi nhìn màn hình và tự hỏi: "Hồi trước mình đã quyết định cái này vì lý do gì nhỉ?" Framework nào mình chọn và tại sao. Cái tính năng đó bị cắt vì lý do gì. Cái data model kia bắt đầu từ đâu. Không nhớ thì lại phải ngồi nghĩ lại - và cái vòng lặp đó tốn nhiều hơn nhiều so với những gì nó trông có vẻ.
Nhật ký quyết định (decision log) là giải pháp đơn giản nhất mà lại ít được nhắc đến nhất: một file ghi lại từng quyết định quan trọng bạn đưa ra trong quá trình build - vấn đề, các lựa chọn đã cân nhắc, quyết định cuối cùng, và quan trọng hơn hết, lý do tại sao. Mỗi mục tốn ba phút. Lợi ích kéo dài hàng tháng.
Ghi gì vào nhật ký?
Không phải mọi thứ. Một nhật ký ghi cả font chữ bạn dùng là nhiễu. Cái đáng ghi là những quyết định mang tính kiến trúc, chiến lược, hoặc khó quay đầu:
- Lựa chọn công nghệ ("Mình dùng Supabase thay vì PlanetScale vì X")
- Quyết định về scope ("Y không có trong v1 vì Z")
- Hướng UX ("Bỏ qua bước tạo tài khoản ở lần đầu dùng vì research cho thấy W")
- Thiết kế data model ("Mỗi user chỉ có đúng một project đang active vì V")
Mỗi mục theo cấu trúc bốn trường. Đừng cố thêm vào nhiều hơn:
## [Ngày] — [Tiêu đề ngắn của quyết định]
**Vấn đề:** Câu hỏi cần trả lời là gì?
**Các lựa chọn đã xem xét:** Bạn đã nhìn qua những gì?
**Quyết định:** Bạn chọn cái gì?
**Lý do:** Một câu. Bao gồm cả đánh đổi bạn chấp nhận.
Giữ ngắn gọn. Nhật ký viết trong ba phút thì mới được duy trì; nhật ký đòi hỏi viết cả bài essay thì chỉ có bỏ.
Khi AI biến nhật ký thành công cụ thật sự
Một nhật ký trong file Markdown tĩnh đã có ích. Nhưng một nhật ký bạn có thể query cùng AI lại là một công cụ hoàn toàn khác.
Cách đơn giản nhất: giữ nhật ký trong file DECISIONS.md và paste các mục liên quan vào mỗi AI session khi cần. Đang build tính năng auth mới? Paste hai mục liên quan đến authentication. Đang cân nhắc lại data model? Kéo những quyết định đã hình thành nó vào. AI lúc này biết bạn đã quyết định gì, đã từ chối gì, và tại sao - thay vì mất mười phút đầu gợi ý những hướng bạn đã đóng từ lâu.
"Mình đã thử cách X và loại nó vì Y. Với ràng buộc đó, đây là bài toán mình đang giải."
Một câu này rút ngắn cả một vòng brainstorming. Bạn không xuất phát từ tờ giấy trắng - bạn đang đưa cho AI tấm bản đồ về địa hình mình đã đi qua.
Query lịch sử của chính mình
Khi nhật ký lớn hơn - hai mươi mục trở lên - AI trở thành người dẫn đường qua lịch sử project của chính bạn. Bạn có thể hỏi những thứ như:
- "Mình sắp refactor data model. Những quyết định nào trước đây có thể bị ảnh hưởng?"
- "Mình đang cân nhắc lại việc build Y. Lý do ban đầu mình cắt nó là gì?"
- "Trong toàn bộ project này, mình đã ưu tiên những đánh đổi nào nhất quán nhất?"
Câu hỏi cuối thường là câu hé lộ nhiều nhất. Những pattern trong quyết định của bạn phản ánh giá trị của bạn với tư cách một builder - tốc độ hay độ bóng bẩy, linh hoạt hay rõ ràng, rộng hay sâu. Nhìn thấy những pattern đó rõ ràng có nghĩa là bạn có thể củng cố chúng một cách có chủ đích, hoặc đặt câu hỏi về chúng khi tình huống đòi hỏi.
Bài toán bộ nhớ của người build một mình
Các team có hệ thống bộ nhớ tự nhiên. Quyết định được tranh luận trong Slack, được ghi chép trong Notion, được nhiều người cùng nắm giữ. Khi câu hỏi cũ nổi lên, ai đó còn nhớ. Khi cần lý do ban đầu, ai đó đã theo dõi.
Founder một mình thì không có điều đó. Mọi thứ nằm trong một cái đầu - và mọi thứ đều dễ bay hơi như nhau. Một quyết định đưa ra lúc nửa đêm sau một session dài ba tuần trước? Mờ nhạt rồi. Lý do cụ thể bạn chọn thư viện này thay vì thư viện kia? Nhớ mang máng.
Cái giá không phải lúc nào cũng là thời gian - đôi khi là tâm lý. Khi không nhớ mình đã quyết định vì lý do gì, bạn bắt đầu hoài nghi. Bạn mở ra cánh cửa cho những vòng lặp "nếu hồi đó mình làm khác đi thì sao" - tốn nhiều giờ mà không ra được gì.
Nhật ký quyết định đóng cánh cửa đó lại. "Mình đã chọn X vào ngày 3 tháng 4 vì Y. Lý do đó vẫn còn đúng. Đi tiếp." Đây không phải sự cứng nhắc - đây là hiệu quả. Nó giải phóng vùng tư duy đang bị chiếm đóng bởi sự không chắc chắn thường trực.
Và khi thật sự cần xem xét lại, bạn cũng có thể làm sắc nét hơn. Thay vì lo lắng mơ hồ ("hay là mình rebuild lại cái này"), bạn có thể đặt câu hỏi cụ thể: "Lý do của mình là Y. Y bây giờ không còn đúng nữa. Quyết định này có còn đứng vững không?" Đó là tư duy, không phải lo âu - và sự khác biệt đó quan trọng hơn nghe có vẻ.
Kết hợp với context file
Nhật ký quyết định hoạt động mạnh nhất khi đi cùng context file - cái CONTEXT.md hay CLAUDE.md bạn có thể đã dùng để định hướng các AI session. Hóa ra, hai thứ này phục vụ những mục đích khác nhau theo cách bổ sung rất tự nhiên:
- Context file: project đang là gì ngay lúc này - focus hiện tại, tech stack, câu hỏi chưa có lời giải.
- Nhật ký quyết định: project đã đi qua những gì - những lựa chọn đã hình thành nó, những con đường không đi.
Khi bắt đầu session, paste context file để định hướng nhanh. Khi đi sâu vào một vùng cụ thể, kéo thêm các mục nhật ký liên quan vào. Cùng nhau, chúng cho AI thấy cả nơi bạn đang đứng lẫn bạn đã đến đây như thế nào. Thiếu nhật ký quyết định, AI biết trạng thái hiện tại nhưng không biết ràng buộc của bạn. Thiếu context file, nó biết lịch sử nhưng không biết hướng đi.
Nếu bạn chưa có thói quen cập nhật context file hàng tuần, thực hành weekly AI reset là điểm bắt đầu tự nhiên - hai thói quen này bổ sung cho nhau rất tốt.
Bắt đầu giữa chừng
Phần khó nhất của nhật ký quyết định là bắt đầu khi project đã chạy được một thời gian. Suy cho cùng, cách thực tế nhất là thế này: viết lại năm quyết định quan trọng gần nhất bạn còn nhớ, rồi ghi tiếp những cái mới từ đây trở đi.
Bạn sẽ nhận ra ngay một điều: bạn nhớ mình đã chọn cái gì, nhưng mờ nhạt về lý do tại sao. Đúng cái mờ nhạt đó là khoảng trống mà nhật ký lấp đầy. Dựng lại lý do - dù không hoàn hảo - vẫn tốt hơn để trống.
Một template để bắt đầu:
# Nhật ký quyết định — [Tên project]
## 2026-03-15 — Dùng Supabase cho backend
**Vấn đề:** Cần database + auth có thể ship trong một cuối tuần.
**Các lựa chọn đã xem xét:** Firebase (lock-in), PlanetScale (không có auth sẵn), Supabase.
**Quyết định:** Supabase.
**Lý do:** Auth có sẵn, Postgres thật bên dưới, free tier ổn. Đánh đổi: ít kiểm soát hơn so với tự quản lý Postgres.
## 2026-03-22 — Bỏ social login ở v1
**Vấn đề:** Bao nhiêu auth surface nên expose lúc launch?
**Các lựa chọn đã xem xét:** Chỉ email, email + Google/Apple OAuth.
**Quyết định:** Chỉ email.
**Lý do:** OAuth thêm App Store review, thay đổi terms of service, cấu hình phức tạp. Xứng đáng ở v1.1, không phải v1.
Pin file này ở root của project, link từ context file, và cập nhật mỗi khi có quyết định thật sự được đưa ra. Đó là toàn bộ hệ thống.
Những quyết định đáng ghi ngay lúc xảy ra
Một số lựa chọn đến chậm - bạn cân nhắc, so sánh, ngủ một đêm rồi quyết định. Những cái đó dễ ghi. Cái hay bị bỏ sót lại là những cái nhanh: quyết định chớp nhoáng trong lúc debug, cái scope bị cắt mà bạn chỉ nhắc qua trong một tin nhắn Slack với chính mình, cái thư viện bạn swap mà không nghĩ nhiều. Những lựa chọn nhỏ này tích lũy thành tính cách của cả project - và chúng là những cái đầu tiên trở nên bí ẩn sau sáu tuần.
Một thói quen hữu ích: kết thúc mỗi AI session quan trọng bằng một phút quét nhanh. "Hôm nay mình có đưa ra quyết định nào chưa ghi lại không?" Thường câu trả lời là có, và mỗi mục chỉ tốn hai phút.
Hiệu ứng tích lũy
Lần đầu dùng nhật ký quyết định trong AI session, lợi ích còn khiêm tốn - bạn tiết kiệm được vài vòng hỏi-đáp. Đến tháng thứ ba, hiệu ứng tích lũy mới thấy rõ. Bạn có hồ sơ về mọi lựa chọn quan trọng mà project đã trải qua. Bạn có thể query nó. Bạn có thể nhận ra pattern. Bạn có thể đưa một người cộng tác mới - hoặc một AI context mới - qua toàn bộ lý luận của project trong chưa đến mười phút.
Thật ra, điều quan trọng hơn là bạn đã thay thế bộ nhớ con người - vốn đầy lỗ hổng - bằng một tài liệu có cấu trúc không biết quên. Với những builder đang làm việc trong những tuần dài, nhiều context-switching, sự bền vững đó có giá trị hơn nhiều so với vẻ ngoài của nó.
Điều đọng lại
Nhật ký quyết định không làm cho lựa chọn của bạn tốt hơn. Nó làm cho tư duy của bạn bền vững hơn - giữ nguyên bối cảnh khiến mỗi quyết định trở nên có lý, để nó không bay hơi khi khoảnh khắc đó qua đi. Nó làm cho AI session nhanh hơn. Nó làm cho những lần xem xét lại trở nên sắc bén hơn. Và nó gỡ bỏ cái lo lắng thường trực khi biết rằng lịch sử project chỉ chắc chắn đúng bằng khả năng ghi nhớ của bạn.
Bắt đầu nhỏ. Viết lại năm quyết định gần nhất. Ghi quyết định tiếp theo khi nó xảy ra. Đó là toàn bộ thực hành này.


