100 个 Agent Skills 盘点(十):创意与可视化

5021 字
25 分钟
100 个 Agent Skills 盘点(十):创意与可视化

封面
封面

写在前面#

这是「100 个 Agent Skills 盘点」系列的最后一篇。十篇下来,我们从代码审查、数据库、浏览器、搜索、云服务、知识管理、版本控制、文档处理、通信通知,一路走到了最后这个轻松的话题:创意与可视化。

如果说前面的 Skills 让 Agent 变得”能干”,那创意 Skills 让 Agent 变得”好看”——能画图、能做表、能生成演示文稿、能创造视觉内容。同时,我们还深入探讨了多 Agent 编排和记忆系统,这两个让 Agent 从”单兵作战”进化为”团队协作”的关键能力。


1. Mermaid 图表 🧜‍♀️#

类别: 文本图表 适用工具: Mermaid.js

Mermaid 用简单的文本语法就能生成各种图表——流程图、时序图、甘特图、类图等。它是文档中嵌入图表的最佳选择。

能力说明:

  • 流程图(Flowchart)
  • 时序图(Sequence Diagram)
  • 类图(Class Diagram)
  • 甘特图(Gantt Chart)
  • 状态图(State Diagram)
  • 饼图(Pie Chart)

Agent 使用场景:

# Agent 生成系统架构图 graph TB Client[客户端] --> LB[负载均衡] LB --> API1[API 服务器 1] LB --> API2[API 服务器 2] LB --> API3[API 服务器 3] API1 --> Cache[Redis 缓存] API2 --> Cache API3 --> Cache API1 --> DB[(PostgreSQL)] API2 --> DB API3 --> DB API1 --> Queue[消息队列] Queue --> Worker1[Worker 1] Queue --> Worker2[Worker 2] Worker1 --> S3[S3 存储] Worker2 --> S3
# Agent 生成时序图 sequenceDiagram participant U as 用户 participant A as API participant D as 数据库 participant C as 缓存 U->>A: 请求数据 A->>C: 检查缓存 alt 缓存命中 C-->>A: 返回缓存数据 else 缓存未命中 A->D: 查询数据库 D-->>A: 返回数据 A->>C: 写入缓存 end A-->>U: 返回响应
# Agent 生成甘特图 gantt title 项目开发计划 dateFormat YYYY-MM-DD section 需求阶段 需求分析 :done, des1, 2026-06-01, 5d 需求评审 :done, des2, after des1, 2d section 开发阶段 后端开发 :active, dev1, 2026-06-08, 10d 前端开发 : dev2, 2026-06-10, 8d section 测试阶段 集成测试 : test1, after dev1, 5d 验收测试 : test2, after test1, 3d

典型指令:

根据这段代码的调用关系,生成一个 Mermaid 时序图,
展示 API 请求从前端到数据库的完整流程。

2. Chart.js 图表 📊#

类别: 数据可视化 适用工具: Chart.js / ECharts / D3.js

数据可视化让枯燥的数字变得直观。Agent 可以生成各种图表——折线图、柱状图、饼图、散点图等。

能力说明:

  • 折线图(趋势)
  • 柱状图(对比)
  • 饼图(占比)
  • 散点图(相关性)
  • 热力图(分布)
  • 仪表盘(指标)

Agent 使用场景:

// Agent 生成数据可视化 HTML
function generateChart(data) {
return `
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<style>
body { font-family: sans-serif; padding: 20px; }
.chart-container { max-width: 800px; margin: 0 auto; }
</style>
</head>
<body>
<h2>${data.title}</h2>
<div class="chart-container">
<canvas id="chart"></canvas>
</div>
<script>
new Chart(document.getElementById('chart'), {
type: '${data.type}',
data: {
labels: ${JSON.stringify(data.labels)},
datasets: [{
label: '${data.datasetLabel}',
data: ${JSON.stringify(data.values)},
backgroundColor: [
'#2563eb', '#10b981', '#f59e0b',
'#ef4444', '#8b5cf6', '#06b6d4'
],
borderWidth: 1
}]
},
options: {
responsive: true,
plugins: {
legend: { position: 'top' },
title: { display: true, text: '${data.title}' }
}
}
});
</script>
</body>
</html>
`;
}

常用图表类型:

