AI Agent 没必要上那些复杂框架,拿 Python 直接写,效果反而更好。这就是NVIDIA的研究人员提出的最新框架,代号 NOOA。同一个模型,套进这个框架,在 ARC-AGI-3 推理测试里,成绩从13.3%涨到了85.1%,token还省了一半。CodeAct 循环流程:外部发起调用后,系统开启多轮迭代,每一轮都会渲染当前上下文、调用大模型、执行 Python 代码动作并更新事件与状态;若更新状态后得到经过类型校验的有效结果,则终止流程并对外返回数据,否则携带更新后的状态信息继续进入下一轮循环执行。
现在的Agent写法
2026年的今天,AI Agent框架已经高度成熟,主流选手不少。- LangGraph(LangChain生态)靠有向图做状态机编排,控制力和可观测性最强,但难上手;
- CrewAI走角色驱动路线,定义几个"人设"和目标就能组队干活,原型出得快;
- Microsoft Agent Framework合并了 AutoGen 和 Semantic Kernel,主打企业级和Azure/.NET,但整体偏重;
- OpenAI Agents SDK轻量、贴近底层API,靠简洁的移交机制串起调用;
- 此外还有Google ADK的多语言支持、LlamaIndex Workflows适用于RAG和文档密集场景下。
这些框架各有各的擅长场景。选哪个取决于团队和场景,没有绝对的好坏。但它们有一个共同的问题:每个都发明了一套自己的规则。写一个Agent,代码常散落在四个地方:提示词模板、工具定义、回调代码、工作流图,改一个功能要在好几个文件之间来回切换。换一个框架,又得从头学一套新概念——LangGraph让你画图,CrewAI让你排角色,OpenAI SDK用移交。而这些概念解决的,其实是编程语言里本来就有的东西:类型接口、变量作用域、控制流、对象状态。NVIDIA团队点出了这里的问题:这些抽象本身就在模型的训练数据里,模型天生就懂。另造一套,开发者和模型都得重新学一遍。方法很简单——全部塞进同一个容器里。这个容器就是 Python 对象。上下文管理分层架构:由ContextManager统一管理静态上下文、动态上下文,搭配EventManager维护先进先出的类型化事件队列;整套上下文被拆分为三大模块,静态上下文存放每一轮推理都固定可见的系统指令、Agent 基础定义,Events依托事件管理器保存 Agent 完整执行历史(用户消息、模型回复、工具调用记录),动态上下文承载每一轮实时渲染的环境状态、变量信息;三类模块最终按规范标签拼装,共同构成送入 LLM 的完整 Prompt 输入。
怎么装下整个Agent
在NOOA里,一个Agent就是一个Python类。没有新语法,没有DSL。NOOA 智能体记忆系统架构:MemoryManager 将记忆能力挂载至基于 CodeAct 循环的 LLM Agent,Agent 可调用记忆工具执行存储、检索、关联等操作,系统通过检索模块依托 KNN 与图结构从 SQLite 持久化存储中调取记忆;轮次执行前的钩子会自动把关联记忆注入上下文块实现自发召回,反思模块负责对记忆进行合并、抽象与清理以完成记忆巩固,所有状态统一保存在可人工查看的 SQLite 数据库,全部访问行为可追踪观测,向量索引支持灵活插拔。
设计上有一个关键约定:一个方法的方法体如果写着 ...(省略号),运行时就交给LLM来完成,这叫"智能"方法;如果方法体是真实代码,那就是确定性的 Python 逻辑。等于在源代码里直接画了一条线:这边是 AI 的概率判断,那边是写死的确定逻辑,一眼看得清清楚楚。确定性的事(算术、解析、状态切换)就用确定性代码来写,避免模型幻觉;这条边界以前在提示词的措辞里,现在直接写在代码上。This brings prompt engineering back into software engineering, so behavior can be tested, traced, refactored, versioned, and optimized.
这让提示词工程回归软件工程,行为可以像普通软件一样被测试、追踪、重构、版本化和优化。
Agent 不再是黑盒。能写测试、能打断点、能翻 git 历史,跟写普通代码一样顺手。
同一个模型,性能差出6倍
最亮眼的一组数据来自 ARC-AGI-3,一个考察交互推理的测试,要求 Agent 在完全陌生的环境里自己摸清规则。只是换了框架,成绩差出6.4倍。论文称之为"6.4倍的框架效应"。在SWE-bench Verified(修真实GitHub仓库的bug)上,NOOA配GPT-5.5拿到82.2%,是同对比里开源框架的最高分,已经逼近系统级方案(Codex 88.7%、Claude Code 80.8%)。NVIDIA研究人员还设计了 88 个入门测试,看模型能不能直接上手 NOOA 这套界面、正确调用方法、写出可执行代码、返回正确类型的结果。10个模型跑了4400次记录,通过率97.9%,GPT-5.5直接满分。原因很简单:虽然这些模型没有学习过如何使用NOOA,但它们天生就会使用Python。还顺手省了一半token
这要归功于"引用传递"(pass-by-reference)的设计。以前的框架,模型每调用一次工具,输入输出都要来回序列化成文本塞进对话里,token就这么烧完了。上下文一长,模型能力也跟着往下掉。NOOA 的做法不一样。方法接收的是"灵活的"Python对象,使模型只看到一个预览:类型是什么、真实长度多少、头尾几个样本长什么样。比如一个 100 个元素的列表,prompt 里可能只显示 10 个,但变量本身是完整的,模型随时可以写代码去遍历、切片、处理全部 100 个。这意味着 Agent 能处理的数据量,不再受窗口限制,只受执行环境限制。几百万行的表,照样能跑。数据很直观。同样在SWE-bench上配GPT-5.5,NOOA用28次模型调用、110万token拿到82.2%;横轴:单任务平均 Token 消耗(对数坐标),纵轴:验证通过率
对比方案PI要66次调用、220万token,成绩还更低(78.2%)。调用少了一半多,token省了一半,分数还更高了。
[1] Native Python Object-Oriented Agents (NOOA), NVIDIA