我不再追求写出更好的提示词,我开始设计更好的 AI 技能。

过去两年,人们一直痴迷于提示工程(prompt engineering)。他们希望通过更好的提示词来获得更好的回复。

在与 AI 编程智能体(AI coding agents)合作后,我意识到了一些不同的东西。未来不在于更好的提示词,而在于设计可复用的 AI 能力。

Claude Skills 就代表了这种转变。

我们经常编写很长的提示词。你告诉 AI 扮演架构师,告诉它使用 TypeScript,告诉它编写测试。它确实能很好地工作一次,但明天你还得再次粘贴那段冗长的文本。最终,你的提示词会变成一份 700 行的文档。没人想去维护那种东西。

不要每次都告诉 AI 该如何工作。将这些知识封装起来,一次即可。

一个提示词只适用于一次对话。而一个技能(skill)可以适用于无限次的对话。

最好的技能遵循软件工程原则。

  • 糟糕的技能:辅助开发。
  • 优秀的技能:从 PDF 表单中提取结构化数据。

一个优秀的技能应该只做好一件事情。

不要试图用一个巨大的文件处理所有事情。要拆分职责。使用参考文件和脚本。这就像软件中的“懒加载”(lazy loading)。AI 仅在需要时才加载上下文。

不要让 AI 去做那些代码处理得更好的工作。

  • AI 应该负责推理。
  • 代码应该负责计算。

不要让 AI 去解析 PDF,请使用解析器。不要让 AI 去计算数值,请运行 Python。不要让 AI 去排序数据,请执行脚本。

使用“渐进式披露”(progressive disclosure)。不要在实习生的第一天就给他一本 500 页的手册。先给他一页。只有当他需要时,再给他更多。

这会带来:

  • 更快的响应速度
  • 更低的 Token 消耗
  • 更集中的注意力
  • 更少的幻觉

许多开发者试图构建一个“超级提示词”。他们希望一个提示词就能构建网站、编写后端并修复 Bug。这是糟糕的设计。这就像编写一个承担所有职责的单一类(class)。

更小、更专注的技能效果更好。

如果你无法用一句话解释一个技能的用途,说明它的职责过重了。

我们正在从“构建软件”转向“设计行为”。我们的新技术栈如下:

  • Frontend(前端)
  • Backend(后端)
  • AI Agent(AI 智能体)
  • Skills(技能)
  • Tools(工具)

技能并不会让 AI 实现自主。它们封装了专业知识。你仍然负责决定架构、安全性和质量,而技能则是将这些决策封装起来。

提示工程教会了我们如何提问。技能工程(Skill engineering)则教会了 AI 如何解决问题。

AI 领域的赢家将不仅仅拥有最聪明的模型,他们还将拥有最优质的可复用知识库。

Source: https://dev.to/himanshudevgupta/i-stopped-writing-better-prompts-i-started-designing-better-ai-skills-5ckj

Optional learning community: https://t.me/GyaanSetuAi