Kỹ thuật tạo ngữ cảnh cho AI Agent

Thứ năm - 21/05/2026 04:39

Tất cả những gì chúng ta đã tìm hiểu cho đến nay — cửa sổ ngữ cảnh, cấu trúc, bộ nhớ — đều xoay quanh các cuộc hội thoại. Bạn hỏi, AI trả lời, bạn tinh chỉnh. Nhưng có một mô hình khác đang nhanh chóng phát triển, và nó thay đổi hoàn toàn cách bạn thiết kế ngữ cảnh.

Tóm tắt nhanh: Trong Bài học 5, bạn đã học về các hệ thống bộ nhớ — ngữ cảnh phiên so với bộ nhớ dài hạn, RAG và các mô hình bộ nhớ phân cấp. Các agent kế thừa tất cả những điều đó và thêm một chiều hướng khác: tính tự chủ. Chúng không chỉ ghi nhớ — mà còn hành động.

Từ chatbot đến agent

Một chatbot chờ đợi đầu vào của bạn. Bạn gõ, nó trả lời, bạn gõ lại. Bạn là người điều khiển; AI là người dẫn đường.

Agent thì khác. Bạn giao cho nó một mục tiêu — "sửa lỗi này", "nghiên cứu các đối thủ cạnh tranh này", "triển khai tính năng này" — và nó sẽ thực hiện. Nó đọc file, chạy lệnh, tìm kiếm trên web, viết code, kiểm tra và trả về kết quả. Đôi khi nó thực hiện hàng chục bước mà không cần hỏi bạn bất cứ điều gì.

Và đây là lý do tại sao điều đó lại quan trọng đối với kỹ thuật tạo ngữ cảnh: Trong một cuộc trò chuyện, bạn có thể điều chỉnh hướng đi trong thời gian thực. Quên đề cập điều gì đó? Chỉ cần thêm nó vào tin nhắn tiếp theo. Nhưng một agent đưa ra quyết định tự động thì sao? Mỗi mảnh ngữ cảnh bị thiếu đều là một hướng đi sai tiềm tàng. Và những sai lầm sẽ tích lũy dần.

Đây là lý do tại sao kỹ thuật tạo ngữ cảnh cho agent khó hơn kỹ thuật tạo ngữ cảnh trong cuộc trò chuyện. Rủi ro cho mỗi quyết định ngữ cảnh cao hơn.

Ngăn xếp ngữ cảnh agent

Hãy nghĩ về ngữ cảnh agent như một ngăn xếp nhiều lớp. Mỗi lớp phục vụ một mục đích khác nhau, và tất cả đều được load trước khi agent thực hiện hành động đầu tiên.

📍 Nơi dán: Mở ChatGPT (chat.openai.com), Claude (claude.ai) hoặc Gemini (gemini.google.com) và bắt đầu một cuộc trò chuyện mới.

📋 Cách sao chép prompt này: Nhấp vào bất kỳ đâu bên trong khối màu xám, nhấn Cmd+A rồi Cmd+C (Mac) hoặc Ctrl+A rồi Ctrl+C (Windows). Hoặc sử dụng biểu tượng sao chép xuất hiện.

 
┌────────────────────────────────────────────┐
│  Lớp 4: Ngữ cảnh được truy xuất (động)       │
│  Kết quả RAG, kết quả tìm kiếm, nội dung file │
├────────────────────────────────────────────┤
│  Lớp 3: Lịch sử hội thoại (đang được cập nhật)    │
│  Các tin nhắn trước đây, kết quả công cụ, quyết định     │
├────────────────────────────────────────────┤
│  Lớp 2: Định nghĩa công cụ (bán tĩnh)    │
│  Các công cụ, thông số và quy tắc sử dụng có sẵn   │
├────────────────────────────────────────────┤
│  Lớp 1: Các lệnh hệ thống (tĩnh)      │
│  Danh tính, quy tắc, quy ước, sở thích  │
└────────────────────────────────────────────┘

✏️ Cách điền thông tin chi tiết: Thay thế mỗi dấu ngoặc vuông [] và trình giữ chỗ trong ngoặc bằng thông tin cụ thể từ tình huống thực tế của bạn. Thông tin đầu vào mơ hồ sẽ tạo ra kết quả mơ hồ — hãy nêu cụ thể.

👀 Những gì bạn sẽ thấy: Trong vòng vài giây, AI sẽ trả về một phản hồi có cấu trúc dựa trên prompt ở trên. Hãy đọc kỹ và coi đó là bản nháp, không phải câu trả lời cuối cùng.

📌 Nên làm gì với kết quả: Lưu phản hồi vào file Notes. Chọn gợi ý có hiệu quả cao nhất và thực hiện nó trong tuần này — đừng cố gắng làm tất cả cùng một lúc.

⚠️ Nếu kết quả không ổn: Nếu các gợi ý có vẻ chung chung, hãy dán nội dung sau: "Hãy cụ thể hơn với ngữ cảnh thực tế của tôi. Bỏ những lời khuyên chung chung". Nếu nó bỏ qua các chi tiết quan trọng bạn đã cung cấp, hãy hỏi: "Bạn đã bỏ sót [X] trong ngữ cảnh của tôi — hãy làm lại với điều đó làm ràng buộc chính".

Lớp 1 — Hướng dẫn hệ thống đặt nền tảng. Agent này là ai? Nó tuân theo những quy tắc nào? Nó không bao giờ được làm gì? Lớp này hiếm khi thay đổi trong một phiên làm việc.

Lớp 2 — Định nghĩa công cụ cho agent biết nó có thể làm gì. Đọc một file? Chạy một lệnh shell? Tìm kiếm trên web? Mỗi công cụ đều đi kèm với mô tả, tham số và thường là ví dụ về thời điểm sử dụng.

Lớp 3 — Lịch sử hội thoại được cập nhật liên tục trong suốt phiên làm việc. Mọi hành động mà agent thực hiện, mọi kết quả nhận được, mọi quyết định đưa ra — tất cả đều được tích lũy trong cửa sổ ngữ cảnh.

Lớp 4 — Ngữ cảnh được truy xuất là động. Khi agent cần thông tin — nội dung của một file, kết quả tìm kiếm, bản ghi cơ sở dữ liệu — thông tin đó sẽ được lấy theo yêu cầu.

Điều khiến ngữ cảnh của agent trở nên phức tạp là lớp 3 và 4 liên tục được cập nhật. Một agent thực hiện 50 bước sẽ có 50 hành động và 50 kết quả trong lịch sử của nó. Điều đó có thể nhanh chóng làm đầy cửa sổ ngữ cảnh.

Kiểm tra nhanh: Một AI agent đang thực hiện dở dang một nhiệm vụ lập trình gồm 30 bước và bắt đầu tạo ra đầu ra chất lượng thấp hơn. Cửa sổ ngữ cảnh đã đầy 80%. Điều gì có thể đang xảy ra?

Đáp án: Vấn đề "biến mất giữa chừng" từ Bài học 2. Khi lịch sử hội thoại dài ra, các hướng dẫn hệ thống quan trọng và ngữ cảnh ban đầu bị đẩy ra giữa cửa sổ, nơi sự chú ý bị giảm sút. Về cơ bản, agent đang "quên" các hướng dẫn của mình. Giải pháp: Nén lịch sử, chèn lại các hướng dẫn chính hoặc cô lập ngữ cảnh quan trọng.

File cấu hình làm ngữ cảnh

Hình thức thực tiễn nhất của kỹ thuật tạo ngữ cảnh agent là file cấu hình. Có lẽ bạn đã gặp những file này rồi:

FileĐược sử dụng bởiMục đích

CLAUDE.md

Claude CodeQuy ước dự án, kiến ​​trúc, sở thích

AGENTS.md

Claude CodeQuy tắc phối hợp multi-agent

.cursorrules

CursorPhong cách lập trình, bối cảnh dự án

.github/copilot-instructions.md

GitHub CopilotHướng dẫn cụ thể cho từng kho lưu trữ
Thư mục rules/WindsurfQuy tắc và mô hình dự án

Những file này đều thực hiện cùng một việc: Cung cấp ngữ cảnh Lớp 1. Chúng là bộ nhớ ngữ nghĩa (từ Bài học 5) được load tự động. Và chúng cực kỳ hiệu quả.

Một file cấu hình tốt cho agent biết ba điều:

Dự án này là gì. Công nghệ sử dụng, kiến ​​trúc, các quyết định quan trọng. "Đây là một trang web Hugo với CSS thuần túy, Meilisearch và triển khai Netlify."

Cách làm việc ở đây. Quy ước code, mẫu đặt tên, tổ chức file. “Sử dụng kiểu viết hoa chữ cái đầu mỗi từ (kebab-case) cho các lớp CSS. Sử dụng những token thiết kế, không bao giờ hardcode các giá trị. Kiểm tra bằng Vitest.”

Những điều cần tránh. Những lỗi thường gặp, các mẫu phản tác dụng, các phương pháp bị cấm. "Không bao giờ sử dụng Tailwind. Không sửa đổi quy trình xây dựng. Giữ skill_content bằng tiếng Anh."

Đây là một ví dụ thực tế — một file CLAUDE.md được tối giản cho một dự án web:

 
# Dự án: Ứng dụng Dashboard

## Ngăn xếp
- React 18 + TypeScript (chế độ nghiêm ngặt)
- Tailwind CSS v3
- PostgreSQL thông qua Prisma ORM
- Test: Vitest + Thư viện test

## Quy ước
- Chỉ sử dụng các thành phần chức năng (không dùng lớp)
- Xuất có tên (không xuất mặc định)
- Đặt các bài test: `Component.test.tsx` cạnh `Component.tsx`
- Giới hạn lỗi xung quanh mỗi tuyến

## KHÔNG NÊN
- Sử dụng kiểu `any` — luôn luôn định nghĩa giao diện
- Cài đặt các dependency mới mà không hỏi
- Sửa đổi các bản di chuyển cơ sở dữ liệu đã được áp dụng

50 dòng. Có thể 200 từ. Nhưng điều này thay đổi mọi thứ về cách hoạt động của agent trong dự án của bạn. Nếu không có nó, agent sẽ đoán. Với nó, agent sẽ tuân theo các quy tắc của bạn.

Kiểm tra nhanh: Bạn nhận thấy rằng một agent lập trình AI liên tục viết các bài test Jest, nhưng dự án của bạn sử dụng Vitest. Bạn đã hướng dẫn nó sử dụng Vitest 3 lần trong cuộc trò chuyện. Cách khắc phục tốt hơn là gì?

Câu trả lời: Hãy thêm "Testing: Vitest, not Jest" vào file cấu hình của bạn. Các chỉnh sửa trong cuộc trò chuyện chỉ có hiệu lực trong phiên hiện tại và bị chìm vào lịch sử cuộc trò chuyện. Hướng dẫn trong file cấu hình được load mới mỗi phiên và nằm ở Lớp 1 — lớp ngữ cảnh ưu tiên cao nhất.

Ngữ cảnh công cụ: Những gì agent có thể làm

Công cụ là thứ tạo nên agent. Không có công cụ, nó chỉ là một chatbot. Nhưng công cụ cũng cần ngữ cảnh.

Mỗi định nghĩa công cụ về cơ bản là một tài liệu ngữ cảnh thu nhỏ:

 
{
  "name": "read_file",
  "description": "Đọc nội dung của một file tại đường dẫn đã cho",
  "parameters": {
    "file_path": {
      "type": "string",
      "description": "Đường dẫn tuyệt đối đến file"
    }
  }
}

