如果你的 AI Agent 能"记住"上次对话中学到的技能,能像人类一样不断"成长",会发生什么?
这不是科幻。2026年3月,一个名为 Superpowers 的项目在 GitHub 上单日获得 3152+ Stars,它正在重新定义 AI Agent 的构建方式。
痛点:传统工具调用的碎片化
开发者们对这个问题应该不陌生:你用 LangChain 构建了一个 Agent,给它配置了搜索工具、代码执行工具、数据库查询工具。一切看起来很美好。
直到你需要让 Agent “学会"一个新能力。
传统模式下,工具是独立的函数调用,Agent 不知道"上次调用这个工具做了什么”,也不知道"如何组合多个工具完成复杂任务"。每次对话,Agent 都从零开始。
这就像一个人每次工作都要重新学习所有技能——效率极低,更谈不上"智能进化"。
Superpowers 的解法:Agentic Skills
Superpowers 的核心理念很简单:把"工具"升级为"技能"。
技能 vs 工具:本质区别
| 维度 | 传统工具 | Agentic Skill |
|---|---|---|
| 状态管理 | 无 | 内置状态、记忆 |
| 可组合性 | 需手动编排 | 声明式组合 |
| 可复用性 | 函数级 | 能力模块级 |
| 进化能力 | 无 | 支持自我优化 |
一个 Skill 不仅仅是"能做什么",还包含"怎么做"、“什么时候做”、“做了之后记住什么”。这让 Agent 从"执行器"变成了"学习者"。
核心架构
Superpowers 的架构包含三个关键层:
1. Skill Definition Layer(技能定义层)
skill:
name: web_research
description: "搜索并总结网页内容"
tools: [search, scrape, summarize]
memory:
- search_history
- trusted_sources
triggers:
- user_ask_about_topic
- need_fresh_info
2. Composition Layer(组合层) 技能可以像乐高一样组合。一个"写博客文章"的 Skill 可以由 research、outline、write、edit 四个子技能组成,每个子技能又可以是更细粒度技能的组合。
3. State Management Layer(状态管理层) 每次执行技能,状态都会被持久化。Agent 真正拥有了"记忆",能在多次对话中持续进化。
与主流框架的整合
Superpowers 最大的亮点之一是框架无关性。它不要求你重写现有代码,而是以插件形式整合。
Claude Code 整合
# 安装 Superpowers 扩展
claude extension install superpowers
# 在 CLAUDE.md 中声明技能
skills:
- name: code_review
triggers: [pr_created, commit_pushed]
- name: test_generation
triggers: [code_changed]
Claude Code 原生支持 Superpowers 的技能声明,你可以让 Claude 自动获得代码审查、测试生成等能力。
LangChain 整合
from superpowers import Skill, Agent
from langchain.tools import Tool
# 将 LangChain Tool 包装为 Skill
research_skill = Skill(
name="research",
tools=[Tool(...)], # 现有工具
memory=True,
auto_improve=True
)
agent = Agent(skills=[research_skill])
agent.learn("今天研究了什么?") # 会记住上下文
实战:5分钟构建有记忆的 Agent
让我们用一个实际例子感受 Superpowers 的魅力。
假设你要构建一个"技术调研助手",它能记住你的研究偏好,每次调研都会基于历史经验优化结果。
from superpowers import Skill, Agent, Memory
# 定义技能
research_skill = Skill(
name="tech_research",
tools=[search, scrape, summarize],
memory=Memory(
persist="sqlite:///research.db",
include=["preferences", "history", "trusted_sources"]
),
on_improve=lambda self: self.optimize_sources()
)
# 创建 Agent
assistant = Agent(
skills=[research_skill],
personality="专业、高效、有洞察力"
)
# 第一次交互
assistant.ask("帮我调研 Superpowers 框架")
# Agent 会记住这次调研的关键信息
# 第二次交互(可以是几天后)
assistant.ask("有没有类似的 Agent 技能框架?")
# Agent 会基于上次调研,推荐相关项目,而不是从零开始
关键是 persist=“sqlite:///research.db” ——技能的记忆被持久化了。Agent 真正在"成长"。
生产级考量
在把 Superpowers 用于生产环境前,有几点需要注意:
错误处理
技能执行失败时,Superpowers 提供了优雅的降级机制:
skill = Skill(
name="critical_task",
fallback=lambda: notify_admin(),
retry=3,
timeout=30
)
调试与监控
每个技能执行都会生成详细的 trace:
# 启用调试模式
agent.debug = True
# 查看执行轨迹
agent.traces.show()
这对于排查线上问题至关重要。
成本控制
技能执行会产生 API 调用成本。建议:
- 对高频技能设置缓存
- 使用
cost_limit限制单次执行开销 - 监控技能调用的 token 消耗
技能驱动的未来
Superpowers 代表了一个趋势:AI Agent 开发正在从"配置工具"转向"培养技能"。
这种转变意味着:
- Agent 不再是工具的集合,而是有学习能力、有记忆、能进化的智能体
- 开发者的工作重心从"写工具"转向"定义技能",更关注能力的抽象和组合
- 技能市场可能出现 —— 开发者可以分享、交易高质量的 Skill 模块
GitHub 上 3000+ Star 的热度说明,这个方向正在获得社区的广泛认可。
小结
Superpowers 不是又一个工具库,而是一种新的 Agent 开发范式。它解决了传统工具调用的碎片化问题,让 Agent 真正具备了"成长"的能力。
如果你正在构建 AI Agent 应用,不妨试试 Superpowers。也许你会发现,让 Agent “学会"新技能,比你想象的更简单。
相关链接:
- Superpowers GitHub: https://github.com/dnakov/superpowers
- Claude Code 文档: https://docs.anthropic.com/claude-code
- LangChain 集成指南: https://python.langchain.com/docs/integrations/superpowers
