ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Strands Agents 程序化工具调用器:如何让AI智能体写代码编排自己工具的新范式

Strands Agents 程序化工具调用器:如何让AI智能体写代码编排自己工具的新范式 Strands Agents 程序化工具调用器如何让AI智能体写代码编排自己工具的新范式【免费下载链接】harness-sdkBuild an agent harness and control it end-to-end. Open-source SDK for production AI agents in Python TypeScript - any model, any cloud.项目地址: https://gitcode.com/GitHub_Trending/sdkpython13/harness-sdkStrands Harness SDK 的程序化工具调用器programmatic_tool_caller是 AI 智能体工具编排的新范式智能体不再逐个调用工具而是自己写一段 Python 代码把读文件、搜索网页、执行命令等工具当作函数随意链式调用、循环、过滤和并行执行。它默认开启、开箱即用且代码运行在 Rust 编写的 Monty 沙箱中安全可控是生产级 AI 智能体Python TypeScript的实用能力。传统方式的痛点一轮对话只能调一次工具在标准的智能体循环中每执行一次工具调用模型都要等结果回来 → 再想下一步 → 再发一个调用。任务稍复杂几十次往返就出现了慢每次调用都是一次模型往返延迟线性叠加贵中间结果全部堆进对话历史token 消耗大上下文膨胀读 5 个文件5 份完整内容就都进了上下文窗口这是绝大多数智能体框架的固有开销而程序化工具调用器正是为解决它而生。新范式让智能体写代码来编排工具programmatic_tool_caller的工作方式非常直观智能体向该工具提交一段Python 代码code字符串所有已注册的其他工具都被暴露为代码里的async函数智能体可以在一段代码里完成链式调用、循环遍历、结果过滤、并发执行代码只把print()的输出返回给模型——未打印的中间结果留在代码的局部作用域里根本不进上下文窗口比如读取 10 个文件、只保留含关键词的行、汇总打印这样的一步操作最终只产生一条简洁结果而不是 10 份完整文件内容灌进对话。程序化工具调用的 3 个核心收益① 一次往返代替几十次又快又省原本需要 10 轮调用-等待-再调用的流水线现在一段代码一个回合搞定延迟和 token 成本同步下降。② 上下文窗口保持精简返回值默认留在沙箱的局部变量里智能体只看见它显式打印的摘要。大型中间载荷整个 JSON、整页 HTML 解析结果不再污染对话历史。③ 独立调用自动并行加速沙箱内await与asyncio.gather开箱即用。4 个各需 0.3 秒的独立调用串行要 1.2 秒以上用gather并发后1 秒内完成框架限制单次运行最多 10 个内部调用同时进行避免对同一智能体无界扇出。import asyncio # 智能体自己写的代码示例并发调用工具 print(await asyncio.gather(*[slow(valuei) for i in range(4)]))沙箱化执行智能体写代码为什么敢让它跑这是该能力最被低估的部分。代码运行在Monty——一个用 Rust 实现的 Python 解释器️无宿主机能力沙箱内不存在文件系统、环境变量、网络、子进程访问模型写的代码唯一能触达的就是智能体自己的工具⏱️硬性资源上限解释器时间 60 秒、内存 256MB、挂起次数 1000 次默认整段运行墙钟超时 900 秒输出封顶print输出上限 20 万字符失控的打印不会撑爆上下文策略依然生效内部工具调用走智能体正常执行器干预策略Interventions拒绝的调用会以可捕获的RuntimeError暴露给代码需要人工审批的调用会被拒绝并提示改走普通调用需要注意Monty 约束的是代码而非工具本身比如shell工具仍会在宿主机执行命令。若需要操作系统级别的边界可再把智能体放进 Docker/SSH 沙箱运行。如何快速启用配置步骤程序化工具调用器默认开启创建智能体后无需任何配置。常用调整项配置项作用allowed_tools/allowedTools只向代码开放指定工具默认开放除调用器自身外的全部工具timeout/timeoutMs单次运行的墙钟超时上限从builtin_tools列表移除programmatic_tool_caller完全关闭该能力几个贴心细节工具名含-或.MCP 工具常见时会自动生成下划线别名fetch-url→fetch_url结构化/JSON 结果会解析为dict/list供代码索引工具调用失败抛出可捕获的RuntimeError智能体可以在代码里try/except兜底。 相关源码与文档Python 实现programmatic_tool_caller.pyTypeScript 实现programmatic-tool-caller.ts单元测试test_programmatic_tool_caller.py、programmatic-tool-caller.test.ts官方文档programmatic-tool-calling.mdx总结程序化工具调用器把智能体用工具从逐个点按升级为编程编排一轮对话代替几十轮往返、中间结果不进上下文、独立调用自动并发还自带 Rust 级沙箱隔离与策略管控。它是构建生产级 AI 智能体时值得默认保留的核心能力——让智能体写代码编排自己的工具正是这条新范式的精髓所在。【免费下载链接】harness-sdkBuild an agent harness and control it end-to-end. Open-source SDK for production AI agents in Python TypeScript - any model, any cloud.项目地址: https://gitcode.com/GitHub_Trending/sdkpython13/harness-sdk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表