Agent sử dụng các định nghĩa này để quyết định công cụ nào sẽ sử dụng và cách sử dụng nó. Và đây là lúc kỹ thuật tạo ngữ cảnh phát huy tác dụng: Chất lượng mô tả công cụ của bạn quyết định trực tiếp mức độ hiệu quả mà agent sử dụng chúng.

Mô tả mơ hồ như "tìm kiếm các thứ" dẫn đến việc sử dụng sai. Mô tả cụ thể như "Tìm kiếm trong codebase các file khớp với một mẫu glob. Sử dụng công cụ này khi bạn cần tìm các file theo tên hoặc phần mở rộng. Trả về đường dẫn file được sắp xếp theo thời gian sửa đổi" dẫn đến việc sử dụng chính xác.

Một số mẫu để có ngữ cảnh công cụ tốt hơn:

  • Khi nào nên sử dụng: "Sử dụng công cụ này khi bạn cần tìm kiếm một file theo tên. Không sử dụng nó để tìm kiếm nội dung file — hãy sử dụng Grep cho việc đó."

  • Những gì nó trả về: "Trả về các đường dẫn file khớp, mỗi dòng một đường dẫn, được sắp xếp theo thời gian sửa đổi (mới nhất trước)."

  • Những lỗi thường gặp: "Công cụ này chỉ tìm kiếm tên file, không phải nội dung. Nếu bạn cần tìm một chuỗi bên trong file, hãy sử dụng công cụ Grep thay thế."

Ngữ cảnh multi-agent: Chia sẻ thông tin

Đây là lúc mọi thứ trở nên thực sự thú vị. Các hệ thống AI hiện đại ngày càng sử dụng nhiều agent làm việc cùng nhau. Và thách thức về kỹ thuật tạo ngữ cảnh càng nhân lên.

Hãy xem xét quy trình lập trình với hai agent:

  • Agent A lập kế hoạch kiến ​​trúc và viết code triển khai

  • Agent B xem xét code và viết các bài test

Làm thế nào agent B biết được quyết định của agent A? Chúng không chia sẻ cửa sổ ngữ cảnh. Bạn cần chuyển giao ngữ cảnh rõ ràng.

Các mô hình phổ biến cho ngữ cảnh multi-agent:

File chia sẻ: Cả hai agent đều đọc từ cùng một file dự án. Agent A viết code; agent B đọc code đó. Bản thân code đó là ngữ cảnh được chia sẻ.

Tài liệu chuyển giao: Agent A tạo ra một bản tóm tắt — "Đây là những gì tôi đã xây dựng, đây là lý do tại sao, đây là các trường hợp ngoại lệ". Agent B nhận được điều này như ngữ cảnh đầu vào.

File cấu hình: Cả hai agent đều đọc cùng một file CLAUDE.md hoặc AGENTS.md. Điều này đảm bảo các quy ước nhất quán ngay cả khi họ không chia sẻ cuộc hội thoại.

Mô hình AGENTS.md đang nổi lên như một tiêu chuẩn cho việc này. Nó định nghĩa:

 
# Phối hợp giữa các agent

## Vai trò của các agent
- Người lập kế hoạch: Chia nhỏ nhiệm vụ thành các nhiệm vụ nhỏ, không trực tiếp viết code
- Người thực hiện: Viết code theo thông số kỹ thuật của người lập kế hoạch
- Người đánh giá: Xem xét code, viết test, kiểm tra lỗi

## Định dạng bàn giao
Mỗi agent tạo ra một bản bàn giao có cấu trúc:
- Những việc đã làm
- Những quyết định đã được đưa ra (và tại sao)
- Những việc còn lại cần làm
- Các rủi ro hoặc mối quan ngại đã biết

