Hồi kết của App Engineer: Tại sao 10 năm tới thuộc về những người xây dựng AI Agent
Chúng ta đang đứng trước một bước ngoặt lịch sử, tương tự như năm 1999 hay 2009. Kỷ nguyên của các ứng dụng tĩnh đang dần lùi vào dĩ vãng; thời đại của Autonomous Agent đã chính thức bắt đầu. Nếu không biết cách xây dựng một Agent có khả năng tự ra quyết định, bạn có thể sẽ bị tụt hậu nhanh hơn mình tưởng.

Lịch sử có một cách lặp lại khá thú vị, thường là ngay lúc chúng ta bắt đầu cảm thấy thoải mái nhất.
Hãy hình dung về những năm cuối thập niên 90. Nếu bạn biết cách "vật lộn" với HTML và thêm chút Perl hoặc PHP để tạo ra một trang web hoạt động được, bạn chẳng khác nào một phù thủy. Bạn là một Web Engineer, và cả thế giới nằm trong tay bạn. Bạn đang xây dựng những mặt tiền cửa hàng của internet.
Tua nhanh đến năm 2009. Chiếc iPhone vừa mới phá vỡ mọi quy chuẩn của thế giới. Đột nhiên, chẳng ai còn quan tâm nhiều đến trang web tĩnh của bạn nữa. Năng lượng chuyển dịch sang Objective-C và Java. Nếu bạn là một Mobile App Engineer, bạn đang viết nên tương lai. Bạn đang xây dựng những công cụ mà mọi người mang theo trong túi quần.
Bây giờ, hãy nhìn vào năm 2024. Bầu không khí dường như lại trở nên loãng và tĩnh lặng. Các kho ứng dụng (app store) đã bão hòa; web thì chật chội. Nhưng ẩn sâu bên dưới bề mặt, một sự dịch chuyển kiến tạo đang diễn ra. Chúng ta đang rời khỏi kỷ nguyên của Giao diện (Interface) và bước vào kỷ nguyên của Agent (Tác nhân AI).
Trong thập kỷ tới, chức danh giá trị nhất sẽ không phải là "Full Stack Developer" hay "iOS Engineer". Đó sẽ là AI Agent Engineer.
Sự Dịch Chuyển Kiến Tạo Mới
Đây không chỉ là một cuộc chiến framework khác hay một ngôn ngữ lập trình mới cần học. Đây là một sự thay đổi cơ bản về việc ai là người thực hiện công việc.
Trong hai mươi năm qua, kỹ thuật phần mềm là việc xây dựng những con đường rõ ràng, mang tính xác định (deterministic) để con người click vào. Bạn tạo ra một cái nút; con người click vào đó; mã lệnh thực thi một hàm. Con người là bộ não; phần mềm là cơ bắp.
Động lực đó đang đảo chiều.
Trong Kỷ nguyên Agent, phần mềm cung cấp bộ não. Công việc của bạn không còn là xây dựng cái nút để con người click nữa. Công việc của bạn là xây dựng một "nhân viên kỹ thuật số" có khả năng quyết định khi nào thì click cái nút đó, hoặc tốt hơn nữa, nhận ra rằng cái nút đó thậm chí chẳng cần thiết.
Tôi đã xây dựng sản phẩm hơn mười năm nay, và tôi có thể cảm nhận được mặt đất đang rung chuyển. Nếu bạn có thể viết một agent ngay hôm nay—một agent phục vụ bạn, tự động hóa quy trình làm việc của bạn, hoặc phục vụ khách hàng của bạn—bạn đang nắm trong tay đòn bẩy tương tự như cậu nhóc năm 1999 vừa học được cách đưa một doanh nghiệp lên mạng internet.
Nhưng đây là sự thật phũ phàng: Nếu bạn từ chối học điều này, nếu bạn cứ bám víu vào việc viết code thuần túy theo kiểu xác định (deterministic), bạn đang có nguy cơ trở thành phiên bản kỹ thuật số của một thợ sắp chữ trong thời đại in ấn máy tính.
Giải Mã Phép Màu: Công Cụ (Tools) và Ngữ Cảnh (Context)
Khi mọi người nghe đến "AI Agent", họ tưởng tượng ra Skynet hoặc một kiến trúc mạng nơ-ron phức tạp đến mức không thể hiểu nổi. Hãy dẹp bỏ những ồn ào đó đi.
Xây dựng một agent không phải là phép thuật. Đó là kỹ thuật (engineering). Và nó quy về hai thứ: Tools (Công cụ) và Context (Ngữ cảnh).
Tôi thấy hầu hết các developer đều phức tạp hóa vấn đề này. Họ nghĩ họ cần phải train (huấn luyện) các mô hình. Bạn không cần làm thế. Các mô hình—Claude, GPT-4, Llama—đã đủ thông minh rồi. Việc của bạn là trao cho chúng đôi tay và một bộ nhớ.
1. Tools (Trao cho Mô hình Đôi tay)
Một Mô hình Ngôn ngữ Lớn (LLM) chỉ là một bộ não trong lồng kính. Nó có thể suy nghĩ, nhưng nó không thể chạm vào thế giới. Một "Agent" đơn giản là một LLM được cấp quyền truy cập vào các API endpoint hoặc các lệnh CLI.
Bạn nói với mô hình: "Đây là một công cụ tên là list_files. Đây là công cụ read_file. Đây là công cụ send_email."
2. Context (Trao cho Mô hình Sự định hướng)
Sau đó bạn định nghĩa vai trò. "Bạn là một kỹ sư QA cấp cao (senior). Mục tiêu của bạn là sửa các lỗi type trong repository này."
Chỉ vậy thôi. Đó là vòng lặp cốt lõi.
Nếu bạn đã sử dụng Cursor hay Claude Code, bạn đã thấy điều này trong thực tế. Bạn không quản lý vi mô từng chỉnh sửa. Bạn nói, "Sửa lỗi type trong utils.ts."
Agent sẽ suy nghĩ: Ok, tôi cần xem file đó trước. Nó quyết định sử dụng công cụ ls. Sau đó nó quyết định dùng grep hoặc read. Nó phát hiện ra lỗi. Nó quyết định viết bản vá lỗi. Nó chạy trình biên dịch để kiểm tra lại công việc của mình.
Đây chính là bước đột phá. Nó không còn chỉ là "chat" nữa. Nó là một vòng lặp ra quyết định. Mô hình đang lựa chọn công cụ nào để sử dụng nhằm giải quyết vấn đề bạn đưa ra.

