ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

NOOA双策略选型指南:Predict vs CodeAct,一张表讲清何时该用哪个

NOOA双策略选型指南:Predict vs CodeAct,一张表讲清何时该用哪个 NOOA双策略选型指南Predict vs CodeAct一张表讲清何时该用哪个【免费下载链接】labs-OO-AgentsNVIDIA Object Oriented Agents: the Pythonic way to build AI Agents.项目地址: https://gitcode.com/gh_mirrors/la/labs-OO-AgentsNOOANVIDIA Object Oriented Agents是一个 Pythonic 的 AI Agent 构建框架Agent 就是一个 Python 类方法体写成...就交给 LLM 执行。但新手最常犯的第一个错误就是所有方法都套用默认策略。其实 NOOA 内置了两大核心生成策略PredictStrategy单次结构化输出和CodeActStrategy代码执行循环。选对策略能让你的 Agent 更快、更省 token、更稳定。本文用一张对比表 三个快问快答帮你 10 秒内做出正确的选型决策。一张表Predict 与 CodeAct 核心差异对比维度 PredictStrategy️ CodeActStrategy执行模型单次 LLM 调用直接产出结构化结果每轮调用 LLM在 Python REPL 中写代码、看结果、再迭代能否调用工具 / 执行代码❌ 不能✅ 可执行 Python、调用self的方法与工具能否访问活动对象live objects❌ 只序列化输入参数✅ 参数以活变量形式驻留在 REPL 中迭代能力仅校验失败自动重试无探索循环多轮观察-行动循环直到返回类型校验通过对返回类型的要求必须可 JSON 序列化Pydantic 模型、基本类型、容器任意类型可在代码中构造对象后返回典型成本1 次推理快且便宜多轮推理token 消耗更高是否框架默认需显式声明✅ NOOA 的默认策略关键配置项max_retries默认 10、max_param_charsmax_iterations、cell_timeout、execution_backend官方文档对两者的定位一句话总结如果一次不带工具的尝试就能分类、抽取或产出带类型的结果就用 Predict如果任务需要工具、活对象、代码执行或迭代就用 CodeAct。完整对比见 docs/concepts/strategies.md。PredictStrategy一次聚焦的判断Predict 的思路非常直接把输入参数序列化要求 LLM 按返回类型注解生成结构化 JSON然后做 Pydantic 校验。校验不过就带着错误信息自动重试默认最多 10 次但没有工具调用、不执行任何 Python。典型用法——情绪分类一个经典的一问一答任务strategy(PredictStrategy()) async def classify_sentiment(self, text: str) - Literal[positive, negative, neutral]: Classify as positive, negative, or neutral. ...Predict 最擅长的任务类型✅ 分类、路由、打标签Literal枚举输出✅ 从文本中抽取结构化字段Pydantic 模型返回✅ 情感分析、实体识别、JSON 生成✅ 多模态输入图片等Media参数会直接随请求传给模型⚠️ 注意参数超过max_param_chars默认 20 万字符会直接报错而非静默截断——单次调用被截断的输入只会产出错误结果NOOA 选择快速失败提醒你拆分或摘要实现细节可参考 src/nooa/strategies/predict.py。CodeActStrategy观察、行动、再迭代CodeAct 给模型配了一个Jupyter 风格的 Python REPL方法参数是 REPL 里的活变量模型可以写代码检查数据、调用 Agent 上任何可见的方法与工具代码结果回灌上下文然后决定下一步。循环在某个返回值通过返回类型校验时结束。strategy(CodeActStrategy(configCodeActConfig(max_iterations10))) async def perform_task(self, request: str) - Annotated[str, Your answer]: Perform the task requested by the user and provide a friendly response. ...CodeAct 最擅长的任务类型✅ 需要调用工具跑 shell 命令、读文件、查数据库✅ 需要边做边看先探测数据结构再决定下一步✅ 返回复杂对象在代码里逐步构造 Pydantic 模型、DataFrame 等 JSON 不可序列化类型✅ 多步骤任务检索 → 汇总 → 验证的完整调查流程两个实用旋钮值得了解max_iterations限制探索轮数防止模型无限打转execution_backend默认inprocess零开销生产环境可切到sandbox获得硬超时、内存/CPU 限制和网络隔离等 OS 级护栏。完整实现见 src/nooa/strategies/codeact.py所有配置项定义在 src/nooa/config/strategy_config.py。可运行的双策略示例examples/quickstart/04_strategies.py。三个快问快答10 秒决策法任务需要动手吗需要调工具、跑代码、翻数据 → CodeAct。只需动嘴输出一个结构化答案 → Predict。返回类型能变成 JSON 吗不能如pandas.DataFrame→ 只能用 CodeAct代码里构造好再返回。对延迟和成本敏感吗同一任务两者都能做时优先 Predict——它通常只需 1 次推理而 CodeAct 可能跑 3~10 轮。补充一点策略和方法上的llm是两个独立维度。你可以让简单路由用便宜小模型让调查任务用强模型互不影响。⚠️ 新手最常见的三个选型错误官方文档专门列出了常见错误清单其中最值得警惕的用默认 CodeAct 做简单分类——白白多付几倍 token 和延迟用 Predict 做必须调工具的任务——Predict 根本无法执行代码任务注定失败任务做不完就去调大max_iterations——正确做法是把过大的方法拆小而不是一味放宽上限。更多细节见 docs/concepts/strategies.md。 延伸阅读路径资源路径官方策略概念文档docs/concepts/strategies.mdPredict 策略源码src/nooa/strategies/predict.pyCodeAct 策略源码src/nooa/strategies/codeact.py策略配置定义src/nooa/config/strategy_config.py可运行示例examples/quickstart/04_strategies.py策略选择实战教程notebook_tutorials/02_choosing_a_strategy.ipynb总结记住这张心智地图Predict 一次结构化判断CodeAct 一个受控的代码执行循环。NOOA 默认给 CodeAct是因为它覆盖面最广但分类、抽取这类一问一答任务显式换成 Predict 是又快又省的免费优化。先问任务要不要动手再问返回类型能不能 JSON 化你的策略选型问题就解决了一大半。【免费下载链接】labs-OO-AgentsNVIDIA Object Oriented Agents: the Pythonic way to build AI Agents.项目地址: https://gitcode.com/gh_mirrors/la/labs-OO-Agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表