当几何遇上 CodeAct 范式:从语言理解到可执行推理的跃迁
面向 Agent 开发者的工程与范式探索
引言:从“语言理解”到“执行推理”
在我的几何 AI 项目中,模型第一次尝试“画一个等腰三角形”时,图形看似完美,实际上两边长度并不相等。
AI画得像,却没画对。
几何画图任务并非自然语言理解,而是 构造 + 约束 + 验证 的闭环过程。
传统的 “Planner + DSL + Verifier” 体系虽然可控,但在动态构造与反复验证中显得笨重。
我开始思考:
如果让 AI 不再只是描述,而是直接写出代码、执行代码、并根据结果再思考呢?
这正是 CodeAct(Executable Code Actions Elicit Better LLM Agents)所提出的核心理念。
CodeAct 不再让语言模型“说怎么做”,而是让它“自己去做”。
CodeAct 的底层机制解析
让模型写代码只是表象,真正的关键是形成一个可执行的闭环思维循环。
1. ReAct 与 CodeAct
| 对比项 | ReAct | CodeAct |
|---|---|---|
| 表达形式 | Thought + Action + Observation(文本) | Thought + <execute> + Observation(代码执行) |
| 动作实现 | 由外部解析器调用预定义工具 | 直接生成并执行函数 |
| 控制流 | 受限(多步靠多轮调用) | 原生支持 if / for / try |
| 可观察性 | 文本输出 | 代码执行结果(return/stdout/error) |
| 优势 | 安全、可控 | 执行力强、贴合训练分布 |
| 局限 | 动作空间有限 | 执行安全、调试成本高 |
CodeAct 的核心在于:让 LLM 的输出成为可直接执行的程序,并用执行结果作为新的输入。
这种结构让模型不仅描述动作,而是直接拥有动作。
2. 执行循环机制
典型逻辑(伪代码)
1 | while (!done) { |
执行过程包含四个核心步骤:
- 抽取代码块:识别
<execute>...</execute>中的代码片段 - 沙箱执行:运行在受限函数或容器中
- 结果反馈:stdout / return / error 都回写上下文
- 下一轮推理:模型读取结果、修复代码、继续执行
CodeAct 通过这个循环,实现了 “思考 → 执行 → 观察 → 再思考” 的闭环,而这正是传统 ReAct 模式所缺乏的。
几何 AI:CodeAct 的落地场景
几何画图任务天然契合 CodeAct,因为它具备以下特征:
- 构造性:点、线、圆的依赖顺序明确;
- 约束性:角度、平行、对称等条件必须验证;
- 可验证性:每次执行都能计算验证结果。
在我的项目中,LLM 会直接生成 TypeScript 代码来驱动几何引擎:
1 | <execute> |
执行结果会返回布尔值或错误信息(如“点C未定义”),再交回给模型进行下一步思考。
这使得“构造—验证—修正”形成完整闭环。
五、范式比较与适用场景
当然,CodeAct 不是所有场景的答案,而是执行密集型任务的最优解。
| 范式 | 核心思想 | 典型场景 | 优势 | 局限 |
|---|---|---|---|---|
| ReAct | Text-based reasoning + action schema | 工具调用、问答代理 | 结构简单、安全 | 不支持循环、执行力弱 |
| CodeAct | 代码即行动,可执行推理 | 几何、数据分析、自动化流程 | 灵活、图灵完备 | 安全与可控性挑战 |
| Planner + DSL + Verifier | 高层规划 + 安全执行 | 企业工作流、合规系统 | 可治理性强 | 扩展性低 |
这些范式不是“演化关系”,而是“任务匹配曲线”:
- 若你需要稳定且可控的 Agent,ReAct 足够;
- 若你希望模型主动执行与验证,CodeAct 更高效;
- 若你构建大型协作系统,PEER/Planner 才是路径。
写在最后
CodeAct 的潜力在于它把 “生成式 AI” 推向 “行动式 AI”。
今天我们已经看到:
- Runtime 自检(Self-checking Runtime):模型生成代码 → 执行 → 自动生成测试样例验证输出;
- 静态分析 + 动态执行结合:利用 AST 检查危险调用;
- 跨语言统一执行层:JS/Python/Go 均可成为 Action carrier;
- Agent Runtime 生态:不同 CodeAct 系统可互通共享执行上下文。
CodeAct 让模型拥有代码生成力、执行力与修正力。
在几何 AI 的世界里,这意味着从 “我能解释几何” 到 “我能构造几何”。
也意味着从语言智能迈向行动智能的转折。
延申阅读
- Wang, Xingyao et al. Executable Code Actions Elicit Better LLM Agents. ICML 2024. PDF / PMLR
- CodeAct GitHub 实现 – github.com/xingyaoww/code-act github.com/langchain-ai/langgraph-codeact
- Mohsin Mubarak, CodeAct: Revolutionizing LLM Agents with Executable Code Actions Medium, 2024.
- Survey: Code Reasoning for Code Tasks: A Survey and A Call to Action. OpenReview 2024