Từ Chatbot đến Cỗ Máy Ra Quyết Định (Decision Engines)
Trong hai năm qua, chúng ta bị mắc kẹt ở giai đoạn "Chat". Chúng ta đối xử với AI như một thủ thư thông minh—chúng ta hỏi một câu, nó đưa ra câu trả lời.
Giai đoạn đó đang kết thúc.
Giai đoạn Agent là về sự thực thi (execution). Đó là việc nhìn vào giao diện dòng lệnh (CLI) không phải như một nơi để bạn gõ phím, mà là một sân chơi cho mô hình.
Hãy nghĩ về những tác động đối với các startup. Trước đây, nếu tôi muốn xây dựng một dịch vụ xử lý hoàn tiền cho khách hàng, tôi cần xây dựng UI, backend, database, và thuê một đội ngũ hỗ trợ (support team) để click vào các nút bấm.
Hôm nay, tôi có thể viết một agent. Tôi cấp cho nó quyền truy cập vào Stripe API (Tool) và lịch sử email của chúng tôi (Context). Tôi đưa ra một chính sách: "Hoàn tiền nếu người dùng không hài lòng trong vòng 7 ngày." Agent đọc email đến, quyết định xem nó có đáp ứng tiêu chí hay không, kích hoạt tool hoàn tiền của Stripe, và soạn thảo thư trả lời.
Không cần UI. Không cần hàng đợi ticket hỗ trợ. Chỉ cần một mục tiêu và một bộ công cụ.
Giai đoạn "Hỗn độn" của việc Xây dựng Agent
Tôi không muốn vẽ ra một viễn cảnh hoàn hảo ở đây. Tôi đã dành sáu tháng qua lăn lộn dưới chiến hào của việc xây dựng agent, và thú thật với bạn: nó rất hỗn độn.
Coding truyền thống mang tính logic. If X then Y. Nó chạy hoặc nó lỗi.
Kỹ thuật Agent mang tính xác suất (probabilistic). Bạn xây dựng agent, bạn đưa cho nó công cụ, và đôi khi nó quyết định dùng búa để... mở cửa sổ. Đôi khi nó "ảo giác" (hallucinate) ra một tham số không hề tồn tại.
Đây chính là nơi bộ kỹ năng mới nằm ở đó.
Trở thành một Agent Engineer không chỉ là viết các script Python. Đó là về:
- Prompt Engineering như là Kiến trúc hệ thống: Thiết kế các system prompt để ràng buộc hành vi của mô hình.
- Eval Driven Development (Phát triển dựa trên Đánh giá): Bạn không thể viết unit test cho sự sáng tạo, vì vậy bạn xây dựng các quy trình đánh giá (evaluation pipelines) để đo lường tần suất agent thành công trong một tác vụ.
- Thiết kế Tool: Tạo ra các giao diện API đủ "sạch" để mô hình hiểu được mà không bị bối rối.
Tôi đã thấy các agent bị kẹt trong vòng lặp vô tận khi cố gắng sửa một lỗi do chính nó tạo ra. Tôi đã thấy chúng tự tin xóa nhầm file. Đây là thực tế. Nhưng giải quyết những điểm ma sát này chính xác là nơi giá trị được tạo ra.
Bài học Thực tế: Bắt đầu như thế nào ngay hôm nay
Nếu tôi bắt đầu lại từ con số 0 vào hôm nay, hoặc đang tìm cách chuyển hướng sự nghiệp, đây chính xác là những gì tôi sẽ làm:
- Ngừng xây dựng GUI: Ít nhất là cho các dự án phụ (side projects) của bạn. Hãy thử giải quyết một vấn đề mà không cần frontend. Bạn có thể giải quyết nó chỉ với CLI và một LLM không?
- Học Giao thức Giao diện (Interface Protocol): Hiểu cách hoạt động của function calling trong OpenAI hay tool use trong Anthropic. Đây chính là TCP/IP của kỷ nguyên agent.
- Xây dựng kẻ "Hành động" thay vì kẻ "Nói suông": Đừng xây dựng một con bot chỉ trả lời câu hỏi về lịch trình của bạn. Hãy xây dựng một con bot quản lý lịch trình của bạn. Cấp cho nó khả năng xóa sự kiện. Hãy cảm nhận nỗi sợ khi trao quyền ghi (write access) cho AI. Đó là lúc bạn thực sự bắt đầu học.
- Làm chủ Quản lý Ngữ cảnh (Context Management): Học cách nhồi nhét thông tin phù hợp vào cửa sổ ngữ cảnh (context window) mà không làm nó bị tràn. RAG (Retrieval-Augmented Generation) mới chỉ là sự khởi đầu.
Cơ Hội Phía Trước
Chúng ta đang nhìn vào một tương lai nơi một lập trình viên đơn lẻ, được trang bị một đội quân các agent chuyên biệt, có thể làm công việc của một startup 20 người.
Rào cản gia nhập đối với việc tạo ra (creation) đang giảm xuống bằng không. Nhưng rào cản gia nhập đối với việc điều phối (orchestration)—để hiểu cách kết nối những bộ não này lại với nhau—đang trở thành hào lũy phòng thủ (moat) mới.
Mười năm trước, bạn được thuê để viết code. Hôm nay, bạn được thuê để kiến trúc hệ thống viết ra code.
Con tàu đang rời bến. Bạn có thể đứng trên sân ga ôm chặt lấy những framework cũ kỹ của mình, hoặc bạn có thể nhảy lên và giúp xây dựng những đường ray mới.
Cùng xây dựng nào.
Chia sẻ

Feng Liu
shenjian8628@gmail.com