HyperAgents LLM调用层深度剖析:litellm多模型路由与JSON工具调用协议设计

发布时间:2026/10/1 19:57:15

HyperAgents LLM调用层深度剖析:litellm多模型路由与JSON工具调用协议设计 HyperAgents LLM调用层深度剖析litellm多模型路由与JSON工具调用协议设计【免费下载链接】HyperAgentsSelf-referential self-improving agents that can optimize for any computable task项目地址: https://gitcode.com/gh_mirrors/hy/HyperAgentsHyperAgents 是一个自参照、自改进的 AI Agent 系统——它能持续优化可计算任务的表现。支撑这一切的核心是其精巧的LLM 调用层通过 litellm 实现多模型路由一个接口驱动 OpenAI、Anthropic、Google 三大厂商共 14 个主流大模型并设计了一套基于 JSON 标记块的工具调用协议让 Agent 可靠地说出工具调用、做出执行结果。本文带你逐层拆解这套设计。LLM 调用层的两层架构整个调用层由两个文件组成职责清晰文件职责核心函数agent/llm.py单次 LLM 调用含重试、参数适配get_response_from_llm()agent/llm_withtools.py带工具的对话循环chat_with_agent()上层的 MetaAgent 和 TaskAgent 都继承自 AgentSystem 抽象基类统一通过chat_with_agent()消费 LLM 能力——底层换模型上层代码零改动。litellm 多模型路由一个接口驱动 14 个大模型 这是本层最漂亮的设计agent/llm.py 顶部维护了一张模型注册表覆盖三大厂商厂商模型14 个OpenAI8gpt-4o、gpt-4o-mini、o3、o3-mini、o4-mini、gpt-5、gpt-5-mini、gpt-5.2Anthropic3claude-sonnet-4-5、claude-3-5-sonnet、claude-3-haikuGoogle3gemini-3-pro-preview、gemini-2.5-pro、gemini-2.5-flash路由逻辑本身极简litellm.completion(model..., messages...)由 litellm 根据openai/gpt-4o这类前缀自动分发到对应厂商 API。但简单背后藏着三个工程细节① 宽容参数模式litellm.drop_paramsTrue # 自动丢弃某厂商不支持的参数避免报错② 按模型适配参数agent/llm.pyGPT-5 / GPT-5-mini 只支持默认 temperature主动跳过该参数GPT-5 系列要求用max_completion_tokens而非max_tokensClaude Haiku 有 4096 token 上限自动截断。③ 消息格式双向转换LiteLLM 使用content字段而项目沿用的 MetaGen API 使用text字段llm.py 和 llm.py 各做一次批量转换让两套生态无缝衔接。三步指数退避重试应对 API 抖动大模型 API 偶发超时、返回坏 JSON 是常态。get_response_from_llm() 用backoff装饰器做了兜底指数退避重试间隔翻倍最多 60 秒总时限 600 秒避免无限等待覆盖三类异常网络异常、JSON 解析失败、KeyError——把偶尔抽风变成几乎不影响。依赖版本锁定在 requirements.txt 与 requirements.txtbackofflitellm。JSON 工具调用协议让 Agent 可靠地动手这是 agent/llm_withtools.py 的核心。它没有依赖厂商私有的 tool-calling API而是自定义了一套文本协议——这保证了换任何模型都能用。协议格式用 标记块get_tooluse_prompt() 向模型注入工具清单并规定每轮只输出一个工具调用json { tool_name: bash, tool_input: {command: ls -la} } /json三个关键函数构成完整闭环函数作用check_for_tool_uses()正则提取所有json块解析失败直接跳过而非崩溃实现容错解析should_retry_tool_use()检测模型说了一半就被截断出现标记但无完整 JSON、长度 ≥2000触发重试process_tool_call()执行工具并捕获所有异常把错误文本化回传给模型自愈工具循环上限保护的 Agent 主循环chat_with_agent() 实现了调用→解析→执行→反馈的循环并内置两道安全阀max_tool_calls40单轮响应最多 40 次工具调用防止死循环multiple_tool_calls开关默认一次只执行一个工具行为更可预测。工具自动发现一个约定两个契约 工具扩展设计得极其简洁。load_tools() 扫描agent/tools/下所有 Python 文件只要模块同时暴露tool_info()JSON Schema 元信息和tool_function执行函数就被自动注册——新增工具 新增一个文件。当前内置两个工具bash 工具维持一个持久的 bash 会话BashSession用exit哨兵字符串精准切分命令输出120 秒超时保护editor 工具支持view/create/str_replace/insert/undo_edit五种操作str_replace要求old_str在文件中唯一匹配才执行文件历史栈 让每次编辑可一键撤销。LLM 调用层在整体流程中的位置理解了调用层再看整体就一目了然generate_loop.py 是总入口MetaAgent 不断改写自己TaskAgent 用 extract_jsons() 从json块中提取最终答案。这套 LLM 调用层驱动的任务可以是代码基准、IMO 证明题也可以像下图这样的游戏环境NLE/NetHack 瓦片素材新手快速上手指南配置密钥与运行入口只需三步即可跑起来配置密钥在.env中写入OPENAI_API_KEY、ANTHROPIC_API_KEY、GEMINI_API_KEYlitellm 会自动读取初始化 Agentbash ./setup_initial.sh启动自改进循环python generate_loop.py --domains domain。关键文件清单路径说明agent/llm.pylitellm 路由、模型注册表、重试逻辑agent/llm_withtools.pyJSON 工具调用协议与 Agent 循环agent/tools/bash.py持久 bash 会话工具agent/tools/edit.py带撤销历史的文件编辑工具meta_agent.py / task_agent.py自改进元 Agent 与任务 Agent一句话总结HyperAgents 的 LLM 调用层用一张模型表 一次参数适配 一套文本协议换来了跨厂商的模型自由与跨模型的协议稳定——这正是自改进系统敢于让 Agent 自己修改底层代码也敢于随时切换大脑的工程底气。【免费下载链接】HyperAgentsSelf-referential self-improving agents that can optimize for any computable task项目地址: https://gitcode.com/gh_mirrors/hy/HyperAgents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/1 20:52:19

