章节摘要:本章攀爬第二阶(☆☆☆)——CodeAgent,全书第一个高潮(★),smolagents 的灵魂。CodeAgent 让 LLM 把 action 写成 Python 代码片段:代码里可以调用工具(工具就是被注入解释器的 Python 函数)、可以声明变量复用中间结果、可以写循环和条件——一步代码等价 JSON 范式好几步,论文验证少 30% 步数。本章精读 CodeAgent 的完整执行链:code_agent.yaml 四段提示词→LLM 生成代码→parse_code_blobs 解析→解释器执行→观察回填。本章共 3 节,前置依赖为第 1-2 章。

CodeAgent类结构(step覆写);LLM生成```python代码块;parse_code_blobs提取代码;代码送local_python_executor执行;工具=解释器命名空间里的Python函数(send_tools注入);最终answer变量;final_answer(FinalAnswerTool);代码执行循环完整链路。
论文结论(代码action比JSON tool-calling少30%步);四个本质优势:①组合函数一步顶多步 ②变量复用中间结果(JSON每步重传) ③循环/条件控制流 ④代码是LLM预训练分布内的自然形式;JSON范式的痛点(结构僵硬/每步序列化开销/难组合);CodeAgent vs ToolCallingAgent完整对照表。
prompts/code_agent.yaml四段模板(system_prompt系统提示/planning规划步/managed_agent子agent/final_answer最终答案);Jinja2渲染变量(tools/managed_agents/authorized_imports);authorized_imports白名单;structured_code_agent.yaml结构化输出变体;提示词工程的克制(不堆角色扮演,聚焦可执行性)。
前置:第1-2章。后续:第4章讲攀爬装备——记忆与规划。