Cấu trúc thư mục agent đọc được

Agent đọc căn phòng của bạn trước khi đọc lời bạn dặn. Một workspace gọn gàng nói thay bạn; một mớ hỗn độn bắt nó đoán — và nó đoán rất tự tin.

Đọc5 phút đọc
Chủ đềsetup · workspace · structure · context
TL;DR

Cấu trúc thư mục và cách bạn đặt tên file là một loại context im lặng: agent đọc cái workspace trước khi đọc lời bạn dặn. Workspace có pattern nhất quán thì agent suy luận đúng mà không cần giải thích. Workspace hỗn độn thì nó phải đoán — và nó đoán rất tự tin. Bạn không cần nói nhiều hơn; bạn cần để cái phòng nói thay.

final_v2_THẬT_SỰ_CUỐI.xlsx.

Bạn có một file tên kiểu đó ở đâu đó. Ai cũng có.

Bạn mở nó ra là biết ngay đây là bản nào — vì bạn nhớ cái buổi chiều đặt tên cho nó. Nhưng agent không có cái buổi chiều đó. Nó nhìn vào thư mục của bạn và thấy bốn file final, ba file v2, hai bản copy của copy, và không có cách nào biết cái nào là thật. Nên nó chọn một cái. Và nó chọn bằng đúng cái giọng chắc nịch mà bạn đã quá quen.

Bạn sẽ trách cái prompt. Nhưng prompt không phải là chỗ hỏng.

01Agent đọc căn phòng trước khi đọc lời bạn dặn

Trước khi agent đọc câu lệnh của bạn, nó đã đọc một thứ khác: cái workspace nó vừa bước vào. Cây thư mục. Tên file. Cái gì nằm cạnh cái gì. Thư mục nào trông như đồ nháp, thư mục nào trông như bản thật.

Tất cả những thứ đó là prompt — chỉ là bạn không gõ ra. Một workspace có cấu trúc nhất quán là một câu chỉ dẫn bạn viết một lần mà không cần đánh máy. Một workspace hỗn độn cũng là một câu chỉ dẫn — nội dung của nó là: "tự đoán đi."

Đây là chỗ khác với cái file dặn dò. Bài trụ của cụm này nói về CLAUDE.md — lời bạn nói tường minh với agent. Bài này nói về thứ đứng trước cả lời nói: cái phòng. Bạn có thể viết một CLAUDE.md hoàn hảo và agent vẫn vấp, nếu cái phòng nó bước vào mâu thuẫn với lời bạn dặn. Cấu trúc không phải tài liệu để đọc — nó là không khí agent thở.

Workspace bắt agent đoán

Tên file kể chuyện cá nhân: final, cuối, backup-cũ
Bản nháp nằm cạnh bản thật, không gì phân biệt
Agent chọn nhầm nguồn → làm đúng quy trình trên dữ liệu sai

Workspace tự giải thích

Tên file nói cho người lạ hiểu: ngày, phiên bản, trạng thái
Nháp và thật ở hai thư mục tách bạch
Agent suy ra đúng nguồn từ cấu trúc, không cần bạn chỉ

Để ý cột trái: lỗi không nằm ở chỗ agent làm sai quy trình. Nó làm đúng quy trình — trên cái file sai. Đó là loại lỗi khó bắt nhất, vì mọi bước trông đều ổn.

02Vì sao "tôi đã explain trong prompt rồi" không cứu được

Câu phổ biến nhất tôi nghe khi ai đó bực: "Nhưng tôi đã nói rõ trong prompt là dùng file mới nhất rồi mà."

Vấn đề là "mới nhất" là một khái niệm sống trong đầu bạn, không sống trong thư mục. Bạn biết file nào mới nhất vì bạn nhớ. Agent chỉ có cái nó thấy. Nếu hai file trông như nhau và cái cũ lại có ngày sửa muộn hơn vì bạn lỡ mở ra xem, thì "mới nhất" của nó khác "mới nhất" của bạn.

Mỗi lần bạn phải giải thích bằng lời một thứ mà cấu trúc lẽ ra phải tự nói, bạn đang trả một khoản phí. Phí đó lặp lại mỗi session — vì cái phòng vẫn y như cũ, còn trí nhớ agent thì về số không sau mỗi lần. Bạn dọn bằng lời, nhưng cái cần dọn là cái phòng.

Dấu hiệu cái phòng đang chống lại bạn thì khá rõ một khi bạn để ý: agent hỏi lại "ý bạn là file nào" cho thứ lẽ ra hiển nhiên; nó sửa đúng logic nhưng nhầm chỗ; hai session liền nó hiểu cùng một câu theo hai kiểu khác nhau. Đó không phải agent kém đi. Đó là cái phòng nói nước đôi.

03Ba quy tắc để cấu trúc nói thay bạn

Không cần dựng lại cả hệ thống. Ba quy tắc nhỏ này gánh phần lớn việc:

1
Ngày tháng đứng đầu tên — không phải "final"

Một file tên 2026-06-02-bao-cao.xlsx tự sắp đúng thứ tự và tự nói nó sinh ra khi nào. "Final" thì không nói gì cả — nó là cảm xúc của bạn lúc lưu, không phải dữ kiện. Người lạ đọc tên file mà hiểu được đây là bản nào, thì agent cũng hiểu.

2
Phiên bản nằm trong thư mục, không nằm trong tên file

Đừng để app.js, app-cũ.js, app-thử.js chen nhau một chỗ. Một bản đang dùng, các bản cũ vào thư mục archive/. Agent thấy một câu trả lời rõ ràng ở chỗ làm việc, không phải ba ứng viên ngang hàng để nó phải chọn.

3
Một dòng README ở mỗi thư mục lạ

Thư mục nào mà tên không tự giải thích, để một file một dòng: "đây là dữ liệu thô, đừng sửa tay" hoặc "thư mục output, tạo lại được". Một dòng. Nó biến một góc mơ hồ thành một góc có luật — và cái luật đó đi cùng thư mục, không phụ thuộc bạn có nhớ nhắc hay không.

Cả ba quy tắc có chung một bài kiểm tra: đưa workspace cho một người chưa từng thấy nó, họ đoán đúng được không? Đoán được thì agent cũng đoán được. Đoán không được thì bạn đang để nó đoán thay bạn — và bạn đã biết nó đoán tự tin tới mức nào.

04Cái phòng vẫn ở đó sau khi bạn ngủ

Điều dễ quên nhất về việc làm với agent là: lời bạn dặn biến mất khi session kết thúc, nhưng cái phòng thì ở lại.

Một prompt khéo cứu được một lượt. Một cấu trúc tốt cứu được mọi lượt sau đó — kể cả những lượt bạn quên mất mình từng giải thích gì. Đó là điểm khác biệt giữa dọn dẹp và sắp đặt: dọn dẹp là việc bạn làm lại mỗi ngày, sắp đặt là việc bạn làm một lần rồi cái phòng tự giữ.

Lần tới agent làm sai một cách khó hiểu, đừng vội mở lại prompt để thêm một câu. Mở cái thư mục ra và đọc nó bằng con mắt của người chưa từng thấy. Rất có thể bạn sẽ thấy đúng cái mà agent đã thấy — và hiểu vì sao nó đoán như vậy.

c
Người viết

Mỗi câu chuyện ở đây gói một bài học đã trả giá để học.

craftagentmột người vừa xây vừa học
44bài11cụmVI·ENsong ngữ