WY
2个月前
Claude Skills可能走对路了 前天Anthropic发布了Claude Skills,这是一种让AI获取新能力的全新机制。很不错的设计,包含了软件两个最主要的组成部分:程序和资源,还没有什么别的复杂性。架构看起来很合理,虽然要实际用用才能感觉出来是不是真的好用,但初步从架构设计看,感觉Claude Skills在方向上可能走对路了,整个AI行业可能走对路了。 简洁的力量:程序+资源就够了 Skills的核心概念非常简单:一个Skill就是一个文件夹,包含指令、脚本与资源。具体来说,每个Skill包含三样东西:指令(Instructions)告诉Claude该做什么、脚本(Scripts)执行具体任务、资源(Resources)提供模板和辅助内容。因为自然语言也是代码,指令和脚本其实是分不清的,都属于程序。 这种设计的合理之处在于它抓住了软件的本质。软件不就是程序和资源吗?程序负责逻辑,资源负责数据和素材。Skills把这两者有机结合,又没有引入什么别的复杂性。 更重要的是Skills的按需加载机制。Claude只会在Skill与当前任务相关时才会调用,并且采用渐进式披露:先加载元数据(约100词),再加载主体(也比较小),最后才是具体的资源文件。这种设计既高效又节省token,体现了对成本和性能的深度考量。 AI能力扩展的演进:从Plugin到Skills 要理解Skills的价值,需要回顾OpenAI和Anthropic在AI能力扩展上的探索历程。 OpenAI的Plugin是第一次尝试,但看起来是不成功的尝试。Plugin主要依赖API调用,虽然概念不错,但实际体验并不理想,很快就被弱化了。后来推出的GPTs允许用户定制AI的知识和行为,但本质上仍然是基于提示词工程的定制,缺乏真正的能力扩展。 最新的Apps则希望把第三方的界面直接嵌进来,感觉步子迈得有点大。让AI直接操作第三方应用的界面,这种computer use式的方案虽然听起来很酷,但实际可控性和可靠性都面临巨大挑战,而且第三方应用也不愿意被嵌入的这么深。百度很多年前想做框计算,目的是类似的,并没有成功。 Anthropic自己推出的MCP(Model Context Protocol)走的是另一条路,主要通过API调用已有服务的能力,和Skills的定位不同。MCP更多是为了连接外部系统和服务,而Skills则是为Claude赋予新的原生能力。 相比之下,Skills找到了一个更优雅的平衡点。它用Markdown这种人人都能理解的格式来描述能力,可以包含详细的使用说明和示例。开发者创建一个Skill,就像是"给Claude写一份入职手册"。而且Skills可以打包分享,形成开放的生态系统,这大大降低了开发门槛。 Anthropic一口气开源了20多个Skills,涵盖创意设计、开发技术、企业应用等各个领域。这种开放的姿态,很可能会推动一个繁荣的Skills生态的形成。资源的例子很好理解:Canvas-fonts包含很多字体文件,这样Claude在生成设计时就能直接调用。 仍需改进的地方 当然,任何新技术都不可能完美。Skills目前也存在一些明显的不足。 首先是技术门槛问题。虽然Skills用Markdown编写降低了理解难度,但官方的一些Skills仍然依赖于apt-get这样不够亲民的指令,至少对大多数Windows的用户这一步就直接挂了。普通用户希望的是一个软件包一装就灵,而不是还要装一大堆依赖。如何让Skills的创建和使用更加大众化,是Anthropic需要继续优化的方向。 其次,Skills看起来不容易拥有自己的存储和数据库。这在处理需要持久化状态的任务时可能会成为限制。比如,如果我想创建一个帮我跟踪工作进展的Skill,它需要记住之前的任务状态和历史数据,但现在的Skills架构似乎不太支持这种场景。不过或许可以在Skill里调用sqlite这样的数据库命令来实现这一点? 结语 Claude Skills的发布,为AI能力扩展提供了一个简洁而优雅的解决方案。相比OpenAI的Plugin、GPTs和Apps等尝试,以及Anthropic自己的MCP,Skills在易用性、可控性和生态开放性之间找到了更好的平衡。它避免了过度工程化的陷阱,用最小的复杂度实现了核心价值。 在AI原生应用的探索中,我们都在寻找那个平衡点:既要充分发挥AI的能力,又要保持用户体验的简洁流畅;既要提供强大的功能,又要避免不必要的复杂性。Skills在这个平衡上做出了有价值的尝试,值得我们这些AI产品从业者认真研究和借鉴。
铁锤人
2个月前
你仍然需要思考 随着编码智能体(coding agents)的能力越来越强、运行时间越来越长,这并不意味着人类“思考”的工作就被取代了。总得有人来负责指挥这些工作——设定目标、选择约束条件,并对输出结果作出判断。 大家在抽象层面上似乎都认可这一点,但几乎没有人真正讨论过一个事实:产品形态的不同,实际上会从根本上改变“写代码”时所需的思考方式。 💭 不同产品形态对“思考预算”的影响 我认为,不同编码智能体之间看似细微的 UX(用户体验)差异,实际上对用户“思考预算”的分配方式有着巨大的影响。 远程型产品(如 Codex Cloud,而非 CLI): 这种产品鼓励你不要在智能体工作时花太多精力思考,而是更多地在最后拿到结果后再思考。 我们甚至刻意不让用户看到智能体调用终端命令的过程,因为模型的工作方式和人类有本质区别。 交互式产品(如 Claude Code 或 Codex CLI): 在这种产品里,你会花更多时间去思考规范和智能体采取的高层方案,因为你可以在终端中“跟随”它的思路。 不过,你需要在其他地方(如编辑器或 GitHub)查看代码差异,因此工作流程更多是在跟进智能体的计划并验证执行过程。 IDE 集成型产品(如 Cursor): 你会快速地接受或拒绝智能体给出的代码改动。 因为上下文已经在编辑器中,所以你无需花太多心思去提供上下文信息,但这意味着你可能需要提前花时间把问题拆解好,在最开始就想清楚计划和方案。 🧠 “思考预算”的四个主要环节 所有这些产品都需要在以下四个环节之间重新分配“主动思考”的时间: 提供正确的上下文 制定计划 实现代码 验证和审查 就目前 LLM 的能力而言,我的判断是: 👉 实现(3) > 验证(4) > 规划(2) > 提供上下文(1) 也就是说,“提供上下文”仍然是人类价值最大的地方。在我们拥有更好的组织内搜索工具、用户信息提取工具、全局上下文理解能力之前,这一点都不会改变。 另一方面,LLM 在接收清晰的计划并实现它时表现非常出色。它们能很好地处理竞态条件、错误处理以及复杂的技术细节。 🔍 不同问题 & 不同思考方式 如果你接受“思考预算”这个概念,就不难理解为什么工程师在使用不同工具时的体验差异会如此巨大: 有些问题只需要一个清晰的规范——你已经完全知道实现的样子。 有些问题需要通过写代码来“思考”问题本身,然后再进行重构。 有些工程师更喜欢先看一版初稿再进行审查,而不是从零开始写。 不论你偏好哪种方式,不同的产品体验都要求你用不同的方式来思考。我认为不太可能出现一种“单一工作流程”就能满足所有用户的需求。 你依然需要思考……但最好的产品,会让用户自己选择他们想要“如何思考”。