360 Secure SkillHub
360 安全技能中心

tool-use

把自然语言意图转成 {name, arguments} 形式的 tool_call,依 tool_spec 生成 OpenAI 风格函数 schema,并用本地 dispatch 脚本按注册表校验参数、执行 command 或 python 类型工具并回收结果;另含 learner 脚本记录调用成败并产出改进建议。

qq435912743
qq435912743
热度 12.61
最近更新 2026-08-14 09:29:03
分类:开发依赖:代码执行 / 读写文件应用场景:API 集成 / 代码生成 / 自动化脚本 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add tool-use
Metadata
name
tool-use
description
函数调用 / 工具编排助手(agent 行动力核心)。把自然语言意图转化为结构化 tool_call(名称 + 参数 JSON),生成符合 OpenAI 函数调用规范的 schema,并提供本地调度器(dispatch):按 schema 校验参数、安全执行已注册工具、回收结果。当用户需要"定义工具 schema""做 function calling""让 agent 调用工具""tool dispatch""注册并调用工具"时调用。
agent_created
true
visibility
public

工具调用(Tool-Use)· 函数调用与编排

让 agent 从"只会说"变成"能做事":把意图变成可执行的 tool_call,并按 schema 安全调度真实工具。这是 agent 行动力的核心一环,也是元进化循环能从"规划"落到"执行"的关键。

适用场景

  • 给大模型/agent 设计可用的工具清单(function schema)
  • 把用户一句话意图解析成 {name, arguments} 并分发执行
  • 在 agent 编排中管理多个工具的注册、校验、调用
  • 把已有脚本/命令封装成可被 agent 调用的工具

标准工作流

1) 生成工具 schema

python scripts/schema.py --spec tool_spec.json --out schema.json

tool_spec.json 示例:

{"name":"get_weather","description":"查询城市天气","parameters":[
  {"name":"city","type":"string","required":true,"description":"城市名"}]}

输出 OpenAI 风格:{"type":"function","function":{"name":...,"parameters":{"type":"object","properties":{...},"required":[...]}}}

2) 注册并调度工具

python scripts/dispatch.py --registry reg.json --call '{"name":"echo","arguments":{"text":"hi"}}' --out result.json

reg.json:{"echo":{"type":"command","cmd":"echo {text}"}}(也支持 type:python 调用已注册函数)

安全边界

  • 只执行注册表中显式声明的工具,拒绝任意代码执行
  • 参数先按 schema 校验(类型/必填)再执行,避免注入
  • command 类型工具默认禁用 shell 通配/重定向等非必要能力;危险命令需人工确认

自进化学习系统

python scripts/learner.py record . --capability "工具调用" [--fail --error <类型> --note <说明>]
python scripts/learner.py insight .
python scripts/learner.py reflect .
  • 某类工具的 schema 常被模型填错参数 → 记录,reflect 建议收紧参数描述/枚举
  • 高频工具 → prefer 记录,未来默认预注册