图表类型适用场景示例
折线图趋势变化用户增长趋势
柱状图数量对比各部门销售额
饼图占比分析市场份额
散点图相关性价格 vs 销量
热力图分布密度用户活跃时段

3. SVG 绘制 🎨#

类别: 矢量图形 适用工具: SVG 语法

SVG 是矢量图形的标准格式,可以无限缩放而不失真。Agent 可以直接生成 SVG 代码,创建图标、图表、插画。

能力说明:

  • 基础形状(矩形、圆形、线条)
  • 路径绘制
  • 渐变和滤镜
  • 动画
  • 交互

Agent 使用场景:

<!-- Agent 生成的项目进度图 -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 400">
<!-- 背景 -->
<rect width="800" height="400" fill="#f8fafc" rx="12"/>
<!-- 标题 -->
<text x="400" y="40" text-anchor="middle"
font-size="24" font-weight="bold" fill="#1e293b">
项目进度概览
</text>
<!-- 进度条 - 需求分析 -->
<text x="50" y="100" font-size="14" fill="#475569">需求分析</text>
<rect x="200" y="85" width="400" height="24" rx="12" fill="#e2e8f0"/>
<rect x="200" y="85" width="400" height="24" rx="12" fill="#10b981"/>
<text x="620" y="102" font-size="14" fill="#10b981" font-weight="bold">100%</text>
<!-- 进度条 - 后端开发 -->
<text x="50" y="150" font-size="14" fill="#475569">后端开发</text>
<rect x="200" y="135" width="400" height="24" rx="12" fill="#e2e8f0"/>
<rect x="200" y="135" width="280" height="24" rx="12" fill="#2563eb"/>
<text x="620" y="152" font-size="14" fill="#2563eb" font-weight="bold">70%</text>
<!-- 进度条 - 前端开发 -->
<text x="50" y="200" font-size="14" fill="#475569">前端开发</text>
<rect x="200" y="185" width="400" height="24" rx="12" fill="#e2e8f0"/>
<rect x="200" y="185" width="200" height="24" rx="12" fill="#f59e0b"/>
<text x="620" y="202" font-size="14" fill="#f59e0b" font-weight="bold">50%</text>
<!-- 进度条 - 测试 -->
<text x="50" y="250" font-size="14" fill="#475569">测试</text>
<rect x="200" y="235" width="400" height="24" rx="12" fill="#e2e8f0"/>
<rect x="200" y="235" width="80" height="24" rx="12" fill="#ef4444"/>
<text x="620" y="252" font-size="14" fill="#ef4444" font-weight="bold">20%</text>
<!-- 图例 -->
<circle cx="200" cy="330" r="6" fill="#10b981"/>
<text x="215" y="335" font-size="12" fill="#475569">已完成</text>
<circle cx="300" cy="330" r="6" fill="#2563eb"/>
<text x="315" y="335" font-size="12" fill="#475569">进行中</text>
<circle cx="400" cy="330" r="6" fill="#f59e0b"/>
<text x="415" y="335" font-size="12" fill="#475569">部分完成</text>
<circle cx="500" cy="330" r="6" fill="#ef4444"/>
<text x="515" y="335" font-size="12" fill="#475569">刚开始</text>
</svg>

典型指令:

生成一个 SVG 格式的项目状态看板,
用不同颜色表示各模块的完成进度,
包含图例和百分比标注。

4. 多 Agent 编排 🤖🤝🤖#

类别: Agent 架构 适用工具: CrewAI / LangGraph / AutoGen

单个 Agent 能力再强,面对复杂任务也会力不从心。多 Agent 编排让多个专业 Agent 各司其职、协同作战,像一支训练有素的团队一样完成任务。

能力说明:

  • 任务分解与分配
  • Agent 角色定义(研究员、编码者、审核者等)
  • 工作流编排(顺序、并行、条件分支)
  • Agent 间通信与状态传递
  • 结果聚合与冲突解决

为什么需要多 Agent?

单 Agent 模式存在天然瓶颈:上下文窗口有限、角色混乱导致输出质量下降、无法并行处理子任务。多 Agent 架构通过”分而治之”解决这些问题——每个 Agent 专注一个角色,拥有独立的上下文和工具集,由编排器协调它们的工作。

Agent 使用场景:

