Khoá smolagents: giữ ý tưởng code agent, đừng mang bản demo đến khách hàng
Thomas Wolf và Aymeric Roucher dạy cách để agent tự viết code, còn chính tài liệu của Hugging Face nhắc rằng mặc định đoạn code đó chạy ngay trên máy của bạn.
Tóm tắt nhanh
- Khoá ngắn 54 phút, trình độ intermediate, do hai người của Hugging Face là Thomas Wolf và Aymeric Roucher dạy
- Ý tưởng chính: gom nhiều lời gọi tool vào một đoạn code, nhưng mỗi task của khách hàng cần được thử riêng
- Bài học đáng giá nhất với FDE là phần Secure Code Execution, không phải bản demo deep-research
Khoá học về code agent của DeepLearning.AI xoay quanh một luận điểm táo bạo: agent nên tự viết code thay vì gọi từng tool một.
Chính tài liệu của smolagents lại ghi rõ rằng mặc định, CodeAgent chạy code do LLM sinh ra ngay trong môi trường của bạn. Một FDE học khoá này cần nắm cả hai vế: vì sao code agent mạnh, và đoạn code nó viết ra sẽ chạy ở đâu.
Khoá học tên đầy đủ là Building Code Agents with Hugging Face smolagents, một khoá ngắn trình độ intermediate do DeepLearning.AI làm cùng Hugging Face.
Nếu bạn đang đưa agent vào hệ thống của khách hàng, hoặc muốn ứng tuyển vị trí FDE mảng applied AI, đây là cách nhanh để nắm một lối thiết kế agent khác hẳn kiểu JSON tool-calling quen thuộc. Bạn cũng sẽ biết chỗ nào của lối thiết kế đó chưa an toàn để mang đi deploy.
Học từ chính người làm ra thư viện
Người dạy là Thomas Wolf, đồng sáng lập kiêm CSO của Hugging Face, và Aymeric Roucher, project lead tại Hugging Face. Bạn học thư viện từ chính những người làm ra nó. Đó vừa là điểm mạnh, vừa là lý do để giữ khoảng cách khi họ trình bày quan điểm thiết kế của mình.
Khoá ra mắt tháng 4/2025 và đã được sửa sau đó; bản hiện tại dài 54 phút, đi từ khái niệm code agent, qua chạy code an toàn và đánh giá agent, đến dựng một deep-research agent.
Chỉ cần Python cơ bản và quen làm việc với LLM. Khoá đang miễn phí trong giai đoạn beta của nền tảng, riêng bài tập chấm điểm cần tài khoản PRO, nên hãy kiểm tra lại điều khoản trước khi giới thiệu cho đồng nghiệp.
Ý tưởng thứ nhất: gom nhiều bước vào một đoạn code
Một tool-calling agent làm việc từng bước một: gọi một tool, nhận kết quả, rồi mới quyết định bước kế tiếp. Code agent thì gom tất cả những lời gọi đó vào một đoạn code duy nhất. smolagents có cả hai loại: CodeAgent viết hành động bằng code, còn ToolCallingAgent theo kiểu JSON.
Thử hình dung một khách hàng bán lẻ cần agent tìm ra chi nhánh nào trong 5 chi nhánh có doanh số 12 tháng giảm mạnh nhất. Kiểu JSON sẽ phát ra 5 lời gọi như sau, mỗi lời gọi là một vòng hỏi đáp với model, rồi mới đến bước so sánh:
{"tool": "get_sales", "args": {"branch": "B1", "months": 12}}
{"tool": "get_sales", "args": {"branch": "B2", "months": 12}}
{"tool": "get_sales", "args": {"branch": "B3", "months": 12}}
{"tool": "get_sales", "args": {"branch": "B4", "months": 12}}
{"tool": "get_sales", "args": {"branch": "B5", "months": 12}}
Một code agent có thể viết toàn bộ việc đó trong một lần: vòng lặp qua 5 chi nhánh, giữ kết quả trong biến Python, tính phần trăm thay đổi rồi trả về đáp án.
changes = {}
for b in ["B1", "B2", "B3", "B4", "B5"]:
s = get_sales(branch=b, months=12)
changes[b] = (s[-1] - s[0]) / s[0] * 100
worst = min(changes, key=changes.get)
print(worst)
Hugging Face lập luận rằng code thắng JSON ở ba điểm: dễ ghép nối, quản lý object tốt hơn và tổng quát hơn. Họ còn dẫn ra rằng ngôn ngữ lập trình vốn được thiết kế để mô tả hành động của máy tính.
Đây là một lập trường thiết kế đáng thuyết phục, nhưng nó chưa phải chân lý. Bạn nên đem cả hai kiểu agent ra chạy trên task thật của khách hàng rồi để số liệu quyết định.
Ý tưởng thứ hai: code do model viết là code lạ
Phần Secure Code Execution là phần đáng tiền nhất với FDE. Một khi agent viết và chạy code, mọi đoạn văn bản nó đọc được, từ email, trang web cho đến tài liệu nội bộ, đều có thể chứa prompt injection, và tài liệu của smolagents gọi tên đúng rủi ro này.
Nếu cấu hình mặc định chạy code ngay trên máy chủ của khách hàng, một câu lệnh độc hại có thể đi thẳng vào hệ thống của họ.
Tài liệu cũng thẳng thắn nói rằng sandbox Python chạy local là chưa đủ. Muốn cách ly thật sự chắc chắn thì phải chạy từ xa, chẳng hạn bằng E2B hoặc Docker. CodeAgent còn hỗ trợ các sandbox như Modal và Blaxel.
Ở chỗ khách hàng, việc đầu tiên nên làm là hỏi đội security xem họ cho phép chạy container hay dịch vụ sandbox nào. Câu trả lời đó quyết định kiến trúc trước cả chuyện chọn model.
Ý tưởng thứ ba: multi-agent dễ trên notebook, khó trong sandbox
Bài cuối dạy dựng một deep-research agent và nói về hệ thống nhiều agent. Bài này hấp dẫn khi xem demo, nhưng ở đây cần đọc kỹ tài liệu. Cách sandbox đơn giản, tức chỉ gửi từng đoạn snippet ra môi trường cách ly, không hỗ trợ multi-agent dạng managed agents. Muốn chạy được, bạn phải đưa toàn bộ hệ thống agent vào trong sandbox.
Vì thế, nếu khách hàng muốn có một “trợ lý nghiên cứu” nhiều agent, kiến trúc deploy sẽ khác hẳn bản trong notebook. Hãy giữ phần thiết kế và phần đánh giá từ bài học, còn phần hạ tầng thì lên kế hoạch lại từ đầu.
Bài Monitoring and Evaluating là cầu nối: không đo được agent thì bạn cũng không chứng minh được với khách hàng rằng thêm agent thứ hai có ích.
Ai nên học, và học theo thứ tự nào?
Khoá này hợp với kỹ sư đã gọi API LLM thành thạo và muốn hiểu agent ở mức kiến trúc. Hãy xem phần giới thiệu, rồi dừng lại thật lâu ở Secure Code Execution, sau đó mới đến bài đánh giá và deep-research.
Học xong, bạn nên đọc thêm tài liệu chính thức của smolagents về chạy code an toàn, vì đó là nơi các giới hạn được ghi rõ nhất.
Về nghề nghiệp, lời khuyên là đừng dừng ở chỗ chứng minh mình dựng được agent. Thứ nên cho người tuyển dụng thấy là bạn biết đưa agent vào production một cách an toàn.
Một repo nhỏ so sánh CodeAgent với ToolCallingAgent trên cùng một task, chạy trong Docker và có bảng số liệu đánh giá, sẽ thuyết phục hơn một tấm chứng chỉ.
Trên CV, hãy viết về cách bạn cách ly và đo lường agent, đừng chỉ ghi rằng bạn đã “dựng agent”.
Một khoá học 54 phút đủ để thay đổi cách bạn nghĩ về agent. Thứ giúp bạn được tin dùng ở chỗ khách hàng là biết đoạn code agent viết ra sẽ chạy ở đâu.
Bài này có hữu ích không?
Cảm ơn bạn đã góp ý!
5 nguồn
- Building Code Agents with Hugging Face smolagents - DeepLearning.AI · 2026-07-17
- New course! Enroll in Building Code Agents with Hugging Face smolagents - DeepLearning.AI Community · 2025-04-23
- smolagents - Hugging Face documentation
- Secure code execution - smolagents documentation
- Introducing smolagents, a simple library to build agents - Hugging Face Blog · 2024-12-31