News Hacker|极客洞察

22 12 天前 github.com
🤖Tendril:能自建并注册工具的 agent
今天自建工具,明天接管银行账户吗?

🎯 讨论背景

这篇帖子介绍了 Tendril,一个围绕“自我扩展工具”的 agent 原型:它从三个 bootstrap tools 起步,先搜索已有 capabilities,找不到就自己生成工具并注册到 registry,目标是缓解 coding agent 的冷启动和上下文膨胀问题。作者把它描述为 Agent Capability pattern(Agent 能力模式)的 reference implementation,并强调系统里没有 direct code execution,模型只能通过已注册能力行动。实现栈包括 AWS Strands TypeScript SDK(AWS 的 TypeScript agent SDK)、Bedrock(AWS 的模型托管平台,使用 Claude Sonnet)、Deno sandbox(Deno 的沙箱运行环境)以及 Tauri + React desktop shell(桌面客户端外壳)。评论区则把话题扩展到 workflow automation(工作流自动化)、Saved Programs、MCP/Skills(Model Context Protocol / Skills)以及 reflection、type system 这类更底层的基础设施问题,同时讨论如何避免 agent 越权和如何判断一个自动生成工具是否真的可用。作者还提到用 Qwen3-8B、Gemma 4、Mistral Small 3.1、Devstral Small 2 和 Salesforce xLAM-2 做过测试,但这些本地模型都没通过自扩展循环,说明这套思路目前仍很实验性。

📌 讨论焦点

工具调用的时机比工具本身更关键

不少评论者认可把“WHEN”单独拿出来讨论,认为很多 agent 框架只说明工具做什么、怎么调用,却没解决何时该调用。如果模型读不出现场状态,就会出现过度发起工具调用、浪费 token,或者该动手时却像聊天机器人一样沉默。有人建议不要把“if X then fire Y”写成僵硬规则,而要把当前已尝试过什么、问题收敛到什么程度、工作状态是什么讲清楚,让模型自己判断。也有人质疑现有注册机制仍然只是把 IF-THEN 规则换了个地方放。

[来源1]

工具注册表、Saved Programs 与 workflow automation

一条很强的主线是:与其让模型每次重新想办法,不如把可复用的程序/工具保存下来,下次先搜索再执行。有人把这种思路直接称为 workflow automation,认为“程序作为工具”的方向才是正解,agents 或 skills 也只是朝同一方向靠拢。评论里也提出尖锐问题:如果让 LLM 自己写工具,怎样判断它是否足够正确、足够稳定到可以发布。后续还举了网页 DOM 变化、按钮 id 失效这类维护问题,说明“会跑”并不等于“可长期复用”。

[来源1] [来源2] [来源3] [来源4] [来源5]

权限隔离与审查流程

有评论分享了一个更保守的实现:agent 只保留 search、request execute、request build、request update 之类的接口,真正的工具服务负责 vector search、构建、审核和注册。新工具要经过 authoring 和 adversarial reviewer 的多轮回退,credentials 也被加密存放,只在执行时注入。这样做的目标是让 agent 自己永远碰不到敏感权限,也不能绕过 vetted functions 直接做事。另一条评论则把这个担忧说得更直白:如果自扩展失控,下一步是不是就能碰银行账户了。

[来源1] [来源2]

实验性强,基础设施和模型能力仍是瓶颈

作者把 Tendril 定位为 Agent Capability pattern 的 reference implementation:从三个 bootstrap tools 起步,禁止 direct code execution,让每次任务都逼着模型先写工具、再定义调用条件、最后注册到 registry。作者还说拿五个本地模型做过自扩展循环测试,结果全部没通过,说明这个流程目前对模型能力要求很高。另一些人也提到,自己做类似 tool registry 时很快发现必须补上更多基础设施,尤其是跨网络的 reflection、type system 和更复杂的构建/解析层。也有人用一句“让模型自我压缩”来讽刺这种设计,暗示它可能只是把上下文重新打包。

[来源1] [来源2] [来源3] [来源4]

📚 术语解释

tool registry(工具注册表): 把可用工具登记成目录,供 agent 搜索、加载和复用。

Agent Capability pattern: 一种让 agent 通过创建和注册能力来扩展自己的设计思路。

workflow automation(工作流自动化): 把重复任务固化成可执行流程,而不是每次都让模型重新推理。

reflection(反射): 运行时读取和理解对象、接口或能力信息的机制,这里指分布式/跨语言场景下的 introspection。

type system(类型系统): 用于约束接口、数据结构和调用契约的规则体系,可减少工具集成时的歧义。

sandbox(沙箱): 限制代码执行权限和系统访问范围的隔离环境。

MCP/Skills(Model Context Protocol / Skills): 用于向模型暴露外部能力的协议或技能包装方式,常被讨论为工具接入方案。