Hugging Face 代码智能体默认在本机执行 LLM 代码
54 分钟的 smolagents 课程讲清代码智能体为何胜过 JSON 工具调用,以及代码该在哪里运行。

要点速览
- 一门 54 分钟的中级短课,由 Hugging Face 的 Thomas Wolf 和 Aymeric Roucher 两人主讲
- 核心思路:把多次工具调用合并进一段代码,但每个客户任务都要单独测试
- 对 FDE 来说,最有价值的一课是 Secure Code Execution(安全代码执行),而不是深度研究演示
DeepLearning.AI 这门讲代码智能体的课程,围绕一个大胆的主张展开:智能体应该自己写代码,而不是一次调用一个工具。
然而 smolagents 文档自己也写得很明白:默认情况下,CodeAgent 会在你自己的环境里运行 LLM 生成的代码。前线部署工程师(FDE)学这门课,两方面都要弄懂:代码智能体为什么强大,以及它写出的代码到底在哪里运行。
课程全名是 Building Code Agents with Hugging Face smolagents,是 DeepLearning.AI 与 Hugging Face 合作推出的一门中级短课。
如果你正要把智能体接入客户系统,或者在申请应用 AI 方向的 FDE 岗位,这门课能让你很快掌握一种与常见 JSON 工具调用截然不同的智能体设计思路,也能让你知道这套思路里哪些部分还不能安全部署。
向写库的人学这个库
两位讲师是 Hugging Face 联合创始人兼首席科学官(CSO)Thomas Wolf,以及 Hugging Face 项目负责人 Aymeric Roucher。由库的作者亲自讲库,这是优势;但当他们为自己的设计选择辩护时,也要保持一点距离。
课程于 2025 年 4 月上线,此后有过修订。当前版本时长 54 分钟,从代码智能体的概念讲起,经过安全代码执行和智能体评测,最后搭建一个深度研究智能体。
学习门槛只需基础 Python 和对 LLM 的一定了解。平台测试期内课程免费,但评分作业需要 PRO 账户,推荐给同事前请先确认条款。
思路一:把多个步骤合进一段代码
工具调用型智能体是一步一步走的:调用工具,拿到结果,再决定下一步。代码智能体则把这些调用合并进一段代码。smolagents 两种都提供:CodeAgent 用代码表达动作,ToolCallingAgent 沿用 JSON 风格。
设想一家零售客户需要一个智能体,找出 5 家门店中哪一家近 12 个月销售额下滑最严重。JSON 方式要先发出下面这样 5 次调用,每次都要和模型往返一轮,然后才能开始比较:
{"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}}
代码智能体一次就能完成整件事:遍历 5 家门店,把结果存进 Python 变量,计算变化百分比,然后返回答案。
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 认为代码在三方面胜过 JSON:可组合性、更好的对象管理和通用性。它还指出,编程语言本来就是为描述计算机该做什么而设计的。
这个设计立场很有说服力,但并非定论。请在真实的客户任务上把两种智能体都跑一遍,让数据说话。
思路二:模型写的代码是不可信代码
对 FDE 来说,Secure Code Execution 这一课最值得花时间。智能体一旦开始写代码、跑代码,它读到的任何文本,从邮件、网页到内部文档,都可能夹带提示词注入(prompt injection)。smolagents 文档点名的正是这一风险。
如果默认配置直接在客户服务器上运行代码,一条恶意命令就能直接进入客户系统。
文档也坦承,本地 Python 沙箱并不够用。真正可靠的隔离要靠远程执行,例如 E2B 或 Docker。CodeAgent 还支持 Modal、Blaxel 等沙箱。
到了客户现场,第一件事是问安全团队允许使用哪些容器或沙箱服务。这个答案在选模型之前就决定了架构。
思路三:多智能体在 notebook 里简单,进了沙箱就难
最后一课搭建深度研究智能体,并讨论多智能体系统。演示很吸引人,但这里的文档值得细读。简单的沙箱方案只把单段代码发往隔离环境,不支持用托管智能体(managed agents)搭建的多智能体结构。要让它们跑起来,必须把整个智能体系统放进沙箱。
所以,如果客户想要一个多智能体“研究助手”,部署架构会和 notebook 版本大不相同。设计和评测的内容可以沿用,基础设施则要从头重新规划。
Monitoring and Evaluating 一课起到衔接作用:如果无法度量一个智能体,就无法向客户证明再加一个智能体有帮助。
谁适合学,按什么顺序学?
这门课适合已经熟练调用 LLM API、想从架构层面理解智能体的工程师。先看导论,然后在 Secure Code Execution 上多花时间,之后再学评测和深度研究。
学完后,去读 smolagents 官方文档中关于安全代码执行的部分,那里把局限讲得最清楚。
就职业发展而言,建议不要止步于证明自己能搭智能体。招聘经理想看到的,是你懂得如何把智能体安全地带进生产环境。
一个小型代码仓库,在同一任务上对比 CodeAgent 和 ToolCallingAgent,跑在 Docker 里,并附上一张评测结果表,比一张证书更有说服力。
简历上要写你如何隔离和度量智能体,而不只是说自己“搭建过智能体”。
54 分钟的课程足以改变你对智能体的理解。而在客户现场赢得信任的,是你清楚智能体写出的代码会在哪里运行。
这篇文章对你有帮助吗?
感谢你的反馈!
5 个信源
- 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