33 điểm bởi ashbyash 2025-08-04 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Vibe coding cần context engineering

1. Vibe Coding là gì?

  • Đây là cách AI tạo ra mã thực sự hoạt động chỉ từ các prompt ngôn ngữ tự nhiên.
  • Ngay cả khi không có kiến thức lập trình hay hiểu biết về kiến trúc, chỉ với lượng prompt tối thiểu vẫn có thể nhanh chóng có được “mã chạy được” để dùng ngay trong các việc như tạo prototype.
  • Ưu điểm: năng suất ban đầu cao, phản hồi nhanh, cách dùng trực quan.
  • Giới hạn:
    • Trong các dự án phức tạp, phát triển theo nhóm, hay môi trường triển khai dịch vụ thực tế, chỉ dựa vào “trực giác” là không thể kiểm soát được.
    • Càng về sau, technical debt (lỗi thiết kế, thiếu kiểm tra quyền hạn, đặt tên rối, độ khó quản lý, v.v.) càng tích lũy, khiến việc bảo trì và mở rộng trở nên rất mong manh.
      • (Nguyên văn: “Trực giác không mở rộng được, nhưng cấu trúc thì có thể.”)
  • Y Combinator trong “How To Get The Most Out Of Vibe Coding” cũng nhấn mạnh rằng “cần chuyển nguyên vẹn quy trình phát triển chuyên nghiệp sang cho LLM”.

2. Từ prompt engineering đến context engineering

  • Ở giai đoạn đầu, chỉ cần “viết prompt tốt” (Prompt Engineering) cũng mang lại hiệu quả nhất định, nhưng khi quy mô dự án và độ phức tạp công việc tăng lên, tầm quan trọng của việc “nhập/quản lý context” tăng vọt.
  • Context Failure: LLM đưa ra câu trả lời thiếu ngữ cảnh hoặc bỏ lỡ thông tin quan trọng → làm giảm năng suất và độ chính xác.
  • Stan Polu, nhà sáng lập Dust: “Điều kiện quan trọng nhất để AI hoàn thành tốt một nhiệm vụ = context phong phú và phù hợp.”
  • Context engineering là gì?
    • Đây là một chuỗi quy trình engineering nhằm quản lý thông tin một cách có hệ thống để AI/LLM có thể làm việc với đúng “ngữ cảnh”, đúng thời điểm, với thông tin chính xác cần thiết và ở hình thức phù hợp.
    • Nếu prompt engineering giống như một ghi chú một dòng, thì context engineering gần với việc xây dựng một hệ thống được trang bị đầy đủ tài liệu liên quan, quy tắc, ví dụ và chỉ dẫn.

3. 4 trục cốt lõi của context engineering

  1. Context Writing:
    • Ghi lại/sắp xếp (Write) thông tin theo đúng mục đích vào một “kho lưu trữ” nhất quán
  2. Context Retrieval:
    • Chọn và cung cấp chỉ những thông tin/ngữ cảnh phù hợp theo tiến độ công việc (Select/Retrieve)
  3. Context Compression:
    • Lược bỏ/tóm tắt thông tin không cần thiết để tối ưu lượng token sử dụng (Compress)
  4. Context Segmentation:
    • Tách context theo từng công việc/vai trò/quy trình chi tiết để quản lý hiệu quả (Segment)
  • Bốn trục này tạo thành nền tảng cho “lập trình dựa trên ngữ cảnh” với AI.

4. Ví dụ thực tiễn: OpenAI vs Claude Code

  • OpenAI:
    • Quản lý “context” xoay quanh đặc tả (specification) rõ ràng và tài liệu hóa.
    • Các tiêu chuẩn rõ ràng và đặc tả Markdown trở thành đầu ra chính cũng như chuẩn mực cộng tác.
    • Với “grader model” để kiểm chứng câu trả lời và deliberative alignment, có thể nội hóa quy tắc/chính sách gần như thành “trí nhớ cơ bắp của mô hình”.
    • (“Thời đại đặc tả trở thành mã”, “Specification-Driven Approach”)
  • Claude Code (Anthropic):
    • Sử dụng CLAUDE.md, Model Context Protocol, thư mục lệnh (.claude/commands), v.v. để quản lý context tự động.
    • Có thể dễ dàng gọi lại context chi tiết theo từng tác vụ lặp lại, hàm, hay dự án, đồng thời hỗ trợ làm việc song song bằng nhiều instance LLM khác nhau (multi-agent).
    • Điểm chính không nằm ở “tối ưu prompt”, mà ở việc tập trung vào “context curation”.

5. Mở rộng học thuật/lý thuyết (bài báo arXiv, 12-Factor Agents)

  • Bài báo arXiv “A Survey of Context Engineering for Large Language Models”
    • Định nghĩa context engineering không phải là thiết kế prompt đơn thuần mà là một lĩnh vực học thuật về tối ưu hóa thông tin/quản lý hệ thống theo hướng khoa học.
    • Các thành phần cốt lõi:
      • Truy xuất/tạo context (Retrieval/Generation),
      • Xử lý context (Processing: quản lý độ dài, tự tinh lọc, cấu trúc hóa, v.v.),
      • Quản lý context (Management: phân tầng bộ nhớ, nén, tối ưu tính toán, v.v.).
    • Các ví dụ triển khai tiêu biểu:
      • Retrieval-Augmented Generation (RAG),
      • Bộ nhớ dài hạn (memory system),
      • Tích hợp công cụ bên ngoài (Function Calling, v.v.),
      • Hệ thống multi-agent (hỗ trợ xử lý song song, v.v.).
  • HumanLayer ‘12 Factor Agents’
    • Diễn giải lại các nguyên tắc 12-factor của software engineering cho việc quản lý context AI, chẳng hạn như “Own Your Context Window”.

6. Bản chất của context engineering và triển vọng tương lai

  • Phát hiện về tính bất đối xứng của LLM:
    • Dù rất giỏi trong việc hiểu/xử lý “ngữ cảnh” phức tạp, LLM vẫn còn giới hạn ở khâu tạo ra thành phẩm cuối cùng với độ tinh vi cao.
    • Nói cách khác, “vibe coding” ngẫu hứng có thể hữu ích cho demo hay dự án ngắn hạn, nhưng trong phát triển lâu dài/quy mô lớn thì nguy cơ thất bại rất cao nếu không có quản lý có hệ thống (context engineering).
  • Giá trị cốt lõi:
    1. Giảm lỗi một cách có hệ thống
      (Systematic Error Reduction, giảm sai sót và sự thiếu chính xác một cách có hệ thống, lặp lại việc kiểm chứng/hiệu chỉnh theo tiêu chuẩn)
    2. Khả năng mở rộng và tính nhất quán
      (Scalability and Consistency, quy mô tăng lên mà chất lượng không suy giảm)
    3. Hệ thống tự sửa lỗi/kiểm chứng dựa trên AI
      (Self-Correcting Systems, vòng lặp validation tự động)
    4. Sự thay đổi vai trò của lập trình viên
      (tiến hóa từ người viết mã ngẫu hứng thành nhà thiết kế hệ thống/kiến trúc, tập trung vào tài liệu hóa và thiết kế chỉ dẫn có tầm nhìn dài hạn)
  • Kết luận:
    • Trong kỷ nguyên LLM, người thật sự làm chủ cộng tác dựa trên AI không phải là người biết viết “prompt hay”, mà là người biết thiết kế/curate “context hoàn hảo”.
    • Context engineering là chìa khóa để AI tiến hóa từ một công cụ sinh mã đơn thuần thành một “đối tác thiết kế phần mềm” thực sự dựa trên ngữ cảnh.

7. Điểm chính

  • Vibe coding dựa trên trực giác có giới hạn rất rõ ràng.
  • Nếu không có context engineering có hệ thống, việc tận dụng LLM sẽ bị giới hạn.
  • Năng lực đặc tả/tài liệu hóa/curation rõ ràng sẽ là kỹ năng bắt buộc của lập trình viên trong tương lai.
  • Trong thời đại AI, lập trình viên cần chuyển mình từ “người đặt câu hỏi để rút ra câu trả lời” (Prompt Engineer) thành “người điều phối thiết kế toàn bộ ngữ cảnh” (Context Engineer).

Chưa có bình luận nào.

Chưa có bình luận nào.