Đây là kỹ thuật tạo ngữ cảnh ở cấp độ hệ thống — bạn không chỉ thiết kế những gì một AI biết, mà còn thiết kế cách nhiều AI chia sẻ kiến ​​thức.

Kiểm tra nhanh: Hai agent AI đang làm việc trên cùng một codebase. Agent A tái cấu trúc một hàm, và agent B (chạy riêng biệt) cố gắng gọi tên hàm cũ, gây ra lỗi. Giải pháp kỹ thuật tạo ngữ cảnh nào ngăn chặn điều này?

Đáp án: Ngữ cảnh file được chia sẻ. Agent B nên đọc các file codebase thực tế trước khi thực hiện thay đổi, không nên dựa vào thông tin lỗi thời. Các file cấu hình cũng có thể chỉ định "luôn đọc file hiện tại trước khi sửa đổi nó". Nguyên nhân gốc rễ là agent B hoạt động trên ngữ cảnh lỗi thời — một vấn đề kinh điển khi các agent không chia sẻ bộ nhớ làm việc.

Bài tập: Viết cấu hình agent

Chọn một trong những kịch bản sau (hoặc sử dụng kịch bản của riêng bạn):

  1. Một agent lập trình AI cho dự án của bạn

  2. Một trợ lý viết bài AI cho blog của bạn

  3. Một agent nghiên cứu AI để phân tích thị trường

Viết một file cấu hình bao gồm:

  • Nhận dạng: Agent này là gì? Vai trò của nó là gì?

  • Ngữ cảnh dự án: Nó cần biết gì về dự án?

  • Quy ước: Nó nên tuân theo những quy tắc nào?

  • Các mẫu phản tác dụng: Nó không bao giờ nên làm gì?

  • Hướng dẫn công cụ: Nó nên sử dụng các công cụ có sẵn như thế nào?

Mục tiêu là 30-50 dòng. Load nó vào phiên AI tiếp theo của bạn và xem nó thay đổi đầu ra như thế nào.

Những điểm chính cần ghi nhớ

  • Ngữ cảnh agent khó hơn ngữ cảnh trò chuyện vì các agent hoạt động tự chủ — mỗi mảnh ngữ cảnh bị thiếu đều có thể dẫn đến những sai lầm chồng chất

  • Ngăn xếp ngữ cảnh agent có 4 lớp: Hướng dẫn hệ thống, định nghĩa công cụ, lịch sử hội thoại và ngữ cảnh được truy xuất

  • Các file cấu hình (CLAUDE.md, .cursorrules) là hình thức thực tiễn nhất của kỹ thuật tạo ngữ cảnh agent — 50 dòng có thể thay đổi cách một agent hoạt động trong dự án của bạn

  • Mô tả công cụ cũng là ngữ cảnh — mô tả tốt hơn có nghĩa là sử dụng công cụ tốt hơn

  • Các hệ thống multi-agent cần chuyển giao ngữ cảnh rõ ràng thông qua những file được chia sẻ, tài liệu chuyển giao hoặc cấu hình phối hợp như AGENTS.md

  • Lớp lịch sử hội thoại liên tục phát triển, tạo áp lực lên cửa sổ ngữ cảnh — hãy lên kế hoạch nén và tái chèn các hướng dẫn chính

Nguồn tin: Quantrimang.com

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

  Ý kiến bạn đọc

THỐNG KÊ TRUY CẬP
  • Đang truy cập61
  • Máy chủ tìm kiếm1
  • Khách viếng thăm60
  • Hôm nay14,503
  • Tháng hiện tại374,417
  • Tổng lượt truy cập15,801,667
QUẢNG CÁO
Phan Thanh Phú
Quảng cáo 2
Liên kết site
Đăng nhập Thành viên
Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site
Thăm dò ý kiến

Bạn thấy Website cần cải tiến những gì?

Lịch Âm dương
Máy tính
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây