+3

Tạm Biệt Vibe Coding - Làm Chủ Context File Để Biến AI Agent Thành Senior Developer

Lời mở đầu: "AI của tôi không hiểu tôi!"

Chào anh em trên Viblo,

Chắc hẳn nhiều anh em ở đây đã và đang trải nghiệm cảm giác "vừa yêu vừa hận" với các AI Agent như Cursor, Claude Code hay GitHub Copilot... Giai đoạn đầu khi project khởi tạo, AI code cực mượt. Nhưng khi dự án phình to ra với hàng trăm file, kiến trúc phức tạp như Modular Monolith hay Microservices, AI bắt đầu... "ngáo".

Nó quên quy chuẩn đặt tên, nó dùng nhầm thư viện cũ, hoặc tệ nhất là nó phá vỡ cấu trúc Layer mà bạn đã dày công xây dựng. Bạn tốn cả tiếng đồng hồ để giải thích lại context trong khung Chat nhưng rồi đâu lại vào đấy. Đó chính là hệ lụy của Vibe Coding, code dựa trên cảm hứng và thiếu sự ràng buộc.

Vậy làm sao để AI "thông suốt" tư duy của bạn mà không cần nhắc lại mỗi ngày?

Câu trả lời nằm ở: Context File.


1. Context File bản chất là gì?

Về mặt kỹ thuật, Context File như .cursorrules, CLAUDE.md, hay .windsurfrules là một file văn bản định dạng Markdown nằm tại thư mục root của dự án.

Hãy tưởng tượng AI Agent giống như một lập trình viên junior cực kỳ thông minh.

Junior đó có thể:

  • code rất nhanh
  • hiểu logic tốt
  • học rất nhanh

Nhưng khi mới vào công ty, họ không biết gì về quy chuẩn của team.

Context File lúc này chính là cuốn sổ tay onboarding cho AI.

Hay nói cách khác:

Context File là "hiến pháp" mà AI phải đọc trước khi viết code.


AI sử dụng Context File như thế nào?

Khi bạn gửi một prompt cho AI, thực tế hệ thống sẽ kết hợp nhiều thành phần lại với nhau.

Công thức đơn giản:

Final_Prompt=System_Rules+Context_File+User_QueryFinal\_Prompt = System\_Rules + Context\_File + User\_Query

Quy trình hoạt động có thể mô tả như sau:

Nhờ vậy AI có thể:

  • hiểu kiến trúc project
  • tuân thủ coding conventions
  • generate code đúng style của team

2. Cấu trúc một Context File "Chuẩn Sách Giáo Khoa"

Để bài viết này có giá trị thực chiến, mình xin chia sẻ cấu trúc 4 tầng mà mình thường áp dụng cho các dự án .NET và Python:

Layer 1: Project Overview & Identity

Định nghĩa AI là ai và dự án này đang làm gì.

# Role
You are a Senior Fullstack Developer.
You follow Clean Code, SOLID and DRY principles.

# Project Context
Project: Smart Flashcard System
Tech Stack:
- ASP.NET Core
- PostgreSQL
- Redis

Architecture:
- Modular Monolith

Layer 2: Strict Coding Standards

Nơi bạn áp đặt "cái tôi" kỹ thuật để AI không code bừa bãi, layer này khá quan trọng.

# C# Guidelines

- Always use file-scoped namespaces
- Use Primary Constructors
- Use Result<T> pattern instead of throwing exceptions
- Use Fluent API for Entity Framework configuration

Layer 3: Definition of Done (DoD)

Yêu cầu AI tự kiểm soát chất lượng đầu ra.

# Definition of Done

- All code must include Unit Tests
- Update README if environment variables change
- Variable names must be meaningful

Layer 4: Scripts & Workflow

Giúp AI biết cách tự chạy lệnh để kiểm tra lỗi.

# Commands

Build:
dotnet build

Run:
dotnet run

Migration:
dotnet ef migrations add [Name]

3. Tại sao Context File là “Vũ khí Marketing” cho Workflow của bạn?

Nghe có vẻ lạ khi gọi Context File là một “vũ khí marketing” cho workflow của developer. Nhưng nếu nhìn kỹ hơn, nó thực sự giúp bạn bán tư duy kỹ thuật của mình cho AI.

Thay vì mỗi lần phải giải thích lại kiến trúc project, coding conventions hay cách vận hành hệ thống, Context File giúp bạn chuẩn hóa toàn bộ tư duy đó thành một bộ luật cố định.

Điều này mang lại một số lợi ích rất rõ ràng.


1. Consistency – Code luôn giữ cùng một phong cách

Một vấn đề lớn khi sử dụng AI để code là thiếu sự nhất quán.

Có lúc AI viết code theo style này, lúc khác lại theo style khác.

Nhưng khi có Context File, AI sẽ luôn tuân theo cùng một bộ quy tắc.

Điều này giúp đảm bảo:

  • Naming convention luôn giống nhau
  • Kiến trúc Layer không bị phá vỡ
  • Coding style được giữ ổn định

Dù bạn code lúc 2 giờ sáng hay 2 giờ chiều, AI vẫn sinh ra code theo đúng phong cách mà bạn đã định nghĩa.


2. Giảm đáng kể thời gian Code Review

Trong nhiều team, code review thường mất rất nhiều thời gian vì những lỗi cơ bản như:

  • đặt tên biến không đúng quy chuẩn
  • sử dụng sai pattern
  • code không đúng kiến trúc

Khi sử dụng Context File, AI đã được “huấn luyện” trước về những quy tắc này.

Kết quả là:

  • code sinh ra đã tuân thủ quy chuẩn
  • reviewer có thể tập trung vào business logic quan trọng

Điều này giúp giảm đáng kể thời gian review và tăng tốc độ phát triển sản phẩm.


3. Context File trở thành “Living Documentation”

Một lợi ích ít người để ý là Context File thực chất cũng là tài liệu kỹ thuật sống của dự án.

Chỉ cần đọc Context File, một developer mới có thể hiểu ngay:

  • project đang sử dụng công nghệ gì
  • kiến trúc hệ thống ra sao
  • coding conventions của team

Điều này giúp quá trình onboarding developer mới trở nên nhanh chóng hơn rất nhiều.

Context File lúc này không chỉ phục vụ AI, mà còn phục vụ cả con người trong team.


4. Pro-tips

Để Context File thực sự phát huy hiệu quả, bạn chỉ cần nhớ một vài nguyên tắc đơn giản sau:

  • Keep it Lean
    Đừng nhồi nhét hàng trăm dòng quy tắc vào Context File. Context quá dài sẽ làm AI bị loãng thông tin và giảm hiệu quả.
    Chỉ giữ lại những quy tắc kiến trúc và coding standards quan trọng nhất.

  • Cập nhật khi AI mắc lỗi
    Nếu bạn nhận thấy AI lặp lại một lỗi nào đó (ví dụ: dùng sai pattern hoặc phá vỡ kiến trúc), hãy bổ sung quy tắc tương ứng vào Context File ngay lập tức.

  • Sử dụng Markdown rõ ràng
    Tổ chức nội dung bằng các cấu trúc Markdown như #, ##, - để AI dễ dàng hiểu cấu trúc thông tin.

  • Ưu tiên rule dạng mệnh lệnh
    Các quy tắc nên ngắn gọn và trực tiếp. Ví dụ:

Use Result<T> pattern instead of throwing exceptions.
Controllers must call MediatR.
All database operations must be async.

Rule càng rõ ràng thì AI càng dễ tuân thủ.


Tổng kết

Việc sử dụng AI để code không khó, nhưng để AI code "thông minh" và "đúng ý" thì cần một tư duy hệ thống. Hy vọng qua bài viết này, anh em sẽ bắt tay vào xây dựng ngay một file .cursorrules hoặc CLAUDE.md cho riêng mình để thoát khỏi cơn ác mộng "Vibe Coding".

Anh em có đang dùng Context File nào hiệu quả không? Hãy chia sẻ template của mọi người dưới phần comment để chúng ta cùng thảo luận nhé!

AI không thay thế developer. Nhưng developer biết sử dụng AI hiệu quả sẽ thay thế developer không biết dùng AI.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí