Từ Vibe Coding đến Kỹ thuật Đại diện (Agentic Engineering): Xây dựng hệ thống sản xuất với AI Agents

@carlsue
TIẾNG ANH1 tháng trước · 07 thg 6, 2026
792K
42
4
2
57

TL;DR

Khái niệm kỹ thuật đại diện của Andrej Karpathy cung cấp một quy trình làm việc có cấu trúc để sử dụng AI agents trong môi trường sản xuất, nhấn mạnh vào hệ thống phân cấp thiết kế và trách nhiệm giải trình của con người thay vì lập trình không chính thức.

Vào tháng 2 năm 2025, Andrej Karpathy đã mô tả "vibe coding" là việc mô tả ý định bằng ngôn ngữ tự nhiên, chấp nhận các thay đổi của LLM mà không cần xem xét kỹ lưỡng, và để code phát triển vượt quá khả năng hiểu biết thông thường của bạn. Phương pháp này mang lại tốc độ ấn tượng cho các dự án cá nhân và nguyên mẫu.

Một năm sau, ông nhận thấy khả năng của các agent đã tiến bộ và đề xuất "agentic engineering" (kỹ thuật agent) làm tên gọi ưa thích cho phương pháp phát triển mới: điều phối các agent trong khi vẫn duy trì sự giám sát chặt chẽ của con người đối với kiến trúc và quy trình. Mục tiêu, như ông định nghĩa, là tận dụng sức mạnh của các agent mà không làm ảnh hưởng đến chất lượng phần mềm.

Sự khác biệt này rất quan trọng. Vibe coding hoạt động tốt cho một người dùng duy nhất trong các công việc cá nhân ít rủi ro, nhưng nhanh chóng tích tụ nợ kỹ thuật, lỗ hổng bảo mật và vấn đề bảo trì ngay khi có người khác phụ thuộc vào kết quả đó. Agentic engineering giữ lại tốc độ và sức mạnh của các agent hiện đại, nhưng neo mọi thứ vào cấu trúc rõ ràng, các tạo phẩm có thể truy vết và trách nhiệm giải trình của con người.

Quy trình Agentic Engineering

Hãy bắt đầu với một ý định sơ bộ và tiến hành các cuộc trò chuyện thiết kế với AI trong khi ghi lại chức năng thành các ghi chú cuộc họp thiết kế, mô tả chức năng đó thành các phần thành phần của nó. Khi thiết kế đã vững chắc, hãy nắm bắt tầm nhìn tổng quan và bản đồ thành phần trong một hệ thống phân cấp thiết kế (đây là thứ mọi người thể hiện khi họ đưa ra một "bộ não" Obsidian) - một cấu trúc có thể điều hướng cung cấp cho cả bạn và agent khả năng truy cập nhanh vào bối cảnh xung quanh, các quyết định liên quan và các phụ thuộc. Đây cũng là nơi chứa các sơ đồ thiết kế, chẳng hạn như UML (ngôn ngữ mô hình hóa phổ quát), luồng code hoặc tương tác người dùng, cùng với các liên kết đến hồ sơ quyết định kiến trúc (ADR) khi chúng làm rõ cách các thành phần liên quan với nhau.

Đối với mỗi module hoặc khối chức năng nhỏ nhất, hãy tạo một tệp spec.md tập trung trong LLD xác định hành vi chính xác, chữ ký hàm, các trường hợp ngoại lệ, kỳ vọng kiểm thử và các điểm tích hợp. Sử dụng toàn bộ cấu trúc này như một prompt bối cảnh thiết kế để yêu cầu AI xây dựng một hệ thống phân cấp theo kiểu ticket có khả năng truy vết trực tiếp trở lại các trang wiki và các spec. Triển khai từng ticket một với agent tuân theo spec.md có liên quan như một hợp đồng. Sau đó, bạn chạy các cổng xác minh, triển khai, quan sát và cập nhật các tạo phẩm sống động khi các yêu cầu phát triển.

Carl Sue - inline image

Ví dụ Thực tế: Trình Xác minh Sao lưu Hàng ngày

Hãy xem xét một công cụ CLI nhỏ, dùng trong sản xuất để xác minh các bản sao lưu S3 hàng ngày và gửi cảnh báo Slack khi có lỗi.

Bắt đầu với mục tiêu sơ bộ: "Tôi cần một thứ gì đó đáng tin cậy để kiểm tra các bản sao lưu của tôi có ổn định mỗi ngày." Sau đó, tiến hành các cuộc trò chuyện về kiến trúc với AI để làm rõ các yêu cầu và trường hợp ngoại lệ:

  • Các chế độ lỗi thực tế cho các bản sao lưu S3 là gì?
  • Chúng ta nên xác minh chính xác những gì (tuổi, số lượng tệp, kích thước, tỷ lệ thành công) và ngưỡng nào là hợp lý?
  • Nên xử lý cấu hình và bí mật như thế nào trong quá trình phát triển cục bộ và các vai trò IAM sản xuất?
  • Các lệnh CLI và định dạng đầu ra nào sẽ hữu ích hàng ngày?
  • Các yêu cầu phi chức năng nào là quan trọng nhất đối với một công cụ hàng ngày được lên lịch?

Các cuộc trò chuyện này làm rõ phạm vi và giúp phân tách công cụ thành các thành phần cốt lõi của nó: tìm nạp siêu dữ liệu S3 với logic thử lại, công cụ quy tắc xác minh, hệ thống thông báo, trình tải cấu hình, giao diện CLI, ghi nhật ký có cấu trúc và xử lý lỗi.

Khi thiết kế đã rõ ràng, bạn ghi lại tầm nhìn tổng quan và bản đồ thành phần trong wiki hệ thống phân cấp thiết kế, nơi mọi trang đều có phiên bản và có thể liên kết.

Carl Sue - inline image

Wiki cung cấp cho người đọc trong tương lai bối cảnh xung quanh mà một tài liệu phẳng không thể cung cấp. Là một phần của cùng công việc thiết kế, bạn tạo một spec.md tập trung ở cấp độ sub-LLD cho mỗi module. Đây là hợp đồng cho trình tìm nạp siêu dữ liệu S3.

Carl Sue - inline image

Spec.md này là hợp đồng bạn trao cho agent, ví dụ: "Triển khai chính xác theo spec.md trong thư mục s3_client/, tuân theo các tiêu chuẩn dự án và bao gồm các bài kiểm tra toàn diện." Với wiki và các spec module đã sẵn sàng, bạn yêu cầu AI tạo ra hệ thống phân cấp ticket trực tiếp từ chúng. Mỗi mục đều truy vết trở lại một yêu cầu chức năng và spec xác định hợp đồng của nó.

Carl Sue - inline image

Việc triển khai sau đó tiến hành theo từng ticket, mỗi ticket được trao cho agent cùng với spec.md phù hợp của nó như một hợp đồng. Đây là kết quả thực tế: một lần chạy theo lịch phát hiện một bộ sao lưu ngắn và kích hoạt cảnh báo.

Carl Sue - inline image

Lần chạy thoát ra với mã khác không để cron job nhận biết và kích hoạt cảnh báo hiển thị trong Slack.

Carl Sue - inline image

Cảnh báo mang theo ngữ cảnh quy tắc mà một kỹ sư trực ca cần để hành động: kiểm tra nào thất bại, những gì được tìm thấy, những gì được mong đợi và bộ sao lưu nào.

Lợi ích của Phương pháp Phân tầng này

  • Các agent xử lý khối lượng triển khai trong khi con người chịu trách nhiệm về kiến trúc và chất lượng ở mọi tầng.
  • Wiki cung cấp khả năng khám phá và các quyết định ở cấp độ dự án, trong khi các tệp spec.md cung cấp các hợp đồng chính xác ở cấp độ module mà không làm phình to thiết kế cấp cao.
  • Các yêu cầu và quyết định chảy trực tiếp từ các trang wiki và spec vào ticket và code.
  • Các thay đổi bắt đầu từ các tạo phẩm thiết kế sống động thay vì phải reverse-engineer codebase.
  • Sự phân tách mối quan tâm rõ ràng hỗ trợ công việc song song, onboarding và kiểm toán.
  • Các chuyên gia hình chữ T (T-shaped professionals) điều hướng với kiến thức rộng và đặt câu hỏi chính xác, và agent cung cấp chiều sâu theo yêu cầu mà không buộc ai phải ghi nhớ toàn bộ hệ thống trong đầu.

Vibe coding vẫn là một phương thức tuyệt vời cho việc khám phá và tạo nguyên mẫu cá nhân nhanh chóng. Agentic engineering là cách bạn điều khiển cùng sức mạnh trò chuyện đó vào các hệ thống mà người khác có thể tin tưởng và bảo trì.

Vai trò của Chuyên gia Hình chữ T

Quy trình này đặc biệt mạnh mẽ đối với các chuyên gia hình chữ T: các kỹ sư duy trì kiến thức rộng trên toàn bộ không gian ứng dụng với khả năng đi sâu khi cần thiết.

Bởi vì bạn không cần phải nắm giữ một mô hình tinh thần hoàn chỉnh, cập nhật từng phút về cách toàn bộ ứng dụng hoạt động tại bất kỳ thời điểm nào. Agent có thể mang chiều sâu đó và giải thích lại bất kỳ phần nào theo yêu cầu, miễn là nó có đúng bối cảnh từ wiki, các tệp spec.md và lịch sử trò chuyện.

Điều bạn thực sự cần là khả năng biết nên tìm kiếm điều gì và tìm ở đâu, cùng với kỷ luật tiếp tục đặt các câu hỏi chính xác cho đến khi bạn hiểu được mục cụ thể đang làm việc. Phần rộng của chữ T cung cấp cho bạn bản đồ của hệ thống; agent AI hỗ trợ các kỹ năng cần thiết để khoan sâu vào module, trường hợp ngoại lệ hoặc điểm tích hợp chính xác có liên quan ngay lúc đó. Agent cung cấp chi tiết đầy đủ bất cứ khi nào bạn yêu cầu.

Điều này chuyển đổi vai trò của con người từ "Tôi phải hiểu mọi thứ mọi lúc" thành "Tôi biết cách điều hướng, đặt câu hỏi và xác nhận ở độ cao phù hợp." Đó chính là kỹ năng thực sự của agentic engineering.

Lưu một chạm

Đọc sâu bài viết viral bằng AI trong YouMind

Lưu nguồn, đặt câu hỏi tập trung, tóm tắt lập luận và biến một bài viết viral thành các ghi chú có thể tái sử dụng trong một không gian làm việc AI duy nhất.

Khám phá YouMind
Dành cho nhà sáng tạo

Biến Markdown của bạn thành bài viết 𝕏 gọn gàng

Khi bạn đăng bài viết dài của riêng mình, việc định dạng hình ảnh, bảng và khối mã cho 𝕏 rất mệt mỏi. YouMind biến cả bản nháp Markdown thành một bài viết 𝕏 gọn gàng, sẵn sàng để đăng.

Thử Markdown sang 𝕏

Thêm pattern để giải mã

Bài viết viral gần đây

Khám phá thêm bài viết viral