技能胜于系统提示词:构建一个 Anki 导师

AI 让我变懒了。

我并不是说我想让机器人包办一切。我的意思是,一旦你开始用智能体(agent)处理枯燥的工作,手动的工作流就会让你觉得不对劲。

Anki 是我进行间隔复习的工具。它效果很好,但我遇到了一个问题:我发现自己在作弊。看到一张很难的卡片时,我会对自己说“我其实知道的”,然后直接跳过。那不是在学习,那是在瞎猜。

我想要一个学习伙伴。我想要有人能考考我,将我的答案与正确答案进行对比,并帮我决定正确的评分。

我曾尝试用一个巨大的系统提示词(system prompt)来实现这一点。我告诉智能体如何辅导、如何编写卡片以及如何在 Telegram 上操作。

但失败了。庞大的提示词会变成“杂物抽屉”。它们会腐烂,变得杂乱无章。

我改变了方法。我使用了 Google Antigravity SDK。

我不再使用单一的大提示词,而是构建了一个分层的智能体系统。

  • 工具(Tools)赋予智能体双手。
  • 技能(Skills)赋予智能体习惯。
  • 策略(Policies)定义边界。
  • 钩子(Hooks)提供保障。
  • 触发器(Triggers)对事件做出反应。

我使用 Python 工具连接到 Anki。现在,智能体可以列出牌组、获取到期卡片并进行评分。

但工具并不等同于行为。为了实现行为,我使用了技能。

技能是一个包含特定指令的小文件。我创建了三个:

  • review-buddy:如何进行学习环节。
  • plain-cards:如何编写高质量的闪卡。
  • codebase-cards:如何将代码转化为学习材料。

这样可以保持主系统提示词的精简。身份信息保留在提示词中,而具体工作细节则存在于技能中。

我还增加了安全性。提示词可能会失效,但策略不会。我使用策略来阻止练习模式下的某些操作。如果智能体试图在突击复习期间更改我的计划,SDK 会在运行时层面将其拦截。

最终的结果是一个多场景智能体。我在终端、通过 Telegram 语音消息以及一个监控代码变更的牌组构建器中使用相同的逻辑。

别再试图写出更好的提示词了。开始编写更精简的提示词和更锋利的技能吧。

Source: https://dev.to/gde/skills-over-system-prompts-building-an-anki-tutor-with-the-antigravity-sdk-2o8f

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