Thiết lập quy trình context engineering trong VS Code
Dùng custom instructions, custom agent và prompt file trong VS Code để cung cấp ngữ cảnh dự án có chọn lọc cho agent, từ lập kế hoạch tới sinh code.
This content is currently available in Vietnamese only.
Bài này tóm tắt cách dựng một quy trình (workflow) context engineering trong VS Code bằng custom instructions, custom agent và prompt file.
Context engineering là cách cung cấp có hệ thống thông tin dự án có chọn lọc cho AI agent để code sinh ra chính xác hơn. Khi bạn tuyển chọn ngữ cảnh (context) thiết yếu qua custom instructions, kế hoạch hiện thực (implement) và quy ước code, agent ra quyết định tốt hơn và giữ được kiến thức xuyên suốt các lần tương tác.
Tổng quan quy trình
- Tuyển chọn ngữ cảnh toàn dự án: dùng custom instructions để đưa tài liệu liên quan (kiến trúc, thiết kế, hướng dẫn đóng góp) vào mọi lần tương tác với agent.
- Sinh kế hoạch hiện thực: tạo persona lập kế hoạch bằng custom agent và prompt.
- Sinh code: dùng custom instructions để sinh code từ kế hoạch, tuân theo quy ước code của bạn.
Ở mỗi bước, bạn có thể tinh chỉnh kết quả bằng các prompt tiếp theo trong chat.
Bước 1: Tuyển chọn ngữ cảnh toàn dự án
Agent có thể tự tìm thông tin trong codebase, nhưng nó hay bị chôn trong comment hoặc rải rác nhiều file. Một bản tóm tắt ngắn gọn giúp agent luôn có sẵn ngữ cảnh quan trọng để ra quyết định mà không phải học lại ở mỗi lần chat.
- Viết tài liệu dự án thành file Markdown trong repo, ví dụ
PRODUCT.md,ARCHITECTURE.md,CONTRIBUTING.md. Với codebase có sẵn, bạn có thể nhờ AI sinh các file này (giới hạn 1–2 trang), rồi tự rà soát cho chính xác và đầy đủ. - Tạo file instructions
.github/copilot-instructions.mdở gốc repo. Nội dung file này tự động được đưa vào mọi lần chat. - Viết tổng quan cấp cao kèm link Markdown tới tài liệu hỗ trợ:
# [Project Name] Guidelines
* [Product Vision and Goals](../PRODUCT.md): Understand the high-level vision and objectives of the product to ensure alignment with business goals.
* [System Architecture and Design Principles](../ARCHITECTURE.md): Overall system architecture, design patterns, and design principles that guide the development process.
* [Contributing Guidelines](../CONTRIBUTING.md): Overview of the project's contributing guidelines and collaboration practices.
Suggest to update these documents if you find any incomplete or conflicting information during your work.
Bước 2: Tạo kế hoạch hiện thực
Tạo kế hoạch là quá trình lặp, có thể cần nhiều vòng tinh chỉnh. Một custom agent cho việc lập kế hoạch cho bạn persona riêng với hướng dẫn và tool phù hợp (ví dụ chỉ đọc codebase), và có thể ghi lại quy trình brainstorm, nghiên cứu, cộng tác của nhóm. Muốn nghiên cứu sâu có trích dẫn, dùng research agent có sẵn trong Copilot session. Hãy coi custom agent là tài liệu sống, cải thiện dần theo những lỗi bạn quan sát được.
- Tạo template
plan-template.mdquy định cấu trúc kế hoạch: frontmatter (title, version, ngày tạo, ngày cập nhật), mô tả yêu cầu, mục Architecture and design, Tasks (dạng checklist Markdown) và Open questions (1–3 câu hỏi). Template giúp agent thu thập đủ thông tin, trình bày nhất quán và cải thiện chất lượng code sinh ra từ kế hoạch. - Tạo agent lập kế hoạch
.github/agents/plan.agent.mdbằng lệnh Chat: New Custom Agent trong Command Palette. Agent này chỉ lập kế hoạch, không hiện thực, và có thể khai báo handoffs để chuyển sang agent hiện thực khi xong. Muốn đọc GitHub issue làm ngữ cảnh, cài GitHub MCP server. Bạn có thể đặt thuộc tínhmodelsang model mạnh về suy luận.
---
description: 'Architect and planner to create detailed implementation plans.'
tools: ['web/fetch', 'read/problems', 'search/codebase', 'search/usages', 'todo', 'agent', 'github/github-mcp-server/get_issue', 'github/github-mcp-server/get_issue_comments', 'github/github-mcp-server/list_issues']
handoffs:
- label: Start Implementation
agent: tdd
prompt: Now implement the plan outlined above using TDD principles.
send: true
---
# Planning Agent
You are an architect focused on creating detailed and comprehensive implementation plans for new features and bug fixes. Your goal is to break down complex requirements into clear, actionable tasks that can be easily understood and executed by developers.
## Workflow
1. Analyze and understand: Gather context from the codebase and any provided documentation to fully understand the requirements and constraints. Run #tool:agent tool, instructing the agent to work autonomously without pausing for user feedback.
2. Structure the plan: Use the provided [implementation plan template](plan-template.md) to structure the plan.
3. Pause for review: Based on user feedback or questions, iterate and refine the plan as needed.
- Chọn custom agent plan trong Chat view và nhập tác vụ, ví dụ
Add user authentication with email and password, including registration, login, logout, and password reset functionality. Bạn cũng có thể tham chiếu issue:Implement the feature from issue #43, khi đó agent đọc mô tả và comment của issue để rút ra yêu cầu. - Tuỳ chọn: tạo prompt file gọi plan agent. Ví dụ
plan-qna.prompt.mddưới đây thêm bước hỏi làm rõ:
---
agent: plan
description: Create a detailed implementation plan.
---
Briefly analyze my feature request, then ask me 3 questions to clarify the requirements. Only then start the planning workflow.
- Trong Chat view, gõ slash command, ví dụ
/plan-qna add a customer details page for displaying and editing customer information. Agent hỏi lại để hiểu yêu cầu trước khi lập kế hoạch, giảm hiểu lầm.
Bước 3: Sinh code
- Tác vụ nhỏ: nhờ agent sinh code trực tiếp từ kế hoạch. Tính năng lớn: chuyển sang Agent, nhờ lưu kế hoạch ra file (ví dụ
<my-feature>-plan.md) hoặc comment vào GitHub issue, rồi mở chat mới và tham chiếu file kế hoạch để làm mới ngữ cảnh. - Yêu cầu hiện thực, ví dụ
implement #<my-plan>.md. Agent được tối ưu cho tác vụ nhiều bước, bạn chỉ cần đưa file kế hoạch. - Muốn tuỳ biến hơn, tạo custom agent hiện thực, ví dụ agent TDD: viết test trước để mã hoá tiêu chí chấp nhận, viết code tối thiểu cho test pass, chạy test liên quan sau mỗi thay đổi, chạy toàn bộ test trước khi sang tác vụ tiếp, refactor khi test vẫn xanh. Vì model nhỏ làm theo chỉ dẫn rõ ràng tốt, agent
implementcó lợi khi đặt thuộc tínhmodel.
Thực hành tốt
Quản lý ngữ cảnh
- Bắt đầu nhỏ và lặp: thêm chi tiết dần theo hành vi quan sát được; tránh quá tải ngữ cảnh.
- Giữ ngữ cảnh mới: thường xuyên rà soát, cập nhật tài liệu dự án (có thể nhờ agent). Ngữ cảnh cũ dẫn tới gợi ý sai.
- Xây ngữ cảnh tăng dần: đi từ khái niệm cấp cao tới chi tiết.
- Tách ngữ cảnh: lập kế hoạch, code, test, debug ở các chat session riêng.
- Để ý mức tiêu thụ credit: nhiều file ngữ cảnh, instruction lớn, chuỗi agent phức tạp đều tăng token và AI credit. Xem thêm tối ưu mức dùng AI credit.
Tài liệu và quy trình
- Coi instructions, custom agent, template là tài liệu sống; ưu tiên thông tin giúp ra quyết định kiến trúc và hiện thực; ghi lại quy ước đặt tên, code, quyết định kiến trúc; link tới tài liệu, API, chuẩn bên ngoài.
- Dùng handoffs nối các agent lập kế hoạch, hiện thực, review thành quy trình đầu-cuối; tách agent theo hoạt động.
- Liên tục kiểm tra agent hiểu đúng, sửa hướng sớm; xây tính năng tăng dần, kiểm chứng từng bước.
- Quản lý phiên bản thiết lập ngữ cảnh bằng git để hoàn tác khi cần.
- Dùng Cache Explorer để xem tỉ lệ cache hit của prompt và mức dùng token. Cache tốt nghĩa là nhà cung cấp model tái dùng được phần đầu của yêu cầu (request) trước, giảm độ trễ và chi phí token.
Phản mẫu cần tránh
- Đổ ngữ cảnh: thông tin thừa, thiếu trọng tâm.
- Hướng dẫn mâu thuẫn: tài liệu không khớp kiến trúc và chuẩn code đã chọn.
- Bỏ qua kiểm chứng: mặc định AI đã hiểu đúng.
- Một cấu hình cho tất cả: thành viên hay giai đoạn khác nhau có thể cần ngữ cảnh khác nhau.
- Chuỗi agent quá phức tạp: sub-agent lồng sâu và gọi tool quá nhiều nhân lên mức dùng token và credit. Giữ chuỗi nông và chỉ cấp tool mỗi agent thật sự cần.
Đo lường và mở rộng
Thiết lập tốt cho thấy: ít phải sửa hoặc đổi hướng, code nhất quán với quy ước, hiện thực nhanh hơn, quyết định kiến trúc phù hợp mục tiêu dự án.
Khi mở rộng: nhóm chia sẻ thiết lập qua version control; dự án lớn có thể phân tầng ngữ cảnh toàn dự án, theo module, theo tính năng bằng instructions files; dự án dài hạn cần rà soát ngữ cảnh định kỳ; nhiều dự án thì tạo template dùng lại được.
Tài liệu liên quan
Nguồn
- Tóm tắt từ https://raw.githubusercontent.com/microsoft/vscode-docs/main/docs/agents/guides/context-engineering-guide.md, giấy phép CC-BY-3.0-US.