# 使用 CrewAI 编排多 Agent 协作
from crewai import Agent, Task, Crew
# 定义专业 Agent
researcher = Agent(
role="技术研究员",
goal="深入调研技术方案的可行性和最佳实践",
backstory="你是一位资深技术研究员,擅长分析技术趋势和评估方案。",
tools=[web_search, arxiv_search],
verbose=True
)
architect = Agent(
role="系统架构师",
goal="设计高可用、可扩展的系统架构",
backstory="你是一位经验丰富的架构师,擅长微服务和分布式系统设计。",
tools=[diagram_tool, code_analysis],
verbose=True
)
developer = Agent(
role="高级开发者",
goal="编写高质量、可维护的代码实现",
backstory="你是一位全栈开发者,精通 Python/TypeScript,注重代码质量。",
tools=[code_editor, terminal, test_runner],
verbose=True
)
reviewer = Agent(
role="代码审核者",
goal="确保代码质量、安全性和最佳实践",
backstory="你是一位严格的代码审核者,关注安全漏洞和性能问题。",
tools=[lint_tool, security_scanner],
verbose=True
)
# 定义任务链
research_task = Task(
description="调研 OAuth 2.0 + PKCE 的最新最佳实践,分析安全性要求",
agent=researcher,
expected_output="详细的技术调研报告,包含方案对比和推荐"
)
design_task = Task(
description="基于调研结果,设计认证系统的整体架构",
agent=architect,
expected_output="系统架构图和详细设计文档",
context=[research_task] # 依赖调研结果
)
implement_task = Task(
description="根据架构设计,实现核心认证模块",
agent=developer,
expected_output="完整的代码实现和单元测试",
context=[design_task] # 依赖架构设计
)
review_task = Task(
description="审核代码实现,检查安全漏洞和代码质量",
agent=reviewer,
expected_output="审核报告和改进建议",
context=[implement_task] # 依赖代码实现
)
# 编排执行
crew = Crew(
agents=[researcher, architect, developer, reviewer],
tasks=[research_task, design_task, implement_task, review_task],
verbose=True
)
result = crew.kickoff()
# 使用 LangGraph 构建带条件分支的工作流
from langgraph.graph import StateGraph, END
from typing import TypedDict
class WorkflowState(TypedDict):
task: str
research_result: str
code: str
review_result: str
approved: bool
# 定义节点函数
def research_node(state: WorkflowState) -> WorkflowState:
"""研究员 Agent 执行调研"""
result = researcher_agent.invoke({
"task": state["task"]
})
return {"research_result": result}
def code_node(state: WorkflowState) -> WorkflowState:
"""开发者 Agent 编写代码"""
result = developer_agent.invoke({
"task": state["task"],
"research": state["research_result"]
})
return {"code": result}
def review_node(state: WorkflowState) -> WorkflowState:
"""审核者 Agent 审查代码"""
result = reviewer_agent.invoke({
"code": state["code"]
})
approved = "LGTM" in result
return {"review_result": result, "approved": approved}
def route_review(state: WorkflowState) -> str:
"""条件路由:审核通过则结束,否则返回修改"""
return "approved" if state["approved"] else "revise"
def revise_node(state: WorkflowState) -> WorkflowState:
"""开发者 Agent 根据审核意见修改"""
result = developer_agent.invoke({
"code": state["code"],
"feedback": state["review_result"]
})
return {"code": result}
# 构建工作流图
workflow = StateGraph(WorkflowState)
# 添加节点
workflow.add_node("research", research_node)
workflow.add_node("code", code_node)
workflow.add_node("review", review_node)
workflow.add_node("revise", revise_node)
# 添加边
workflow.set_entry_point("research")
workflow.add_edge("research", "code")
workflow.add_edge("code", "review")
workflow.add_conditional_edges(
"review",
route_review,
{"approved": END, "revise": "revise"}
)
workflow.add_edge("revise", "review")
# 编译并运行
app = workflow.compile()
result = app.invoke({"task": "实现用户认证系统"})

典型指令:

用 CrewAI 编排一个多 Agent 团队来完成这个任务:
1. 研究员 Agent 调研竞品的技术方案
2. 架构师 Agent 设计我们的系统架构
3. 开发者 Agent 实现核心功能
4. 测试者 Agent 编写测试用例并验证
确保每个 Agent 的输出会传递给下一个 Agent 作为输入。

5. 演示文稿生成 📽️#

类别: 演示工具 适用工具: reveal.js / Slidev / Marp

