Cơ sở hạ tầng đại lý và chương trình phụ trợ mới
· 15 min read · Filippo Spinella · AI, Agents, Infrastructure, Developer Tools
Chúng ta thường nói về các khuôn khổ tác nhân. LangGraph, CrewAI, AutoGen, nhiều SDK khác nhau, vòng lặp, gọi công cụ, bộ nhớ, người lập kế hoạch, nhà phê bình, người giám sát. Tất cả những lời hữu ích, vì Chúa. Nhưng càng xem xét các tác nhân thực sự được sử dụng, tôi càng thấy phần thú vị đã di chuyển xuống dưới cấp độ khuôn khổ.
Câu hỏi không còn chỉ là: tôi sử dụng thư viện nào để tạo mô hình bước?
Câu hỏi thực sự là: người đại diện này sống ở đâu khi anh ta ngừng làm bản demo?
Bởi vì một tác nhân nghiêm túc không phải là một hàm gọi mô hình và trả về văn bản. Đó là một hệ thống phân phối nhỏ. Nó phải đọc ngữ cảnh, sử dụng công cụ, thực thi mã, chạm vào tệp, ghi nhớ các quyết định, xin phép, thất bại tốt, khởi động lại, để lại nhật ký, không đốt ngân sách và không biến thành một chiếc máy ủi bên trong kho sản xuất.
Khung là vô lăng. Cơ sở hạ tầng là đường, phanh, gara, bảo hiểm và người biết chìa khóa ở đâu.
Bởi vì bây giờ có rất nhiều người nói về nó
Vào năm 2023 và 2024, cuộc trò chuyện lấy mô hình làm trung tâm. LLM nào? Bao nhiêu bối cảnh? Nó có giá bao nhiêu? Anh ấy giỏi lập trình đến mức nào?
Vào năm 2025 và 2026, cuộc trò chuyện đã thay đổi. Các mô hình đủ tốt để thực hiện công việc thực tế, nhưng đó là lý do tại sao những phần nhàm chán lại lộ rõ: thời gian chạy, bảo mật, trình kết nối, nhận dạng, khả năng quan sát, thực thi mã, triển khai, khôi phục.
Đó là sự chuyển đổi tự nhiên từ phép thuật sang kỹ thuật.
Khi tổng đài viên chỉ cần tạo phản hồi thì chỉ cần trò chuyện là đủ. Khi bạn cần mở một yêu cầu kéo, truy vấn cơ sở dữ liệu, gọi CRM, bắt đầu công việc, điều hướng trang web, đọc Slack, biên dịch mã và cập nhật tài liệu, bạn cần có hệ điều hành xung quanh nó.
Không phải theo nghĩa đen. Theo nghĩa tổ chức.
Phần đầu tiên: thời gian chạy mà tác nhân có thể tồn tại
Một tác nhân thường làm việc theo từng bước. Nhìn vào trạng thái, chọn hành động, sử dụng công cụ, quan sát kết quả, cập nhật kế hoạch, lặp lại.
Nếu vòng lặp này tồn tại bên trong một yêu cầu HTTP thì bạn sẽ gặp sự cố ngay lập tức. Một số hành động chậm. Một số đang chờ đợi sự đầu vào của con người. Một số thất bại và phải được thử lại. Một số phải tồn tại sau khi triển khai hoặc hết thời gian chờ.
Đây là nơi phát huy tác dụng của các quy trình làm việc bền vững, hàng đợi, nền tảng công việc và máy trạng thái. Chúng không hào nhoáng, nhưng chúng là sự khác biệt giữa một đại lý có vẻ thông minh trong bản demo và một đại lý mà bạn có thể nghỉ việc trong khi đi uống cà phê.
Đối với tôi thời gian chạy tác nhân phải trả lời những câu hỏi rất cụ thể:
- tôi lưu trạng thái giữa bước này và bước khác ở đâu?
- điều gì xảy ra nếu quá trình chết giữa chừng?
- tôi có thể tạm dừng và xin phê duyệt được không?
- Tôi có thể xem lại một lượt chạy để hiểu tại sao anh ấy lại đưa ra lựa chọn đó không?
- tôi có thể giới hạn thời lượng, bộ nhớ, công cụ và chi phí không?
Vercel đang nỗ lực hết mình trên mặt trận này với SDK AI, các chức năng, quy trình công việc và công cụ để xây dựng các tác nhân trong các ứng dụng web. Nhưng vấn đề không chỉ ở Vercel. Vấn đề là tác nhân cần một nơi hoạt động chứ không phải một điểm cuối duy nhất.
Miếng thứ hai: hộp cát, vì tác nhân phải có khả năng bị bẩn mà không bị vỡ
Ngay khi một tác nhân viết mã hoặc thực thi các lệnh, cần có hộp cát.
Nó có vẻ giống như một từ kỹ thuật, nhưng ý tưởng lại mang tính gia đình: bạn đưa cho anh ta một chiếc bàn làm việc. Nó có thể mở tệp, cài đặt phần phụ thuộc, chạy thử nghiệm, thực hiện thử nghiệm, tạo đầu ra. Nếu anh ta làm sai, bạn đã hạn chế được thiệt hại. Nếu nó hoạt động, hãy thúc đẩy kết quả.
Một hộp cát tác nhân nên có một số thuộc tính:
- hệ thống tập tin bị cô lập;
- CPU, memory and time limits;
- mạng được kiểm soát;
- bí mật chỉ được gắn khi cần thiết;
- nhật ký đầy đủ;
- khả năng xuất khẩu hiện vật;
- thiết lập lại sạch giữa các lần chạy, khi cần thiết.
Vercel Sandbox đi chính xác theo hướng này: các môi trường biệt lập để chạy mã, cài đặt các phần phụ thuộc, làm việc với các tệp và tạo ra các tạo phẩm mà không cần chạy mọi thứ trong thời gian chạy ứng dụng chính.
Điều này quan trọng hơn nó có vẻ. Nhiều nguyên mẫu tác tử chuyển trực tiếp từ mô hình sang hệ thống thực. Mô hình có thể gọi tool. Công cụ có thể làm được mọi việc. Tất cả đều có vẻ tao nhã cho đến khi lệnh sai đầu tiên, phần phụ thuộc đầu tiên được cài đặt sai vị trí, mã thông báo đầu tiên xuất hiện trong nhật ký.
The sandbox is the adult way of saying: go ahead, but in here.
Phần thứ ba: MCP và vấn đề về đầu nối
Giao thức bối cảnh mô hình đã trở thành một trong những phần thú vị nhất của hệ sinh thái vì nó cố gắng tiêu chuẩn hóa một thứ mà nếu không sẽ nhanh chóng trở nên không thể quản lý được: cách một mô hình khám phá và sử dụng các công cụ bên ngoài.
Không có tiêu chuẩn, mỗi sự tích hợp là một hòn đảo nhỏ. Một trình kết nối cho GitHub được thực hiện theo một cách, một cho Slack thực hiện một cách khác, một cho các cơ sở dữ liệu có ngữ nghĩa khác nhau, một cho tự động hóa trình duyệt trông như không có gì.
MCP đề xuất một ngôn ngữ chung giữa máy khách và máy chủ: công cụ, tài nguyên, lời nhắc, ủy quyền, vận chuyển, khám phá. Nó không giải quyết được vấn đề quản trị và bảo mật một cách kỳ diệu nhưng nó cung cấp ngữ pháp.
Và vấn đề ngữ pháp. Khi một tác nhân có thể kết nối với nhiều công cụ, câu hỏi không chỉ là “anh ta có làm được không?”. Vấn đề là “anh ta có hiểu mình có thể làm gì, với giới hạn nào, thay mặt ai và để lại dấu vết gì?”.
Đối với tôi MCP không phải là cường điệu vì nó "gọi công cụ". Chúng tôi đã làm điều đó rồi. Đó là sự cường điệu vì nó chuyển trọng tâm từ tích hợp đơn lẻ sang danh mục công cụ vận hành.
Trong một kiến trúc tác nhân tốt, MCP trở thành một loại bảng vá lỗi:
- GitHub về mã và các vấn đề;
- Slack cho bối cảnh đàm thoại;
- Tuyến tính hoặc Jira cho công việc theo kế hoạch;
- cơ sở dữ liệu chỉ đọc để phân tích;
- trình duyệt hoặc trình quét được kiểm soát đối với các trang web bên ngoài;
- lưu trữ tài liệu;
- môi trường thực thi bị cô lập;
- hệ thống nội bộ được tiếp xúc với các quyền nghiêm ngặt.
Phần khó khăn là danh mục công cụ không có chính sách chỉ là một cách tao nhã hơn để tạo ra sự hỗn loạn.
Phần thứ tư: danh tính và quyền
Đây là lĩnh vực mà nhiều bản demo nhắm mắt làm ngơ.
Một đại lý hành động thay mặt ai đó. Vì vậy phải làm rõ chủ thể của hành động là ai.
Có phải nó đang sử dụng quyền của người dùng? Của một tài khoản dịch vụ? Của một không gian làm việc? Bạn có quyền truy cập tạm thời hoặc vĩnh viễn? Bạn có thể đọc mọi thứ hay chỉ một số tài liệu? Bạn có thể viết được không? Bạn có thể hủy được không? Anh ấy có thể nhắn tin cho người thật không?
Nếu không trả lời tốt những câu hỏi này, sớm hay muộn bạn sẽ tạo ra một trợ lý có chìa khóa nhà và không còn nhớ ai đã đưa chúng cho mình.
Nguyên tắc chung mà tôi thích là: người đại diện phải có khả năng làm ít hơn con người, không được nhiều hơn con người. Và khi anh ta phải làm điều gì đó mạo hiểm hơn, anh ta phải dừng lại và hỏi.
Điều này có nghĩa là OAuth, phạm vi mã thông báo, quản lý bí mật, nhật ký kiểm tra, chính sách công cụ, danh sách cho phép, bước phê duyệt. Không phải thứ gì lãng mạn lắm đâu. Những thứ cần thiết.
Phần thứ năm: bộ nhớ và bối cảnh, nhưng không tích lũy rác
Tác nhân cần trí nhớ, nhưng trí nhớ rất nguy hiểm khi nó trở thành gác mái.
Có ít nhất ba loại bộ nhớ:
- chạy bộ nhớ: điều gì đã xảy ra trong quá trình thực thi này;
- bộ nhớ dự án: quy ước, quyết định, ràng buộc;
- trí nhớ cá nhân hoặc nhóm: sở thích, giọng điệu, nghi thức, quy trình.
Đưa mọi thứ vào dấu nhắc là phím tắt. Nó hoạt động cho đến khi nó không hoạt động nữa. Bộ nhớ hữu ích phải được quan tâm: lập chỉ mục, cập nhật, hết hạn, xác minh, có thể trích dẫn.
Một đặc vụ nhớ kém còn tệ hơn một đặc vụ không nhớ. Bởi vì anh ấy nói chuyện với sự tự tin.
Do đó, cơ sở hạ tầng phải bao gồm việc truy xuất, các tệp hướng dẫn, cơ sở tri thức, nhúng khi cần thiết và cả việc dọn dẹp. Chúng ta cần một nền văn hóa ký ức: cái gì được đưa vào, ai phê duyệt, khi nó hư hỏng, tôi làm cách nào để sửa chữa nó.
Phần thứ sáu: khả năng quan sát, đánh giá và phát lại
Nếu tác nhân mắc lỗi thì nhật ký “được gọi là mô hình” là không đủ.
Bạn muốn xem lộ trình. Anh ấy đã nhận được bối cảnh gì? Những công cụ nào đã có sẵn? Bạn đã chọn công cụ nào? Với lý lẽ gì? Bạn đã nhận được phản hồi gì? Nó có giá bao nhiêu? Nó bị kẹt ở đâu? Con người có chấp nhận điều gì không? Là lỗi mô hình, công cụ, lời nhắc, dữ liệu hoặc quyền?
Ở đây, các tác nhân giống hệ thống phân tán hơn là chatbot.
Bạn cần dấu vết có thể đọc được, không chỉ nhật ký văn bản. Bạn cần có khả năng phát lại một lần chạy. Cần phải so sánh hai phiên bản của cùng một tác nhân đối với các nhiệm vụ đã biết. Chúng ta cần đo lường các hồi quy: nó không chỉ "trả lời tốt hơn" mà còn "đóng đúng yêu cầu mà không chạm vào các tệp không được yêu cầu".
Đánh giá tác nhân khó hơn đánh giá văn bản vì chúng bao gồm các hành động. Nó không đủ để so sánh một chuỗi dự kiến. Bạn phải xem xét trình tự, tác dụng phụ, chất lượng của vật phẩm, thời gian, chi phí, số lần can thiệp của con người.
Điều buồn cười là chúng tôi luôn quay lại đó: công nghệ phần mềm. Kiểm tra, môi trường, dấu vết, khôi phục. Ngoại trừ việc mã bây giờ cũng quyết định phải làm gì tiếp theo.
Phần thứ bảy: giao diện con người
Nhân viên hỗ trợ không nhất thiết phải chỉ sống trong một cuộc trò chuyện.
Một số đại lý cần một bảng. Những trang khác có trạng thái và nhật ký. Những người khác có nút "phê duyệt". Thêm ý kiến nội tuyến. Vẫn còn những cái khác của CLI.
Giao diện người dùng thay đổi hành vi. Nếu cách duy nhất để kiểm soát tác nhân là viết một tin nhắn dài, người dùng sẽ đưa ra những hướng dẫn mơ hồ cho tác nhân. Tuy nhiên, nếu anh ta nhìn thấy kế hoạch, sự khác biệt, nguồn gốc, rủi ro và hành động tiếp theo, anh ta có thể can thiệp một cách chính xác.
Cơ sở hạ tầng đại lý tốt bao gồm các bề mặt điều khiển:
- tình trạng hiện tại;
- kế hoạch có thể chỉnh sửa;
- đồ tạo tác được sản xuất;
- khác biệt;
- yêu cầu phê duyệt;
- niên đại;
- nút dừng;
- nút thử lại;
- quyền hiển thị.
Nó có vẻ tầm thường, nhưng không phải vậy. Sự khác biệt giữa "AI đáng sợ" và "trợ lý đáng tin cậy" thường chỉ là cái sau cho bạn biết nó có bàn tay ở đâu.
Ngăn xếp tinh thần
Nếu tôi vẽ nó hôm nay, số tác nhân tối thiểu sẽ là thế này:
- Mô hình: lý luận, tạo, gọi công cụ, đa phương thức nếu cần thiết.
- Điều phối: vòng lặp, bước, người lập kế hoạch, chính sách, con người trong vòng lặp.
- Thời gian chạy bền: quy trình làm việc, xếp hàng, thử lại, tạm dừng, tiếp tục.
- Sandbox: thực thi mã, hệ thống tệp bị cô lập, các hạn chế, tạo phẩm.
- Lớp công cụ: MCP, API nội bộ, trình duyệt, cơ sở dữ liệu, kho lưu trữ.
- Lớp nhận dạng: OAuth, phạm vi, bí mật, kiểm toán, chính sách.
- Lớp bộ nhớ: bối cảnh dự án, truy xuất, hướng dẫn, hết hạn.
- Khả năng quan sát: các số liệu theo dõi, phát lại, đánh giá, chi phí và chất lượng.
- Bề mặt sản phẩm: trò chuyện khi đủ, bảng điều khiển khi cần, xem lại khi cần thiết.
Khung tác vụ chủ yếu bao gồm điểm 2 và một phần điểm 1. Phần còn lại là công việc thực tế.
Những gì tôi sẽ làm trong thực tế
Nếu một nhóm nói với tôi “chúng tôi muốn sản xuất đại lý”, tôi sẽ không bắt đầu với mười đại lý.
Tôi sẽ bắt đầu với một quy trình làm việc nhỏ, lặp đi lặp lại và có thể quan sát được. Ví dụ: mở PR bảo trì, cập nhật tài liệu từ các sự cố đã đóng, chuẩn bị đánh giá hàng tuần, phân loại các lỗi trùng lặp, tạo thử nghiệm cho các tệp bị ảnh hưởng.
Sau đó tôi sẽ đặt ra những giới hạn rất rõ ràng:
- không viết mà không có nhánh hoặc hộp cát;
- không có bí mật nào trong lời nhắc;
- công cụ trong danh sách cho phép;
- sự chấp thuận của con người đối với các hành động bên ngoài;
- nhật ký và theo dõi bắt buộc;
- ngân sách cho mỗi lần chạy;
- đầu ra luôn có thể kiểm tra được.
Chỉ khi đó tôi mới mở rộng được.
Các đại lý không thất bại chỉ vì mô hình sai. Chúng thất bại vì chúng tôi đặt chúng trong những môi trường mơ hồ, với những quyền khó hiểu và những kỳ vọng về sân khấu.
Bài đọc của tôi
Cơ sở hạ tầng đại lý đang nhàm chán một cách tốt nhất.
Đó không phải là phần khiến bạn phải vỗ tay trong bản demo. Đó là phần cho phép bạn thực sự sử dụng bản demo vào sáng thứ Hai, với người thật, dữ liệu thực và hậu quả thực.
Tương lai của các đặc vụ sẽ không chỉ được quyết định bởi ai có hình mẫu tốt nhất. Nó sẽ được quyết định bởi người xây dựng nơi tốt nhất để anh ta làm việc: biệt lập khi anh ta thử nghiệm, kết nối khi cần thiết, luôn có thể quan sát được, được ủy quyền với các tiêu chí và đủ khiêm tốn để dừng lại khi anh ta không biết.
Đó là nơi các đại lý không còn là đồ chơi nữa mà trở thành cơ sở hạ tầng.