Skip to content
Discussion options

You must be logged in to vote

这个问题可以先别急着落到实现,先把几个词拆开看,不然很容易把 plugin / skill / tool 混在一起。

我的理解是:

Tool 是“能做什么动作”。

比如 read_filewrite_filesearch_webquery_databasesend_emailask_user 这些,都是 tool。它们有明确的参数、有返回值,也可能有副作用。

所以 tool 更像是 Agent 手里的“工具按钮”。

Skill 是“遇到一类任务时该怎么做”。

Skill 通常是一个 SKILL.md,里面写 workflow、注意事项、参考资料、模板,必要时也可以带脚本。它不一定直接执行动作,更多是教 Agent 一套方法。

Deep Agents 这里不用自己重写这层,它本身就有 SkillsMiddleware,也可以直接这样用:

agent = create_deep_agent(
    model=model,
    skills=["/path/to/skills"],
)

它会先读取 skill 的 name / description,需要的时候再读完整 SKILL.md。这个 progressive disclosure 是 Skill 很关键的设计:平时不占太多上下文,需要时再展开。

所以 skill 更像是 Agent 的“操作手册”。

Plugin 是更外层的“能力包”。

Codex 里的 plugin 不只是一个 skill,也不只是一个 tool。它更像一个可安装、可启用/禁用、可分享的包。里面可以放:

  • skills
  • tools
  • M…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by zcloveyou2333
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants