02Context & memoryĐào sâu ③

Chọn gì đưa vào context cho agent

Một checklist để khỏi dán quá nhiều, cũng khỏi thiếu thứ agent thật sự cần

Đọc4 phút đọc
Chủ đềcontext · memory
TL;DR

Khi agent bắt đầu trôi, đừng dán thêm mọi thứ. Đưa đúng 5 món cho lượt việc này: mục tiêu, vùng đang đụng, ràng buộc, ví dụ đúng/sai, và câu hỏi cần nó trả lời. Cái cần nhớ lâu thì ghi ra file, không nhét mãi vào chat.

Bạn cần bài này khi gặp một trong các cảnh sau:

  • Agent nhắc lại thứ đã chốt.
  • Nó đề xuất hướng bạn vừa loại.
  • Bạn dán rất nhiều context nhưng output vẫn lệch.
  • Bạn không biết nên đưa file nào, đoạn nào, log nào vào chat.

Làm ngay trước lượt prompt tiếp theo:

  1. Viết một câu mục tiêu của lượt này.
  2. Chỉ đưa file/đoạn/log liên quan trực tiếp tới mục tiêu đó.
  3. Ghi rõ 2-5 ràng buộc không được phá.
  4. Cho một ví dụ đúng hoặc một ví dụ sai nếu có.
  5. Nói rõ bạn muốn agent trả về gì: plan, diff, chẩn đoán, bảng so sánh, hay prompt.
1
Mục tiêu

Lượt này cần quyết gì hoặc sửa gì? Một câu là đủ.

2
Vùng đang đụng

Đưa đúng file, đoạn, log, màn hình liên quan. Phần chưa đụng thì để ngoài.

3
Ràng buộc

Cái gì không được đổi, phải giữ, hoặc phải kiểm trước khi chạm.

4
Ví dụ

Một mẫu đúng hoặc một ca đang sai giúp agent bám vào đời thật.

5
Output mong muốn

Đừng để nó đoán bạn muốn plan, code, hay phân tích.

Context tốt không phải context dài. Context tốt là context khiến lượt này khó hiểu sai.

01Đừng dán lịch sử để chữa việc nó trôi

Đến giữa một việc dài, phản xạ tự nhiên là dán lại toàn bộ lịch sử cho agent "nhớ". Nghe hợp lý, nhưng thường làm tệ hơn: context phình ra, ý chính loãng đi, agent phải tự đoán phần nào quan trọng cho lượt hiện tại.

Câu hỏi đúng không phải "còn gì chưa dán vào". Câu hỏi đúng là: lượt này cần gì để làm đúng?

Nếu lượt này chỉ cần sửa một hàm, đừng đưa cả lịch sử quyết định sản phẩm. Nếu lượt này chỉ cần chẩn đoán một lỗi, đừng đưa thêm ba file không chạy qua lỗi đó. Nếu lượt này chỉ cần viết email theo giọng cũ, đừng đưa cả inbox; đưa 2-3 mẫu đúng giọng.

Dán cho đủ

Toàn bộ lịch sử chat
Agent tự đoán phần quan trọng
Output dài hơn, nhưng vẫn lệch trọng tâm

Dọn cho đúng lượt

Mục tiêu + vùng đang đụng + ràng buộc
Agent biết phải bám vào đâu
Output ngắn hơn, dễ kiểm hơn

02Cách quyết định cái gì lên bàn

Hãy chia mọi thứ bạn có thành ba nhóm.

Nhóm 1: phải đưa ngay. Đây là thứ nếu thiếu thì agent chắc chắn làm sai: yêu cầu hiện tại, đoạn code/file đang sửa, log lỗi, dữ liệu mẫu, quy ước bắt buộc, tiêu chí "xong".

Nhóm 2: chỉ đưa khi agent chạm tới. Đây là thứ có thể liên quan nhưng chưa cần: module lân cận, quyết định cũ, file gọi gián tiếp, tài liệu nền. Nói cho agent biết có thể hỏi thêm, nhưng đừng nhét hết từ đầu.

Nhóm 3: đừng đưa vào chat. Đây là thứ nhiễu, nhạy cảm, hoặc không giúp lượt này: toàn bộ transcript cũ, dữ liệu cá nhân không cần thiết, file lớn chỉ có một đoạn liên quan, log dài chưa lọc.

Prompt dùng ngay:

This turn's goal: [one sentence].

Context to anchor on:
- [directly relevant file/snippet/log]
- [constraints that must not break]
- [right/wrong example if available]

Possibly related but not included yet: [short list].
If you need to touch those, ask first.

Output I want: [plan / diff / diagnosis / comparison table / answer].

Kết quả đúng: câu trả lời của agent ngắn hơn nhưng bám sát hơn. Nó hỏi thêm đúng chỗ thay vì tự mở rộng phạm vi.

03Cái cần nhớ lâu thì đừng để trong chat

Context của một lượt không phải trí nhớ của cả việc. Chat sẽ dài lên, bị tóm tắt, bị quên, hoặc phiên mới không còn thấy gì. Nếu một quyết định cần sống qua nhiều lượt, hãy đưa nó ra khỏi chat.

Ví dụ:

  • Quy ước dự án → ghi vào CLAUDE.md, README nội bộ, hoặc file rule tương đương.
  • Quyết định kiến trúc → ghi vào DECISIONS.md hoặc changelog.
  • Danh sách việc còn lại → ghi vào issue/task list.
  • Prompt đã dùng tốt → đưa vào prompt library hoặc skill.

Đừng bắt agent "nhớ giúp". Hãy đặt thứ cần nhớ ở nơi phiên sau đọc lại được.

04Dấu hiệu bạn chọn context đúng

Bạn chọn đúng khi:

  • Agent không phải hỏi lại những thứ bạn đã biết là bắt buộc.
  • Nó không tự mở rộng sang vùng ngoài lượt việc.
  • Output có thể kiểm được bằng chính context bạn đưa.
  • Phiên sau vẫn tiếp tục được vì quyết định dài hạn đã nằm trong file, không nằm trong một đoạn chat cũ.

Chốt lại: context không phải cái kho. Nó là cái bàn làm việc cho lượt này. Trên bàn chỉ nên có thứ đang cần dùng; còn luật sống lâu thì cất vào ngăn kéo có nhãn, để lần sau mở ra vẫn thấ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

Bạn đang xây gì với agent? Muốn trao đổi, phản biện, hay cùng làm một thứ gì đó — viết cho mình một dòng.

58bài12cụmVI·ENsong ngữ

Nhận bài mới qua email

Ghi chép thực chiến về làm việc với AI agent — thi thoảng, không spam.