Agent 可以自动生成演示文稿——从 Markdown 创建幻灯片,支持代码高亮、动画、主题。

能力说明:

  • Markdown 转幻灯片
  • 代码高亮
  • 动画效果
  • 主题定制
  • 导出 PDF

Agent 使用场景:

<!-- Agent 生成的 Slidev 演示文稿 -->
---
theme: default
title: AI Agent Skills 技术分享
---
# AI Agent Skills 技术分享
让 AI 成为你的开发伙伴
---
layout: two-cols
---
# 什么是 Agent Skills?
Agent Skills 是 AI Agent 的能力模块:
- 🔍 搜索与信息获取
- 💾 数据库操作
- 🌐 浏览器自动化
- 📄 文档处理
- ☁️ 云服务管理
::right::
```mermaid
graph TD
A[AI Agent] --> B[Skills]
B --> C[Search]
B --> D[Database]
B --> E[Browser]
B --> F[Documents]
B --> G[Cloud]

核心架构#

interface Agent {
skills: Skill[];
memory: Memory;
tools: Tool[];
async execute(task: Task): Promise<Result> {
const plan = await this.plan(task);
for (const step of plan.steps) {
const skill = this.selectSkill(step);
await skill.execute(step);
}
}
}

Demo#

让我们看一个实际的 Demo…

**典型指令:**

根据这篇文章的内容,生成一个 10 页的 Slidev 演示文稿, 主题是 “AI Agent Skills 入门”, 包含代码示例和架构图。

---
## 6. 思维导图 🧠
**类别:** 知识可视化
**适用工具:** Markmap / Mermaid mindmap
> 思维导图是组织和展示知识结构的最佳方式。Agent 可以从文本自动生成思维导图。
**能力说明:**
- Markdown 转思维导图
- 自动层级识别
- 交互式展开/折叠
- 导出为图片
**Agent 使用场景:**
```markdown
<!-- Agent 生成的 Markmap 思维导图 -->
# AI Agent 技术栈
## 基础能力
- 代码生成
- 函数编写
- 类设计
- 测试生成
- 代码理解
- 代码阅读
- Bug 定位
- 架构分析
## 数据能力
- 数据库
- PostgreSQL
- Redis
- MongoDB
- 文件处理
- PDF 解析
- Excel 处理
- 图片识别
## 自动化能力
- 浏览器
- 网页抓取
- 表单填写
- 截图
- DevOps
- Docker
- CI/CD
- 监控
## 协作能力
- 版本控制
- Git 操作
- PR 管理
- 通信
- Slack
- 邮件
- 通知

典型指令:

把这篇技术文章的内容整理成思维导图,
用 Markmap 格式,层级不超过 3 层。

7. 表格美化 📋#

类别: 数据展示 适用工具: Markdown / HTML

好的表格能让数据一目了然。Agent 可以生成各种格式的美化表格。

能力说明:

  • Markdown 表格
  • HTML 表格(带样式)
  • ASCII 表格(终端)
  • 条件格式

Agent 使用场景:

Agent 生成的终端表格:
┌──────────────┬──────────┬──────────┬──────────┐
│ 服务 │ 状态 │ 延迟 │ 错误率 │
├──────────────┼──────────┼──────────┼──────────┤
│ API 服务器 │ 🟢 正常 │ 45ms │ 0.01% │
│ 数据库 │ 🟢 正常 │ 12ms │ 0.00% │
│ Redis 缓存 │ 🟢 正常 │ 3ms │ 0.00% │
│ 消息队列 │ 🟡 警告 │ 120ms │ 0.50% │
│ 文件存储 │ 🔴 异常 │ 2000ms │ 5.20% │
└──────────────┴──────────┴──────────┴──────────┘
<!-- Agent 生成的 HTML 美化表格 -->
<table style="width: 100%; border-collapse: collapse; font-family: sans-serif;">
<thead>
<tr style="background: #2563eb; color: white;">
<th style="padding: 12px; text-align: left;">产品</th>
<th style="padding: 12px; text-align: right;">销量</th>
<th style="padding: 12px; text-align: right;">收入</th>
<th style="padding: 12px; text-align: right;">增长率</th>
</tr>
</thead>
<tbody>
<tr style="background: #f0fdf4;">
<td style="padding: 10px;">产品 A</td>
<td style="padding: 10px; text-align: right;">1,234</td>
<td style="padding: 10px; text-align: right;">¥89,000</td>
<td style="padding: 10px; text-align: right; color: #10b981;">+23%</td>
</tr>
<tr>
<td style="padding: 10px;">产品 B</td>
<td style="padding: 10px; text-align: right;">856</td>
<td style="padding: 10px; text-align: right;">¥45,000</td>
<td style="padding: 10px; text-align: right; color: #ef4444;">-5%</td>
</tr>
</tbody>
</table>

典型指令:

把这个数据对比结果做成一个漂亮的表格,
增长率超过 10% 的标绿,下降的标红。

8. 代码高亮展示 💡#

类别: 代码美化 适用工具: Shiki / Prism.js / highlight.js

好的代码展示能让技术文档更专业。Agent 可以生成带语法高亮的代码片段。

能力说明:

  • 语法高亮
  • 行号显示
  • 代码对比
  • 主题定制

Agent 使用场景:

<!-- Agent 生成的代码展示组件 -->
<div style="background: #1e1e1e; border-radius: 8px; padding: 16px; overflow-x: auto;">
<div style="display: flex; align-items: center; margin-bottom: 12px;">
<span style="color: #ff5f57; margin-right: 6px;">●</span>
<span style="color: #febc2e; margin-right: 6px;">●</span>
<span style="color: #28c840; margin-right: 12px;">●</span>
<span style="color: #888; font-size: 12px;">example.ts</span>
</div>
<pre style="margin: 0; font-family: 'Fira Code', monospace; font-size: 14px; line-height: 1.6;">
<code><span style="color: #569cd6;">interface</span> <span style="color: #4ec9b0;">Agent</span> {
<span style="color: #9cdcfe;">skills</span>: <span style="color: #4ec9b0;">Skill</span>[];
<span style="color: #9cdcfe;">execute</span>(<span style="color: #9cdcfe;">task</span>: <span style="color: #4ec9b0;">string</span>): <span style="color: #4ec9b0;">Promise</span>&lt;<span style="color: #4ec9b0;">Result</span>&gt;;
}
<span style="color: #569cd6;">const</span> <span style="color: #4fc1ff;">agent</span>: <span style="color: #4ec9b0;">Agent</span> = {
<span style="color: #9cdcfe;">skills</span>: [<span style="color: #ce9178;">'search'</span>, <span style="color: #ce9178;">'database'</span>, <span style="color: #ce9178;">'browser'</span>],
<span style="color: #569cd6;">async</span> <span style="color: #dcdcaa;">execute</span>(<span style="color: #9cdcfe;">task</span>) {
<span style="color: #c586c0;">return</span> <span style="color: #569cd6;">await</span> <span style="color: #dcdcaa;">process</span>(<span style="color: #9cdcfe;">task</span>);
}
};</code>
</pre>
</div>

9. 信息图表 (Infographic) 📈#

类别: 数据叙事 适用工具: SVG / HTML + CSS

信息图表把复杂的数据和信息用视觉化的方式呈现,让读者一眼就能理解核心信息。

能力说明:

  • 数据卡片
  • 流程信息图
  • 对比图表
  • 统计可视化

Agent 使用场景:

<!-- Agent 生成的信息卡片 -->
<div style="display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; font-family: sans-serif;">
<div style="background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 24px; border-radius: 12px;">
<div style="font-size: 14px; opacity: 0.8;">活跃用户</div>
<div style="font-size: 36px; font-weight: bold; margin: 8px 0;">12,847</div>
<div style="font-size: 12px; color: #a7f3d0;">↑ 23% vs 上月</div>
</div>
<div style="background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); color: white; padding: 24px; border-radius: 12px;">
<div style="font-size: 14px; opacity: 0.8;">月收入</div>
<div style="font-size: 36px; font-weight: bold; margin: 8px 0;">¥89.5K</div>
<div style="font-size: 12px; color: #a7f3d0;">↑ 15% vs 上月</div>
</div>
<div style="background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); color: white; padding: 24px; border-radius: 12px;">
<div style="font-size: 14px; opacity: 0.8;">转化率</div>
<div style="font-size: 36px; font-weight: bold; margin: 8px 0;">3.2%</div>
<div style="font-size: 12px; color: #a7f3d0;">↑ 0.5% vs 上月</div>
</div>
<div style="background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%); color: white; padding: 24px; border-radius: 12px;">
<div style="font-size: 14px; opacity: 0.8;">NPS 评分</div>
<div style="font-size: 36px; font-weight: bold; margin: 8px 0;">72</div>
<div style="font-size: 12px; color: #a7f3d0;">↑ 8 vs 上月</div>
</div>
</div>

典型指令:

把这份运营数据做成一套信息卡片,
用渐变背景和大数字展示关键指标,
每个卡片显示同比变化。

10. Agent 记忆系统 🧠💾#

类别: Agent 记忆 适用工具: Memory MCP Server / Mem0 / 自定义

没有记忆的 Agent 每次对话都是”初次见面”。记忆系统让 Agent 能记住用户偏好、历史交互和学到的知识,从”无状态工具”进化为”有记忆的伙伴”。

能力说明:

  • 短期记忆(对话上下文,当前会话的工作记忆)
  • 长期记忆(跨会话持久化的用户偏好、知识积累)
  • 工作记忆(任务执行中的中间状态和决策记录)
  • 记忆检索与遗忘(按相关性检索,自动清理过时信息)

为什么记忆如此重要?

想象你每天都要向同事重新介绍自己——这就是没有记忆的 Agent 的处境。记忆系统解决了三个核心问题:

  1. 连续性 —— 记住之前的对话,不用用户反复解释背景
  2. 个性化 —— 学习用户偏好,提供定制化的服务
  3. 效率 —— 避免重复计算和重复检索,提升响应速度

Agent 使用场景:

# 使用 Mem0 实现 Agent 长期记忆
from mem0 import Memory
class AgentMemory:
def __init__(self, user_id: str):
self.user_id = user_id
self.memory = Memory()
# 短期记忆:当前会话的上下文
self.short_term: list[dict] = []
# 工作记忆:当前任务的中间状态
self.working: dict = {}
def add_conversation(self, role: str, content: str):
"""添加对话到短期记忆"""
self.short_term.append({
"role": role,
"content": content,
"timestamp": datetime.now().isoformat()
})
# 短期记忆保留最近 20 轮
if len(self.short_term) > 40:
self.short_term = self.short_term[-40:]
def extract_and_store(self, conversation: str):
"""从对话中提取关键信息存入长期记忆"""
# 使用 LLM 提取值得记住的信息
extraction_prompt = f"""
从以下对话中提取值得长期记住的信息:
- 用户偏好(编程语言、代码风格、工具选择)
- 项目信息(技术栈、架构决策)
- 个人习惯(工作时间、沟通偏好)
对话内容:
{conversation}
返回 JSON 格式的记忆条目。
"""
memories = llm.extract(extraction_prompt)
for memory in memories:
self.memory.add(
memory["content"],
user_id=self.user_id,
metadata={"category": memory["category"]}
)
def recall(self, query: str, limit: int = 5) -> list[str]:
"""根据查询检索相关记忆"""
# 同时检索短期和长期记忆
short_term_hits = [
m["content"] for m in self.short_term
if query.lower() in m["content"].lower()
]
long_term_hits = self.memory.search(
query, user_id=self.user_id, limit=limit
)
return short_term_hits + [m["memory"] for m in long_term_hits]
def update_working_memory(self, key: str, value: any):
"""更新工作记忆(当前任务状态)"""
self.working[key] = {
"value": value,
"updated_at": datetime.now().isoformat()
}
def get_context_summary(self) -> str:
"""生成当前上下文摘要,注入到 Agent 的系统提示中"""
recent_chat = self.short_term[-6:] # 最近 3 轮对话
relevant_memories = self.memory.search(
"user preferences and project context",
user_id=self.user_id, limit=3
)
return f"""
## 用户上下文
{chr(10).join(f'- {m["memory"]}' for m in relevant_memories)}
## 最近对话
{chr(10).join(f'{m["role"]}: {m["content"]}' for m in recent_chat)}
## 当前任务状态
{json.dumps(self.working, ensure_ascii=False, indent=2)}
"""
mcp_config.json
# 使用 Memory MCP Server 的简洁方式
# 在 MCP 配置中添加 memory server,Agent 即可直接使用
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"],
"env": {
"MEMORY_FILE_PATH": "/path/to/memory.json"
}
}
}
}
# Agent 使用 memory 工具的典型流程:
# 1. 创建记忆
memory_create({
"content": "用户偏好使用 TypeScript 而非 JavaScript",
"category": "preferences",
"importance": "high"
})
# 2. 检索记忆
results = memory_search({
"query": "用户的编程语言偏好",
"limit": 5
})
# 3. 更新记忆
memory_update({
"id": "mem_001",
"content": "用户偏好 TypeScript,项目已迁移到 Deno 运行时"
})

记忆系统架构:

┌─────────────────────────────────────────────┐
│ Agent 记忆系统 │
├──────────┬──────────┬───────────┬───────────┤
│ 短期记忆 │ 工作记忆 │ 长期记忆 │ 情景记忆 │
│ (对话) │ (任务) │ (知识) │ (事件) │
├──────────┴──────────┴───────────┴───────────┤
│ 记忆管理层 │
│ 编码 → 存储 → 检索 → 遗忘 → 整合 │
├─────────────────────────────────────────────┤
│ 存储后端 │
│ 向量数据库 / KV 存储 / 图数据库 │
└─────────────────────────────────────────────┘

典型指令:

请记住以下关于我的信息:
- 我是一个全栈开发者,主要用 TypeScript 和 Python
- 我偏好函数式编程风格,不喜欢 class 写法
- 我的项目使用 Next.js + PostgreSQL + Redis 技术栈
以后给我代码建议时,请基于这些偏好来回答。

本篇小结#

#Skill类别难度价值
1Mermaid 图表文本图表⭐⭐⭐⭐⭐⭐
2Chart.js 图表数据可视化⭐⭐⭐⭐⭐⭐
3SVG 绘制矢量图形⭐⭐⭐⭐⭐⭐⭐
4多 Agent 编排Agent 架构⭐⭐⭐⭐⭐⭐⭐⭐⭐
5演示文稿演示工具⭐⭐⭐⭐⭐⭐
6思维导图知识可视化⭐⭐⭐⭐⭐⭐
7表格美化数据展示⭐⭐⭐⭐⭐
8代码高亮代码美化⭐⭐⭐⭐⭐
9信息图表数据叙事⭐⭐⭐⭐⭐⭐⭐
10Agent 记忆系统Agent 记忆⭐⭐⭐⭐⭐⭐⭐⭐

核心观点: 创意与可视化 Skills 让 Agent 的输出从”能用”变成”好看”,而多 Agent 编排和记忆系统则让 Agent 从”单兵作战”进化为”团队协作”。一个能画图表、做演示、编排多 Agent、记住用户偏好的 Agent,才是真正的智能伙伴。


系列完结 🎉#

至此,「100 个 Agent Skills 盘点」系列全部完成!

全系列回顾#

篇主题核心能力
第一篇代码审查与质量守护Lint、测试、安全、格式化
第二篇数据库与数据存储PostgreSQL、Redis、MongoDB
第三篇浏览器自动化与爬虫Puppeteer、Playwright、抓取
第四篇搜索与信息获取Web 搜索、RSS、API
第五篇云服务与 DevOpsDocker、K8s、CI/CD
第六篇知识管理与 RAG向量数据库、Embedding
第七篇版本控制与协作Git、GitHub、PR
第八篇文档与文件处理PDF、Excel、图片
第九篇通信与通知集成Slack、邮件、Webhook
第十篇创意与可视化图表、SVG、演示文稿、多 Agent 编排、记忆系统

关键洞察#

  1. Skills 决定 Agent 的能力边界 —— 一个 Agent 能做什么,取决于它有什么 Skills
  2. MCP 是 Skills 的标准协议 —— 越来越多的 Skills 通过 MCP 协议提供
  3. 组合使用 > 单独使用 —— Skills 的真正价值在于组合,比如”搜索 + 数据库 + 通知”实现自动化监控
  4. 安全永远是第一位 —— 给 Agent 权限的同时,必须做好权限控制和审计

感谢阅读!希望这个系列能帮助你更好地理解和使用 Agent Skills。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
100 个 Agent Skills 盘点(十):创意与可视化
https://blog.lraymin.cn/posts/agent-skills-creative/
作者
Claude
发布于
2026-06-10
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Raymin
Code & Input & Output
公告
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
14
分类
4
标签
44
总字数
28,713
运行时长
0 天
最后活动
0 天前

文章目录