Pydantic AI Harness Code Mode指南:一个Python脚本调用10个工具,彻底解决token膨胀难题

发布时间:2026/10/23 4:08:51

Pydantic AI Harness Code Mode指南:一个Python脚本调用10个工具,彻底解决token膨胀难题 【免费下载链接】pydantic-ai-harnessYour agents favorite harness, built on Pydantic AI项目地址https://gitcode.com/gh_mirrors/py/pydantic-ai-harness点击查看免费下载Pydantic AI Harness是 Pydantic AI 官方的能力capability库其中的Code ModeCodeMode能力让 Agent 摆脱每次工具调用都要跑一轮模型的传统模式模型只需编写一个 Python 脚本就能在沙箱里一口气调用10 个甚至更多工具用循环、条件、asyncio.gather并行取数只把最终结果带回对话——延迟更低、成本更小token 膨胀难题就此终结。痛点传统工具调用为什么烧 token标准工具调用模式下Agent 每执行一批依赖调用就需要一次新的模型往返对比维度传统工具调用Code Mode依赖工具批处理跨多个模型轮次一次run_code内完成多个依赖调用并行方式仅当模型一次性发出批量调用用 Python 原生表达并行本地计算无结果全部回传模型在代码里过滤、转换、聚合对话历史冗长、token 膨胀精简——消息更少比如抓取 10 条数据再逐条处理这类任务传统方式下每个中间结果都会塞进对话历史而 Code Mode 下中间结果只存在于沙箱内存中模型只看到最终答案。Code Mode 如何工作把工具变成函数CodeMode会把符合条件的工具包装进一个名为run_code的沙箱工具基于 Monty 沙箱运行时。模型不再逐个发起工具调用而是写一段 Python 编排代码把工具当函数调用上图中一次run_code调用就并行抓取了 3 个 HN feed、去重、按分数过滤并按评论数排序——全部在一段脚本里完成。官方文档在 docs/code-mode.md核心实现位于 pydantic_ai_harness/code_mode/ 目录。快速上手3 步启用 Code Mode第 1 步安装Code Mode 依赖 Monty 沙箱通过codemode附加组件安装code-mode是等价别名见 pyproject.tomluv add pydantic-ai-harness[codemode]pip 用户执行pip install pydantic-ai-harness[codemode]即可。第 2 步给 Agent 加上CodeMode()from pydantic_ai import Agent from pydantic_ai_harness import CodeMode agent Agent(anthropic:claude-sonnet-4-6, capabilities[CodeMode()]) agent.tool_plain def get_weather(city: str) - dict: 获取城市当前天气。 return {city: city, temp_f: 72, condition: sunny}第 3 步照常提问result agent.run_sync(巴黎和东京现在多少度摄氏度) print(result.output)模型会在一次run_code内写出类似这样的代码import asyncio paris, tokyo await asyncio.gather( get_weather(cityParis), get_weather(cityTokyo), ) {paris: round((paris[temp_f] - 32) * 5 / 9, 1), tokyo: round((tokyo[temp_f] - 32) * 5 / 9, 1)}两次天气查询并行执行华氏转摄氏在沙箱内完成对话历史里只多了一条紧凑的消息。进阶一只沙箱化你想沙箱的工具 默认CodeMode(toolsall)会收编所有符合条件的工具。你也可以精细控制未选中的工具仍保持普通工具调用形式# 按名字仅这两个工具进入 run_code CodeMode(tools[search, fetch]) # 按谓词排除危险工具 CodeMode(toolslambda ctx, td: td.name ! dangerous_tool) # 按元数据适合共享工具集用 .with_metadata(code_modeTrue) 打标签 CodeMode(tools{code_mode: True})注意Shell 类命令工具如run_command会保留为原生工具、与run_code并列避免模型在生成的 Python 字符串里再套一层 shell 命令。进阶二eager 与 speculate 双提速 Code Mode 提供两种性能模式实现分别在 pydantic_ai_harness/code_mode/_eager.py 和 pydantic_ai_harness/code_mode/_speculation.pyeagerTrue抢先执行模型还在逐行生成代码时已写完的行立刻开始执行工具延迟与模型生成时间重叠。speculate[...]推测执行流式接收代码的过程中发现参数为字面量的只读工具调用就提前发起脚本真正执行到时直接认领已在飞行的结果。也可传speculatedeclared信任工具自声明的read_only元数据。agent Agent( openai:gpt-5.6-sol, capabilities[CodeMode(eagerTrue, speculate[lookup_author, lookup_year])], )⚠️ 提醒推测执行可能提前发起外部请求即使最终用不到请只把无副作用、可重复的工具列入白名单。安全边界沙箱限制与资源配额 ️沙箱默认很紧不用担心失控脚本无宿主访问默认没有文件系统、环境变量、时钟可用mountMountDir(...)挂载目录、os_access注入环境变量资源上限单次run_code默认 30 秒执行时间 256 MiB 内存max_tool_calls默认 100 次嵌套调用受限标准库仅允许sys、typing、asyncio、math、json、re、datetime、os、pathlib等无第三方导入REPL 状态延续同一 Agent 运行内变量、导入在多次run_code间保留传restart: true可重置。返回值也很省心代码的最后一个表达式自动作为结果返回无需print()。验证效果用追踪面板看工具扇出 配合 Logfire 或任意 OpenTelemetry 后端run_code的每个 span 都会扇出为沙箱内发起的各个工具调用——这是理解 Code Mode 实际行为的最直观方式图中可见两次run_code分别扇出 3 个hn_get_stories并行调用和 3 个后续查询token 消耗被压缩到 3 轮模型对话。常用配置速查表参数默认值说明toolsall选择进入沙箱的工具全部 / 名字列表 / 谓词 / 元数据max_retries3沙箱执行错误含语法错误重试次数max_tool_calls100单次run_code允许的嵌套工具调用数resource_limits30 秒 / 256 MiB沙箱时间与内存上限可设为unlimitedeagerFalse模型边写边执行提前启动工具调用speculateNone推测执行白名单或declaredmount/os_accessNone宿主目录挂载 / 自定义 OS 行为CodeMode还支持在 YAML/JSON Agent 规格中声明capabilities: - CodeMode: tools: [search, fetch] max_retries: 5结语Code Mode 用让模型写代码调用工具这一思路把多轮模型往返压缩成一次沙箱执行并行、过滤、聚合都在 Python 里完成对话历史保持精简。只需一行capabilities[CodeMode()]就能让你的 Agent 告别 token 膨胀。 更多资料完整文档 docs/code-mode.md、模块说明 pydantic_ai_harness/code_mode/README.md、核心实现 pydantic_ai_harness/code_mode/_capability.py。赞分享【免费下载链接】pydantic-ai-harnessYour agents favorite harness, built on Pydantic AI项目地址https://gitcode.com/gh_mirrors/py/pydantic-ai-harness点击查看免费下载相关推荐彻底解决过度分散数据难题Statsmodels零膨胀模型实战指南彻底解决过度分散数据难题Statsmodels零膨胀模型实战指南 你是否还在为计数数据中的过度分散问题头疼普通模型预测结果总是偏离实际本文将带你用Stat数据科学科学计算数据分析彻底解决PostgreSQL表膨胀难题pg_repack无锁重组方案全解析彻底解决PostgreSQL表膨胀难题pg_repack无锁重组方案全解析 你是否正面临这些数据库痛点 PostgreSQL作为企业级关系型数据库在长期运数据库OptiScaler终极指南跨显卡AI超分辨率技术实战与深度解析OptiScaler终极指南跨显卡AI超分辨率技术实战与深度解析 OptiScaler是一款革命性的开源AI超分辨率中间件它打破了显卡厂商的技术壁垒让所有游戏开发图形学上一篇彻底解决PDFMathTranslate离线模型加载失败的7大方案下一篇Ursa.Avalonia项目中ThemeToggleButton组件与系统主题监听冲突问题解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/23 4:08:51

FairScan如何快速生成PDF:PDFBox-Android与CCITT G4压缩优化实战

【免费下载链接】FairScan An Android app to scan your documents — simple and respectful 项目地址: https://gitcode.com/gh_mirrors/fa/FairScan 点击查看 免费下载 FairScan 是一款开源的 Android 文档扫描应用。本文带你拆解它如何基于 PDFBox-Android 在手…

2026/10/23 4:03:51

MATLAB常见问题30秒速查与高效排障指南

1. MATLAB高效排障指南:30秒解决常见问题作为一名MATLAB老用户,我深知在科研和工程计算中,那些突如其来的报错信息有多让人头疼。记得刚接触MATLAB时,一个简单的矩阵维度不匹配就能让我折腾半天。经过多年实战,我总结出…

2026/10/23 4:03:51

libva中的DRM模块

主要内容 本文主要就libva中的DRM的流程进行简单说明,libva版本为libva-2.11.0(版本号为1.11.0),Digital Rights Management(DRM)指的是数字版权管理,用以保护具有版权的数字产品,包括视频,音乐,电子书等等…

2026/10/23 5:08:58

老显卡UEFI黑屏怎么办?GOPUpd v1.9.6.5注入GOP驱动教程

简介:面向DIY装机与电脑维修人员的AMD/NVIDIA显卡GOP更新工具GOPUpd 1.9.6.5压缩包,用于升级显卡图形输出协议组件;GOP是连接图形硬件与UEFI固件的重要接口,老旧显卡或主板常因GOP版本过旧导致开机黑屏、无法识别新显卡&#xff0…