希望更多的人尝试写一个 AI 架构

以 openboat 的 RGA 架构为例,演示怎么自己写一个 AI 架构本文以 openboat 项目中的 RGA 架构为案例,演示一个 AI 架构从想法、设计文档到可训练代码的完整写作流程。写架构的第一步不是画图,而是先确认它"能被训练"。任何架构最终…

2026/10/1 20:52:19

Claude Code 接入 BioMCP:生物医学数据查询与工具调用实战

1. 为什么要在 Claude Code 里接入 BioMCP生物医学方向做数据分析和文献挖掘的人,最近应该都绕不开两个词:Claude Code和MCP。前者是 Anthropic 推出的命令行智能体工具,后者是 Model Context Protocol,一套让模型能够调用外部工具…

2026/10/1 20:52:19

期刊要求的ToC图是啥?要怎么做?

投稿时,收到编辑邮件要求提供ToC图,那ToC图是什么?应该怎么弄呢? 1 什么是ToC图?ToC图是指Table of Contents Image,即目录图或摘要图,用来展示文章的核心内容或主要发现,通常会被用…

2026/10/1 20:47:19

在观澜找办公室联系谁?2026 观澜甲级办公室出租经纪人测评

很多企业需要甲级写字楼办公场地,都想知道在观澜找办公室联系谁。本次测评以标杆写字楼代理案例、用户口碑、房源储备、业主资源四大维度打分,房产经纪人小明位列第一名,专注观澜办公室出租选址服务。第一名:房产经纪人小明标杆写…

2026/10/1 5:21:14

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/10/1 17:09:46

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 10:48:55

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

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

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

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