Claude Artifacts 工件功能
Artifacts 是 Claude 的创新功能,可以生成独立的、可交互的内容块。从代码到图表,从网页到游戏,Artifacts 让 AI 输出更加直观和实用。
什么是 Artifacts?
Artifacts 是 Claude 生成的独立内容块:
- 独立展示:在对话旁边的独立面板显示
- 可交互:代码可运行、图表可交互、网页可预览
- 可导出:一键复制或下载
- 版本管理:可以迭代修改
Artifacts 类型
1. 代码 (Code)
请求示例:
"写一个 Python 快速排序算法"
Claude 会生成一个 Code Artifact,你可以:
- 查看语法高亮的代码
- 一键复制
- 查看不同语言版本
2. React 组件
请求示例:
"创建一个待办事项组件,支持添加、删除、标记完成"
Claude 会生成一个可交互的 React 组件:
- 实时预览效果
- 可以实际操作
- 代码可导出使用
3. HTML 网页
请求示例:
"创建一个产品着陆页"
Claude 会生成完整的 HTML 页面:
- 实时预览
- 包含 CSS 样式
- 可直接下载使用
4. SVG 图形
请求示例:
"画一个展示 MVC 架构的图"
Claude 会生成 SVG 图形:
- 矢量图,清晰缩放
- 可编辑修改
- 可导出为图片
5. Mermaid 图表
请求示例:
"用流程图展示用户登录流程"
Claude 会生成 Mermaid 图表:
- 流程图
- 时序图
- 类图
- 状态图
6. 文档 (Markdown)
请求示例:
"写一份 API 文档模板"
Claude 会生成格式化的文档:
- Markdown 格式
- 结构清晰
- 可直接使用
实用示例
数据可视化
请求:
"用这些数据创建一个柱状图:
Q1: 120, Q2: 180, Q3: 150, Q4: 220"
Claude 生成:
- 交互式图表
- 可以悬停查看数值
- 支持导出
小工具
请求:
"创建一个番茄钟计时器"
Claude 生成:
- 可工作的计时器
- 开始/暂停/重置按钮
- 音效提醒
小游戏
请求:
"创建一个贪吃蛇游戏"
Claude 生成:
- 可玩的游戏
- 键盘控制
- 计分系统
表单组件
请求:
"创建一个用户注册表单,包含验证"
Claude 生成:
- 完整的表单 UI
- 实时验证
- 错误提示
使用技巧
1. 明确指定类型
❌ 模糊请求
"帮我做个登录界面"
✅ 明确类型
"创建一个 React 登录表单组件,包含:
- 邮箱和密码输入框
- 记住我复选框
- 登录按钮
- 简单的表单验证"
2. 提供设计要求
请求示例:
"创建一个定价卡片组件:
- 三个套餐:基础版、专业版、企业版
- 使用蓝色为主色调
- 专业版要突出显示
- 响应式设计"
3. 迭代优化
第一轮:
"创建一个计算器"
第二轮:
"添加科学计算功能"
第三轮:
"改成深色主题"
4. 结合真实数据
请求:
"这是我的销售数据 [粘贴 CSV],
创建一个仪表盘展示:
- 月度趋势折线图
- 产品分类饼图
- 关键指标卡片"
Artifacts vs 普通回复
| 内容类型 | 普通回复 | Artifacts |
|---|---|---|
| 简短代码片段 | ✅ | - |
| 完整组件/应用 | - | ✅ |
| 简单说明 | ✅ | - |
| 可视化图表 | - | ✅ |
| 需要预览的内容 | - | ✅ |
| 需要导出的内容 | - | ✅ |
导出和使用
复制代码
- 点击 Artifact 右上角的复制按钮
- 粘贴到你的项目中
- 根据需要调整
下载文件
- 点击下载按钮
- 选择文件格式
- 保存到本地
在项目中使用
// React 组件示例
// 1. 复制 Claude 生成的组件代码
// 2. 创建新文件 TodoList.jsx
// 3. 粘贴代码
// 4. 导入到你的应用
import TodoList from './components/TodoList';
function App() {
return <TodoList />;
}
高级用法
组合多个 Artifacts
请求 1:"创建一个用户数据模型"
请求 2:"创建一个用户列表组件"
请求 3:"创建一个用户表单组件"
请求 4:"创建一个整合的用户管理页面"
与文件结合
"这是我的设计稿 [上传图片],
请创建一个匹配的 React 组件"
数据驱动
"使用以下 API 数据格式:
{users: [{id, name, email}]}
创建一个用户管理表格组件"
常见问题
Artifacts 什么时候会生成?
- 当内容足够复杂/完整
- 当内容可以独立存在
- 当内容需要预览/交互
可以修改已生成的 Artifact 吗?
可以,直接告诉 Claude 需要修改的地方:
- "把按钮颜色改成红色"
- "添加一个删除功能"
- "修复这个 bug"
生成的代码可以直接用于生产吗?
建议作为起点,可能需要:
- 添加错误处理
- 优化性能
- 适配你的技术栈
- 添加测试
下一步
提示:Artifacts 最适合生成独立、完整、可交互的内容。善用它可以大幅提升工作效率。