HyperAgents工具系统揭秘:bash与editor两大工具如何赋予AI智能体“手和脚“

发布时间:2026/10/2 17:28:40
HyperAgents工具系统揭秘:bash与editor两大工具如何赋予AI智能体“手和脚“ HyperAgents工具系统揭秘bash与editor两大工具如何赋予AI智能体手和脚【免费下载链接】HyperAgentsSelf-referential self-improving agents that can optimize for any computable task项目地址: https://gitcode.com/gh_mirrors/hy/HyperAgentsHyperAgents 是一个能够自我改进的 AI 智能体框架它可以针对任意可计算任务持续优化自己。而让智能体从只会说变成会做事的关键正是它内置的两大工具bash与editor。本文带你快速看懂这两个工具的内部设计与协作方式。什么是 HyperAgents会给自己进化的智能体HyperAgents 的核心思想是 Self-referential self-improving agents自我指涉、自我改进的智能体它可以针对任意可计算任务进行优化。智能体不仅能完成外部任务还能反过来修改自己的代码实现自我提升。项目中有两种角色任务智能体负责在具体领域代码、数学、游戏等完成任务见 task_agent.py元智能体Meta Agent接收修改整个代码库的指令持续改写智能体自身见 meta_agent.py智能体要优化的任务场景非常丰富比如 NetHack 学习环境NLE中的游戏世界上图NLE 环境的像素素材domains/balrog/environments/nle/Tiles16x16.png智能体需要在此类环境中行动而要动手做事智能体就必须有工具——这就是agent/tools/目录的作用。工具系统架构一套约定自动加载工具系统的入口是 agent/tools/init.py 中的load_tools函数它采用约定优于配置的设计扫描agent/tools/目录下所有.py文件只要模块同时提供tool_info()工具描述与参数 Schema和tool_function()执行函数就被自动注册为可用工具这意味着新增一个工具只需写一个文件无需改动框架代码扩展性极佳。bash 工具智能体的脚——在系统里自由行动bash工具定义在 agent/tools/bash.py它让智能体拥有了操作 Linux 系统的能力持久化会话BashSession类bash.py#L27-L56用异步子进程维持一个长期存活的交互式 shell环境变量、已安装的包、工作目录状态在多次调用间持续保持包安装能力可通过apt和pip访问常见 Linux / Python 包的镜像源超时保护每条命令默认 120 秒超时防止智能体陷入死循环精准输出捕获通过exit哨兵标记区分命令结束与仍在输出避免误读后台任务的输出借助 bash 工具智能体可以安装依赖、运行实验脚本、查看日志、启动服务——这是它探索世界的脚。editor 工具智能体的手——精准编辑文件editor工具定义在 agent/tools/edit.py是智能体进行代码修改的手。它提供 5 个命令edit.py#L113-L144命令作用view带行号查看文件或列出目录2 层深度create创建新文件已存在则拒绝防止误覆盖str_replace精确替换文本要求old_str在文件中唯一匹配insert在指定行号后插入内容undo_edit撤销上一次编辑三个精心设计的安全机制值得注意唯一性校验str_replace会统计匹配次数若old_str出现多次则拒绝执行并提示行号避免改错地方edit.py#L206-L218撤销历史全局FileHistory记录每次编辑前的内容undo_edit一键回滚edit.py#L57-L72输出截断超长内容自动截断并标记response clipped防止撑爆智能体的上下文窗口编辑完成后工具还会返回修改片段并提醒智能体检查改动是否符合预期形成自我验证闭环。工具调用闭环从思考到执行工具如何被智能体使用核心逻辑在 agent/llm_withtools.py 的chat_with_agent函数中注入工具清单把每个工具的 JSON Schema 拼入系统提示词告知智能体有哪些工具、参数格式解析调用智能体在回复中输出json包裹的工具调用形如{ tool_name: bash, tool_input: { command: pip install numpy } }执行并回传框架执行tool_function将结果作为新消息交还智能体继续推理循环直至完成单轮响应最多允许 40 次工具调用并内置上下文溢出重试机制正是这个思考 → 调用工具 → 观察结果 → 再思考的循环加上元智能体以tools_availableall全量启用工具去修改自己的代码库meta_agent.py#L16-L18才让 HyperAgents 真正实现了自我改进。小结两个工具一个进化引擎维度bash 工具editor 工具定位智能体的脚——系统与执行智能体的手——文件与代码核心能力持久 shell、装包、跑命令查看、创建、替换、插入、撤销安全设计120 秒超时唯一性校验、撤销历史、输出截断想深入阅读源码推荐从这三个文件入手工具注册机制agent/tools/init.pybash 工具实现agent/tools/bash.pyeditor 工具实现agent/tools/edit.pybash与editor看似朴素却是 HyperAgents 整个自我进化飞轮的地基——没有手和脚再聪明的智能体也只是纸上谈兵。【免费下载链接】HyperAgentsSelf-referential self-improving agents that can optimize for any computable task项目地址: https://gitcode.com/gh_mirrors/hy/HyperAgents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考