2026/10/23 5:08:58

全国计算机等级考试一级选择题题库:25套真题考点与刷题技巧

简介:《2022年计算机等级考试一级试题及答案》是为全国计算机等级考试一级考生整理的练习文档,覆盖计算机基础核心知识点,适合考前刷题、查漏补缺。内容以选择题为主,包含多套试题及解析,涉及计算机发展历史、第四代计…

2026/10/23 5:08:58

老显卡UEFI黑屏怎么办?GOP模块更新实战指南

简介:一套面向AMD与NVIDIA显卡用户的UEFI GOP固件升级工具包,可解决老显卡在UEFI模式下启动黑屏、兼容性不足等问题,也能通过更新显卡BIOS提升稳定性和性能。包内共38个文件,压缩包约6.63MB,核心包含多个.efirom格式GO…

2026/10/23 5:08:58

数学建模电工杯:AI学习影响评价题的降维与综合评价拿分技巧

简介:这份资料是一份针对数学建模电工杯赛题的完整论文方案,围绕“人工智能对大学生学习影响的评价”展开,面向参赛学生与指导教师,既提供赛题解题流程,也可作为数据分析与综合评价类建模项目的参考样例。文档基于调查…

2026/10/23 5:08:58

VMware虚拟机安装Ubuntu零基础教程:小白也能安全上手

简介:本资源是一份面向Linux初学者与开发环境搭建需求者的VMware虚拟机安装Ubuntu系统实操指南,解决在Windows主机上零基础部署Ubuntu开发环境的核心问题。文档以图文并茂方式完整覆盖虚拟机选型对比、VMware安装配置、Ubuntu镜像下载选择、虚拟机创建、…

2026/10/23 5:03:58

9、Python基础之IO编程

前言IO就是Input/Output,输入输出。程序和外部数据交换都属于IO操作:读取文件、写入文件、网络传输等。IO操作有一个核心特点:速度远慢于CPU计算。 Python内置了丰富的IO支持,本篇包含:文件读写、StringIO/BytesIO、文…

2026/10/22 11:29:28

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/23 0:02:26

Verilog实现FPGA密码锁:矩阵键盘与状态机设计实战

说实话,这几年接触了不少想入门FPGA的朋友,如果你问哪个项目能一口气把Verilog的核心基本功串起来,我通常会推荐电子密码锁。这个项目看着不起眼,却把矩阵键盘扫描、按键消抖、状态机设计、动态显示刷新、外设控制这些数字逻辑里的…

2026/10/23 0:02:26

数据服务监控运维实战:从指标体系到告警治理与故障排查

周末凌晨两点,手机震了。第一反应是“数据服务挂了”。打开电脑看了下,果然,某张核心报表的数据产出时间已经超过SLA两小时,下游三个业务方连着发来问询。这种场景,做过大数据运维的人都不会陌生。数据服务的监控与运维…

2026/10/23 0:02:26

FreeRTOS任务通知实战详解:内核原理、API与避坑指南

裸机编程切到RTOS之后,任务之间的通信和同步永远是躲不开的坎。前面聊过队列、信号量、互斥锁、事件组,这次把FreeRTOS任务通知(Task Notification)单独拎出来讲透。原因很简单:任务通知是FreeRTOS里最容易用错、也最容…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