ZGI Skill Loop:给工具调用设边界

ZGI Skill Loop 负责承接模型规划与工具执行之间的连续调用。一次复杂任务可以经历多轮"选择工具、传入参数、读取结果、决定下一步",同时受到执行步数、失败重试、工具超时和结束条件的限制,避免调用链无限延伸。

概念示意图:Skill Loop 在治理检查和限时执行后,根据结果继续调用或停止。

工具为什么会被连续调用

用户让智能体整理客户资料并生成报告时,系统可能先读取文件,再查询数据库,随后写入结果。前一个工具的输出会成为下一轮判断依据,因此多轮调用本身很正常。

风险出现在任务目标缺少完成标准,或工具返回的信息无法推动判断。模型可能再次提交相同参数,也可能在几个工具之间来回尝试。调用次数上升后,等待时间、模型消耗和外部接口压力都会增加。

Skill 说明负责教会方法

技能(Skill)可以描述适用场景、操作步骤、工具选择和结果要求。清楚的 Skill 能减少模型试错,例如规定先检查必填字段,再调用创建接口,最后核对返回编号。

这些说明仍然依赖模型执行。工具异常、参数错误、权限不足或外部服务超时,都可能让原计划无法继续。生产环境还需要运行层约束,决定一次任务最多走多远、失败后还能尝试几次,以及什么时候把未完成情况交代给用户。

四类边界共同限制循环

ZGI 在 Skill Loop 中跟踪执行步数、工具调用、失败轮次和重复失败。调用链超过安全范围时,运行过程会停止继续扩张,并留下对应原因。

边界 处理的问题 需要保留的信息
执行步数 调用链持续变长 已完成步骤与上限原因
失败重试 工具连续报错 错误类别与尝试次数
重复调用 相同参数反复失败 工具名、参数与最近错误
执行超时 单个工具迟迟不返回 状态、耗时与超时结果

步数限制负责控制整条链路,失败限制负责处理持续报错,重复调用检查拦截没有变化的再次尝试,超时则约束单个工具占用时间。四类边界关注的位置不同,需要一起参与运行。

停止后要说明任务做到了哪里

直接抛出"调用失败"会让用户无法判断哪些步骤已经完成。运行层应保留成功工具的结果、最近一次失败、终止原因和未完成部分,再生成一份诚实的说明。

例如,资料已经读取,写入业务系统时权限不足。系统可以明确告诉用户读取阶段已完成,写入动作尚未发生,需要补充授权或交由人工处理。这样既不会重复执行已完成步骤,也不会把部分成功包装成完整交付。

设计 Skill 时写清完成条件

运行限制可以兜底,前面的任务设计仍然影响调用质量。团队可以为每个 Skill 明确输入字段、成功信号、允许重试的错误和终止后的处理方式。

"查询完成"可以对应返回有效记录或明确的空结果;"创建完成"可以对应业务系统返回编号;高风险写入还可以要求审批通过。完成条件越具体,模型越容易判断是否进入下一步,运行记录也更方便复查。

在 ZGI 中,Skill 提供可复用的方法,Skill Loop 承接多轮规划与执行,权限和治理检查控制工具是否允许运行,Skill Trace 保存调用状态与错误。团队由此可以观察一次任务为何继续、为何停止,以及哪里需要修改 Skill 或工具契约。

GitHub:https://github.com/zgiai/zgi

Gitee:https://gitee.com/zgiai/zgi

相关推荐
用户1917291270833 小时前
多 Agent 并行不打架:worktree 隔离与反馈回流落地(附脚本)
人工智能
亦暖筑序3 小时前
AgentScope Java 实战:Agent 的状态存在哪、怎么恢复、怎么隔离?
人工智能·后端·agent
jsl_jsl_jsl3 小时前
《Bun 后端怎么变桌面软件:Tauri 2 三进程架构与崩溃自愈》
人工智能
lucas_AI3 小时前
第 10 讲 · PGO 实战:让程序的真实运行数据指导编译
人工智能
lucas_AI3 小时前
第 8 讲 · oeAware 与中断绑核:把手工调优自动化
人工智能
hyunbar7773 小时前
LangChain 实战:上下文工程长期记忆管理
人工智能
lucas_AI3 小时前
第 11 讲 · KAE 硬件加速:不改一行业务代码的性能提升
人工智能
hanbon3 小时前
技术参数响应表怎么写?
人工智能·招投标·ai写标书·评分表
byte轻骑兵3 小时前
【BlueZ 】sdp 模块:服务发现协议的用户态实现基础
linux·人工智能·bluez·电脑蓝牙·嵌入式蓝牙
这个DBA有点耶3 小时前
异构数据集成方案:跨平台同步的完整指南与工具选型(含实测)
数据库·sql·程序人生·架构·数据库架构·dba