几何 + CodeAct 范式,我创造了新的 AI 画图产品

90 阅读4分钟

引言:从“语言理解”到“执行推理”

在我的几何 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. 执行循环机制

典型逻辑(伪代码)

while (!done) {  const thought = llm.generate(context)  const code = extractExecuteBlock(thought)  const result = sandbox.run(code)  context.push(`Execution Output:\n${result}`)}

执行过程包含四个核心步骤:

  1. 抽取代码块:识别 <execute>...</execute> 中的代码片段

  2. 沙箱执行:运行在受限函数或容器中

  3. 结果反馈:stdout / return / error 都回写上下文

  4. 下一轮推理:模型读取结果、修复代码、继续执行

CodeAct 通过这个循环,实现了 “思考 → 执行 → 观察 → 再思考” 的闭环,而这正是传统 ReAct 模式所缺乏的。

几何 AI:CodeAct 的落地场景

几何画图任务天然契合 CodeAct,因为它具备以下特征:

  • 构造性:点、线、圆的依赖顺序明确;

  • 约束性:角度、平行、对称等条件必须验证;

  • 可验证性:每次执行都能计算验证结果。

在我的项目中,LLM 会直接生成 TypeScript 代码来驱动几何引擎:

<execute>const A = point(0, 0)const B = point(2, 0)const C = perpendicular(A, B, 1.5)drawTriangle(A, B, C)return checkIsosceles(A, B, C)</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 的世界里,这意味着从 “我能解释几何” 到 “我能构造几何”。

也意味着从语言智能迈向行动智能的转折。

延申阅读

本文使用 markdown.com.cn 排版