羽织 (@Lianues) 在 从skills说起,探究skills的升级方案:skills+mcp混合方案-动态系统提示词+动态tools参数 中发帖
昨晚心血来潮,阅读了一下skills的更多细节内容,发现Anthropic给出的skills存在这些问题:
只能传入文本,无法动态的决定传入的tools工具
skill在被ai调用后,其内容部分会持久的记录在上下文里
mcp和skills是割裂的两个系统,Anthropic没有给出直接的转换或者兼容工具
skills工具本身没有强制判断参数是否可用
追其根本,是因为Anthropic在claude code实现skills时是下面这样实现的
首先定义了一个skills工具,然后你定义的skills描述会作为skills外层的工具整体描述传入进去
没有给skills工具的获取skill内容参数传入定义的skills的名称作为enum可选项,这导致ai输出skills工具时,可能会传入不存在的参数
skills文件结构里,虽然定义了一个allowed_tools参数,但是Anthro...