Điều tốn kém nhất khi làm việc với một tác nhân là giải thích lại ngữ cảnh. Mỗi sáng bạn lại giải thích lại các quyết định của ngày hôm qua, dán thông báo commit cuối cùng, thiết lập lại lỗi nào đang chặn việc triển khai. Nhân với mỗi phiên và chi phí ẩn là hàng giờ mỗi tuần, không phải phút.
STATE.md loại bỏ thuế đó. Một tệp, được cập nhật vào cuối mỗi phiên, được tải vào đầu phiên tiếp theo. Kỷ luật: trước khi bạn đóng một phiên, dành ba phút để cập nhật tệp. Ngày mai, ba phút đó tiết kiệm hai mươi.
STATE.md chứa ba thứ, không hơn.
Quyết định: những gì bạn đã giải quyết và tại sao. Nếu không có lý do, bạn trong tương lai sẽ mở lại quyết định đó. "Kích hoạt Postgres thay vì cron cho bản tóm tắt hàng ngày: kích hoạt là giao dịch, cron chạy đua với đường dẫn ghi."
Đang thực hiện: những gì đang làm dở, đủ cụ thể để bàn giao. "Migration 014 được viết tại /migrations/014_add_subscription_columns.sql nhưng chưa được áp dụng. Phải chạy trước khi trình xử lý webhook hoạt động."
Trở ngại: những gì ngăn cản sự tiến lên, bao gồm những gì bạn đã thử. "Chữ ký webhook Stripe bị lỗi trong môi trường thử nghiệm. Đã thử bộ phân tích thân thô, vẫn 400. Tiếp theo: kiểm tra biến môi trường trong bản xem trước Vercel."
Giới hạn nó ở 60-80 dòng. Khi một cái gì đó được giải quyết, hãy xóa nó. Khi một cái gì đó được vận chuyển, hãy lưu trữ nó.
Kỷ luật cập nhật. Thêm một hook Stop để nhắc nhở bản thân:
{
"hooks": {
"Stop": [
{
"command": "echo 'Trước khi bạn đóng: cập nhật STATE.md với các quyết định, đang thực hiện và trở ngại từ phiên này.'"
}
]
}
}Chỉ lời nhắc thôi là không đủ; thói quen phải tự động. Con đường nhanh nhất: thực hiện nó trong năm phiên liên tiếp. Đến phiên thứ sáu, bạn sẽ cảm thấy sai khi đóng mà không cập nhật. Sự khó chịu là tín hiệu cho thấy thói quen đã hình thành.
MEMORY.md là chỉ mục cho mọi thứ bền vững. Mỗi mục là một dòng trỏ đến một tệp riêng biệt. Bốn loại:
user_*: các sự kiện bền vững về bạn: múi giờ, ngữ cảnh nghề nghiệp, sở thích. user_location.md
feedback_*: các quy tắc học được từ sai lầm, với trường độ tin cậy. Bắt đầu ở 0.3, tăng lên 0.5 khi mẫu lặp lại, nâng lên CLAUDE.md ở 0.9+. feedback_public_endpoints_need_rate_limits.md
project_*: trạng thái và quyết định có ngày tháng cho một dự án. Lưu trữ khi nó được vận chuyển. project_stripe_integration_2026_05.md
reference_*: bảng tra cứu cho người, công cụ, API. reference_neon_db_config.md
Giữ mỗi dòng chỉ mục dưới 200 ký tự và chỉ mục dưới 200 dòng. Quá mức đó, các mục sẽ bị cắt ngắn và Claude không thể nhìn thấy chúng.
STATE.md là cho hiện tại. MEMORY.md là cho mãi mãi. Quy tắc chung: nếu bạn nói nó trong một cuộc họp đứng, nó sẽ nằm trong STATE.md. Nếu bạn viết nó trong một wiki hoặc tài liệu giới thiệu, nó sẽ nằm trong một tệp bộ nhớ. Các cuộc họp đứng là tạm thời; wiki là bền vững.
Khi một dự án được vận chuyển và STATE.md vẫn còn năm dòng về nó, hãy chuyển những dòng đó sang một tệp bộ nhớ project_* có ngày tháng và xóa chúng. Dự án không ngừng quan trọng; nó ngừng là hiện tại. Sự phân biệt đó giữ cho STATE.md hữu ích.
Viết trạng thái, không phải nhật ký. Một mục nhật ký: "Đã làm việc trên tích hợp Stripe. Nó rất phức tạp." Một mục trạng thái: "Điểm cuối Webhook tại app/api/webhooks/stripe/route.ts. Xác minh chữ ký hoạt động cục bộ, lỗi trong bản xem trước Vercel (định dạng thân thô sai). Tiếp theo: kiểm tra cấu hình middleware rawBody." Một cái cung cấp cho phiên tiếp theo một điểm khởi đầu; cái kia cung cấp cho nó một hồi ký.
Hai mẫu chống khác: các mục đang thực hiện mà không có hành động cụ thể tiếp theo mà một phiên mới có thể thực hiện, và các mục trùng lặp cho cùng một chủ đề qua các phiên. Hợp nhất các bản sao: một chủ đề, một mục, chỉ trạng thái hiện tại.
Một bản cập nhật phiên tốt là chín đến mười hai dòng: một quyết định với lý do, một mục đang thực hiện với bước tiếp theo, một trở ngại với những gì bạn đã thử.
Mở rộng quá 50 tệp bộ nhớ: lớp tóm tắt. Mỗi dòng con trỏ MEMORY.md tốn khoảng 100-150 token. Ở 200 dòng đó là 20-30K token chỉ là con trỏ. Cách khắc phục: STRATEGY-DIGEST.md, một bản tóm tắt 2-3 câu của mọi tài liệu chính cộng với trường "Sử dụng khi:":
## q2-positioning.md
Định vị Q2 nhắm mục tiêu kích hoạt AI trong các tổ chức bán hàng thị trường trung cấp.
Sử dụng khi: thảo luận về khách hàng mục tiêu, giá cả hoặc tiêu chí đủ điều kiện khách hàng tiềm năng.Claude đọc bản tóm tắt (khoảng 3K token) và chỉ tải một tài liệu đầy đủ khi có liên quan. Với 25 tài liệu chiến lược, đó là 3K token thay vì 50K. Trường "Sử dụng khi:" là cơ chế định tuyến: viết nó như một điều kiện kích hoạt cụ thể, không phải mô tả tệp.
STATE.md ghi lại trạng thái hiện tại (quyết định, đang thực hiện, trở ngại) dưới 80 dòng; cập nhật nó vào cuối phiên và lưu trữ lịch sử kịp thời. MEMORY.md lập chỉ mục kiến thức bền vững theo bốn loại (người dùng, phản hồi, dự án, tham chiếu), giới hạn ở 200 dòng. Bắt đầu tối nay với ba dòng: một quyết định, một mục đang thực hiện, một trở ngại. Ba dòng tốt hơn không có gì trong khi thói quen hình thành.