别再手动写需求文档了!阿里工程师开源的 PM-Skills 让 AI 助手秒变产品经理
为什么这个项目值得关注
在当今快节奏的产品开发环境中,产品经理每天需要处理大量重复性工作:撰写需求文档、分析用户反馈、制作竞品对比报告、编写 PRD 和 MRD。这些工作不仅耗时,还容易让人陷入机械化的泥潭。
今天要介绍的这个开源项目 pm-skills,由开发者 phuryn 精心打造,专门解决产品经理的效率痛点。它将 AI 大模型的能力与产品管理专业技能深度融合,提供了一套完整的提示词(Prompt)框架,让任何人都能借助 AI 快速完成高质量的产品工作产出。
这个项目的核心价值在于:不是简单地把 AI 当作搜索引擎,而是教会 AI 如何像资深产品经理一样思考、分析和产出。无论你是刚入行的产品新人,还是希望提升效率的资深 PM,这套工具都能给你带来质的飞跃。
项目概述与背景
pm-skills 是一个专注于产品经理场景的 AI 技能库。它收集、整理、优化了大量适用于各种产品管理场景的提示词模板,每个模板都经过实战验证,确保能够在主流 AI 大模型(如 GPT-4、Claude、文心一言、通义千问等)上稳定输出高质量结果。
项目采用模块化设计,将产品管理工作拆分为多个独立技能点,包括但不限于:需求分析、用户调研、竞品研究、PRD 撰写、数据分析、用户故事编写、A/B 测试方案设计等。每个技能点都配有详细的使用说明和最佳实践指南。
环境搭建与快速入门
在开始使用 pm-skills 之前,你需要准备以下环境:
前置要求
首先,你需要拥有一个可以访问的 AI 大模型账号。pm-skills 支持的主流模型包括:
- OpenAI GPT-4 / GPT-4 Turbo
- Anthropic Claude 3 系列
- 百度文心一言
- 阿里通义千问
- 其他兼容 OpenAI API 格式的模型
安装配置步骤
第一步,创建项目目录并克隆仓库。打开终端,执行以下命令:
mkdir pm-skills-tutorial
cd pm-skills-tutorial
git clone https://github.com/phuryn/pm-skills.git
克隆完成后,目录结构应该如下所示:
pm-skills/
├── prompts/ # 核心提示词文件夹
│ ├── requirements/ # 需求分析相关
│ ├── research/ # 用户研究相关
│ ├── documentation/ # 文档撰写相关
│ ├── analysis/ # 数据分析相关
│ └── design/ # 产品设计相关
├── examples/ # 使用示例
├── README.md # 项目说明
└── CONTRIBUTING.md # 贡献指南
第二步,根据你使用的 AI 接口,配置相应的 API 密钥。推荐创建一个配置文件来管理:
# config.py
import os
# OpenAI 配置
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "your-api-key-here")
OPENAI_BASE_URL = "https://api.openai.com/v1"
# Claude 配置(如果使用)
CLAUDE_API_KEY = os.getenv("CLAUDE_API_KEY", "")
# 默认使用的模型
DEFAULT_MODEL = "gpt-4"
# 语言设置(zh 表示中文输出)
DEFAULT_LANGUAGE = "zh"
第三步,安装必要的 Python 依赖:
pip install openai anthropic python-dotenv
核心功能详解
pm-skills 的设计理念是将产品经理的专业能力结构化、标准化,从而让 AI 能够精准理解并执行各类产品任务。下面详细介绍各个核心模块的功能和使用方法。
需求分析模块
需求分析是产品经理最核心的工作之一,也是 AI 最能发挥价值的地方。pm-skills 提供了多层次的提示词模板,涵盖从原始需求到可执行方案的全流程。
基础需求分析模板帮助快速评估一个需求的可行性和价值:
REQUIREMENTS_ANALYSIS_PROMPT = """
你是一位拥有10年经验的高级产品经理,擅长需求分析和产品规划。
当前任务:分析以下用户需求,输出结构化的需求分析报告。
用户需求描述:
{user_requirement}
请按照以下格式输出分析结果:
## 需求背景
(描述需求的来源和产生原因)
## 用户画像
(目标用户是谁,有什么特征)
## 核心痛点
(用户当前面临的主要问题)
## 需求价值评估
- 商业价值:高/中/低(说明理由)
- 用户价值:高/中/低(说明理由)
- 技术可行性:高/中/低(说明理由)
## 建议优先级
P0/P1/P2/P3(基于价值和技术可行性给出建议)
## 初步解决方案
(提出2-3个可能的解决思路)
使用这个模板时,只需要替换 {user_requirement} 为实际的需求描述:
def analyze_requirement(requirement_text: str, model_client):
prompt = REQUIREMENTS_ANALYSIS_PROMPT.format(
user_requirement=requirement_text
)
response = model_client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "system", "content": "你是一个专业的产品经理助手。"},
{"role": "user", "content": prompt}
],
temperature=0.7,
max_tokens=2000
)
return response.choices[0].message.content
# 示例调用
requirement = """
用户反馈:在使用支付功能时,流程太复杂,需要跳转到第三方页面完成支付,
然后再跳转回我们的App,整个过程容易中断,用户体验很差。
用户希望能在一个页面内完成全部支付操作。
"""
result = analyze_requirement(requirement, openai_client)
print(result)
PRD 文档撰写模块
撰写产品需求文档(PRD)是 PM 日常工作的重头戏,也是最能体现专业能力的环节。pm-skills 提供了完整的 PRD 框架提示词:
PRD_WRITING_PROMPT = """
你是一位资深产品经理,擅长撰写清晰、专业、可执行的产品需求文档。
请根据以下信息,撰写一份完整的 PRD 文档。
产品基本信息:
- 产品名称:{product_name}
- 产品定位:{product_positioning}
- 目标用户:{target_users}
需求概述:
{requirement_overview}
用户故事:
{user_stories}
请按以下结构撰写 PRD:
一、产品概述
1.1 产品背景
1.2 产品目标
1.3 成功指标
二、用户需求分析
2.1 用户场景描述
2.2 用户痛点
2.3 用户期望
三、功能需求详述
3.1 功能列表
3.2 功能详细说明(每个功能包含:功能描述、前置条件、主流程、异常流程、交互说明)
四、非功能需求
4.1 性能要求
4.2 安全要求
4.3 兼容性要求
五、数据埋点需求
(列出需要埋点的关键事件)
六、上下游依赖
(标注与后端、设计、测试等团队的依赖关系)
七、上线计划
7.1 迭代计划
7.2 回滚方案
"""
一个完整的 PRD 撰写示例:
def generate_prd(product_info: dict, model_client) -> str:
prompt = PRD_WRITING_PROMPT.format(
product_name=product_info.get("name", ""),
product_positioning=product_info.get("positioning", ""),
target_users=product_info.get("target_users", ""),
requirement_overview=product_info.get("requirement", ""),
user_stories=product_info.get("user_stories", "")
)
response = model_client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "system", "content": "你是一个专业的产品需求文档撰写专家。"},
{"role": "user", "content": prompt}
],
temperature=0.5,
max_tokens=4000
)
return response.choices[0].message.content
# 使用示例
product_info = {
"name": "智能推荐系统",
"positioning": "基于用户行为和偏好,提供个性化的内容推荐,提升用户粘性和转化率",
"target_users": "18-35岁的移动互联网用户,有明确的消费或内容消费需求",
"requirement": "实现实时推荐功能,支持基于用户浏览历史、收藏记录、搜索关键词的个性化推荐",
"user_stories": """
1. 作为用户,我希望系统能记住我的浏览历史,这样下次访问时能快速找到感兴趣的内容
2. 作为用户,我希望推荐内容能随着我的偏好变化而调整,不要一直推荐相同类型的内容
3. 作为用户,我希望能看到推荐理由,这样我能判断推荐是否真的适合我
"""
}
prd_content = generate_prd(product_info, openai_client)
print(prd_content)
竞品分析模块
了解竞品动态是产品策略制定的重要依据。pm-skills 的竞品分析模块能帮助你快速生成专业的竞品分析报告:
COMPETITOR_ANALYSIS_PROMPT = """
你是一位专业的行业分析师,擅长竞品分析和市场研究。
请对以下竞品进行深入分析:
目标竞品:{competitors}
分析维度:{analysis_dimensions}
产品所处阶段:{product_stage}
请输出以下格式的竞品分析报告:
## 竞品概览
(各竞品的基本信息、市场定位、核心用户群)
## 功能对比分析
(用表格形式对比各竞品的核心功能)
## 交互体验分析
(分析各竞品的 UI/UX 设计特点)
## 商业模式对比
(各竞品的盈利模式、定价策略)
## 优势与劣势
| 维度 | 目标产品 | 竞品A | 竞品B |
|------|----------|-------|-------|
| 功能完整性 | | | |
| 用户体验 | | | |
| 性能表现 | | | |
| 定价策略 | | | |
| 市场口碑 | | | |
## 市场机会分析
(基于竞品分析,发现哪些机会点尚未被满足)
## 建议策略
(基于分析结果,提出差异化竞争建议)
"""
用户调研模块
用户调研是产品决策的重要依据。pm-skills 提供了问卷设计、访谈大纲生成、调研报告撰写等全套工具:
SURVEY_DESIGN_PROMPT = """
你是一位用户体验研究员,擅长设计有效的用户调研方案。
请为以下调研目标设计一份问卷:
调研主题:{survey_topic}
目标用户:{target_users}
调研目的:{survey_objective}
预计回收量:{expected_responses}
请设计以下内容:
一、问卷结构说明
(问卷分为几个部分,每个部分的目的)
二、问卷题目清单
题目类型包括:封闭式问题、量表题、开放式问题
题目示例:
Q1:[筛选题]您是否使用过类似产品?
A. 是
B. 否
Q2:[量表题]请对以下功能的重要性进行评分(1-5分)
支付便捷性:[1][2][3][4][5]
界面美观度:[1][2][3][4][5]
加载速度: [1][2][3][4][5]
Q3:[开放式]您对产品有什么改进建议?
三、问卷使用说明
(投放渠道建议、回收后数据分析方法)
"""
实战教程:从零开始使用 pm-skills 完成产品需求分析
下面通过一个完整的实战案例,展示如何使用 pm-skills 完成一个真实的产品需求分析任务。
场景设定
假设你是一家电商公司的产品经理,公司计划开发一个”智能购物车”功能。用户可以通过语音或文字描述的方式向购物车添加商品,系统会自动识别商品并匹配到平台已有的商品池中。这个功能的主要目标是降低用户的购物决策成本,提升客单价。
第一步:初始化项目
首先,创建一个 Python 脚本来整合 pm-skills 的各项功能:
# pm_assistant.py
from openai import OpenAI
from config import OPENAI_API_KEY
class PMAssistant:
"""产品经理 AI 助手主类"""
def __init__(self, api_key: str = OPENAI_API_KEY):
self.client = OpenAI(api_key=api_key)
self.model = "gpt-4"
self.conversation_history = []
def ask(self, prompt: str, system_prompt: str = None) -> str:
"""
向 AI 助手提问的通用方法
参数:
prompt: 用户的提问内容
system_prompt: 系统提示词,定义 AI 的角色和能力
返回:
AI 的回复内容
"""
messages = []
# 添加系统提示词
if system_prompt:
messages.append({
"role": "system",
"content": system_prompt
})
else:
messages.append({
"role": "system",
"content": "你是一位专业的产品经理助手,擅长需求分析、PRD撰写、用户研究等工作。"
})
# 添加对话历史
messages.extend(self.conversation_history)
# 添加当前问题
messages.append({
"role": "user",
"content": prompt
})
response = self.client.chat.completions.create(
model=self.model,
messages=messages,
temperature=0.7,
max_tokens=3000
)
answer = response.choices[0].message.content
# 保存对话历史
self.conversation_history.append({
"role": "user",
"content": prompt
})
self.conversation_history.append({
"role": "assistant",
"content": answer
})
return answer
def clear_history(self):
"""清空对话历史"""
self.conversation_history = []
# 初始化助手实例
assistant = PMAssistant()
print("=== PM Assistant 初始化完成 ===")
第二步:需求初步分析
使用需求分析模块对”智能购物车”功能进行初步评估:
# 需求初步分析
initial_requirement = """
背景:我们的电商平台用户反馈,在浏览商品时需要频繁切换页面来添加商品到购物车,
操作路径过长,导致购物车弃置率较高。
新需求:开发一个"智能购物车"功能,用户可以在浏览商品的过程中,
通过语音或文字快速将商品加入购物车,系统自动识别商品信息并匹配到平台商品池。
"""
analysis_prompt = f"""
请分析以下产品需求,输出结构化的分析报告:
{initial_requirement}
要求:
1. 识别核心用户群体及其使用场景
2. 分析需求的价值(商业价值和用户价值)
3. 评估技术实现的复杂度和可行性
4. 给出优先级建议和理由
5. 提出初步的产品解决方案思路
"""
analysis_result = assistant.ask(analysis_prompt)
print("=== 需求初步分析结果 ===")
print(analysis_result)
AI 的回复可能包含类似以下内容:
=== 需求初步分析结果 ===
## 核心用户群体
1. 目的性购物用户:有明确购买目标,希望快速完成购物
2. 冲动购物用户:容易被社交内容种草,需要便捷的加购方式
3. 多任务购物用户:边看直播/内容边购物,需要不打断当前体验的加购方式
## 使用场景
- 场景1:用户在浏览商品详情页时,不满意当前商品,想找替代品
- 场景2:用户在观看带货直播时,被主播种草多款商品
- 场景3:用户在社交媒体看到他人分享的好物,需要快速加购
## 价值评估
商业价值:高
- 缩短购物路径,降低跳失率
- 提升购物车使用率,潜在提升GMV
- 差异化竞争点
用户价值:高
- 减少操作步骤,节省时间
- 降低购物决策成本
技术可行性:中等
- 语音识别技术成熟
- 商品识别和匹配需要较强的NLP能力
- 需要与商品系统深度整合
优先级建议:P1(建议在核心购物流程优化后进行)
第三步:用户故事梳理
基于初步分析结果,进一步细化用户故事:
user_stories_prompt = """
基于以下需求分析结果,请帮我梳理完整的用户故事列表:
需求:智能购物车功能
目标用户:电商平台购物用户
请按以下格式输出用户故事:
作为 [用户角色],我希望 [功能描述],以便 [价值收益]
每个用户故事需要包含:
1. 用户故事主体
2. 验收标准(Acceptance Criteria)
3. 优先级标记
用户故事应该覆盖:
- 正常流程
- 异常流程(识别失败、超时、无匹配商品等)
- 边界情况处理
"""
stories_result = assistant.ask(user_stories_prompt)
print("=== 用户故事梳理 ===")
print(stories_result)
第四步:撰写 PRD 文档
将所有分析结果整合,生成完整的 PRD 文档:
# 整合所有信息,生成完整 PRD
prd_generation_prompt = """
请根据以下信息,撰写一份完整的《智能购物车功能》PRD 文档:
## 产品基本信息
- 产品名称:智能购物车
- 产品定位:通过语音/文字快速添加商品,简化购物路径
- 目标用户:全平台购物用户,重点关注高频购物用户和直播场景用户
## 需求背景
当前用户在使用电商平台购物时,反馈购物路径过长,
从发现商品到加入购物车需要多次页面跳转,导致用户流失。
智能购物车旨在提供一个随时可唤起的快速加购入口。
## 核心功能需求
1. 语音输入:支持用户通过语音描述商品名称
2. 文字输入:支持用户输入商品关键词
3. 智能识别:自动解析用户输入,识别商品品类和特征
4. 商品匹配:从商品池中匹配最相似的商品
5. 确认加购:展示匹配结果,用户确认后加入购物车
## 用户故事(已梳理)
{user_stories}
请按照标准 PRD 格式撰写,确保包含以下章节:
1. 产品概述
2. 用户需求分析
3. 功能需求详述(包含每个功能的详细流程图描述)
4. 非功能需求
5. 数据埋点需求
6. 上线计划
""".format(user_stories=stories_result)
prd_result = assistant.ask(prd_generation_prompt)
print("=== PRD 文档 ===")
print(prd_result)
第五步:补充竞品分析和上线计划
PRD 完成后,进一步完善竞品分析和迭代计划:
# 竞品分析
competitor_prompt = """
请分析主流电商平台的"快速加购"功能,包括:
- 淘宝/天猫的加购功能
- 京东的购物车功能
- 拼多多的快速下单功能
- 小红书的内容种草加购
分析维度:
1. 各平台的加购入口位置和唤起方式
2. 功能完整度对比
3. 用户体验评分
4. 技术实现特点
请输出完整的竞品分析报告,用于指导我们的产品设计。
"""
competitor_result = assistant.ask(competitor_prompt)
print("=== 竞品分析报告 ===")
print(competitor_result)
# 迭代计划
roadmap_prompt = """
基于《智能购物车》的需求分析和 PRD,请制定产品迭代计划:
要求:
1. 分3个迭代周期规划
2. 每个迭代有明确的目标和交付物
3. 标注每个迭代的依赖关系和风险点
4. 给出总体的上线时间线预估
"""
roadmap_result = assistant.ask(roadmap_prompt)
print("=== 产品迭代计划 ===")
print(roadmap_result)
常见使用场景与案例
场景一:日常需求处理
产品经理每天会收到大量来自运营、客服、用户的反馈需求。使用 pm-skills 可以快速对这些需求进行分类和处理:
def process_daily_feedback(feedback_list: list) -> dict:
"""
处理日常反馈需求
参数:
feedback_list: 反馈列表,每项包含用户类型、反馈内容、来源渠道
返回:
处理后的需求分类和处理建议
"""
prompt = f"""
请分析以下用户反馈,识别其中的产品需求:
{chr(10).join([f"- [{i+1}] {fb}" for i, fb in enumerate(feedback_list)])}
请输出:
1. 需求分类(功能优化、Bug修复、新增功能、体验改进)
2. 需求优先级排序及理由
3. 每个需求的初步处理建议
4. 需要进一步调研的问题
"""
return assistant.ask(prompt)
# 示例反馈列表
feedbacks = [
"用户A反馈:希望能收藏商品后再一起下单,不用一个个加购物车",
"客服反馈:很多用户找不到订单查询入口",
"运营反馈:希望能在商品列表页直接看到库存数量",
"用户B反馈:支付流程太复杂了,每次都要输入密码",
"用户C反馈:希望能支持微信登录,现在只能用手机号"
]
processed = process_daily_feedback(feedbacks)
print("=== 反馈处理结果 ===")
print(processed)
场景二:会议准备与纪要
产品经理经常需要参加各种会议,使用 pm-skills 可以快速生成会议议程、会议纪要:
def generate_meeting_prep(topic: str, participants: list, goal: str) -> dict:
"""
生成会议准备材料
"""
agenda_prompt = f"""
请为以下会议生成准备材料:
会议主题:{topic}
参会人员:{', '.join(participants)}
会议目标:{goal}
请输出:
1. 建议的会议议程(包括时间分配)
2. 需要提前准备的资料清单
3. 会议中可能讨论的问题清单
4. 会议决策点预判
"""
return assistant.ask(agenda_prompt)
def generate_meeting_notes(raw_notes: str, decisions: list) -> str:
"""
将原始会议记录整理成规范的会议纪要
"""
summary_prompt = f"""
请将以下会议原始记录整理成规范的会议纪要:
原始记录:
{raw_notes}
已确认的决议:
{chr(10).join([f"- {d}" for d in decisions])}
会议纪要要求:
1. 结构清晰,分为:基本信息、讨论内容、决议事项、待跟进事项
2. 决议事项需要明确责任人和时间节点
3. 待跟进事项需要标注负责人
"""
return assistant.ask(summary_prompt)
场景三:数据分析与洞察
当产品上线新功能后,需要分析数据来评估效果。pm-skills 可以帮助你设计数据看板和分析思路:
def design_data_dashboard(feature: str, goals: list) -> str:
"""
设计数据监控看板
"""
prompt = f"""
请为"{feature}"功能设计数据监控方案:
产品目标:
{chr(10).join([f"- {g}" for g in goals])}
请输出:
1. 核心指标体系(北极星指标 + 辅助指标)
2. 每个指标的:定义、计算方式、数据来源
3. 建议的数据看板布局
4. 指标预警阈值建议
5. 数据分析周报模板
"""
return assistant.ask(prompt)
# 示例:为智能购物车功能设计数据看板
feature_analysis = design_data_dashboard(
feature="智能购物车",
goals=[
"提升购物车使用率",
"降低加购操作路径",
"提升整体转化率"
]
)
print("=== 数据监控方案 ===")
print(feature_analysis)
进阶使用技巧与最佳实践
技巧一:提示词模板定制
虽然 pm-skills 提供了丰富的预设模板,但实际使用中你可能需要根据自己产品的特点进行调整。以下是模板定制的方法:
def customize_prompt_template(
base_template: str,
product_context: dict,
user_preferences: dict
) -> str:
"""
根据产品特性和用户偏好定制提示词模板
"""
customized = base_template
# 注入产品背景信息
if "product_name" in product_context:
customized = customized.replace(
"{PRODUCT_NAME}",
product_context["product_name"]
)
# 注入用户偏好设置
if user_preferences.get("detailed_output"):
customized += "\n\n请输出详细且完整的内容。"
else:
customized += "\n\n请保持输出简洁明了,突出重点。"
# 添加产品特色要求
if product_context.get("tone"):
customized += f"\n\n产品调性:{product_context['tone']}"
return customized
# 使用示例
customized_requirement_prompt = customize_prompt_template(
base_template=REQUIREMENTS_ANALYSIS_PROMPT,
product_context={
"product_name": "生鲜配送App",
"tone": "年轻化、接地气、注重效率"
},
user_preferences={
"detailed_output": True,
"include_examples": True
}
)
技巧二:多轮对话式需求挖掘
很多需求一开始是模糊的,需要通过多轮对话来逐步明确。使用 pm-skills 的会话功能可以实现这一过程:
class RequirementDiscoverySession:
"""需求发现对话会话"""
def __init__(self, assistant: PMAssistant):
self.assistant = assistant
self.context = {
"original_request": "",
"clarified_requirements": [],
"identified_actors": [],
"defined_scenarios": [],
"final_requirements": ""
}
def start_session(self, initial_request: str):
"""启动需求发现会话"""
self.context["original_request"] = initial_request
# 第一轮:澄清基本问题
clarification_prompt = f"""
用户提出了以下初始需求,我们需要通过提问来明确需求细节:
初始需求:{initial_request}
请提出5-8个关键问题来帮助澄清需求,问题应该涵盖:
1. 目标用户是谁
2. 期望达到什么效果
3. 有什么约束条件
4. 优先级如何
"""
response = self.assistant.ask(clarification_prompt)
print("=== 需求澄清问题 ===")
print(response)
return response
def refine_with_answers(self, questions: str, answers: str):
"""根据用户回答细化需求"""
refine_prompt = f"""
基于以下问答记录,请进一步明确需求:
问题:
{questions}
用户回答:
{answers}
请输出:
1. 已明确的需求要点
2. 仍需进一步确认的问题
3. 初步的需求范围定义
"""
response = self.assistant.ask(refine_prompt)
print("=== 需求细化 ===")
print(response)
return response
# 使用示例
session = RequirementDiscoverySession(assistant)
session.start_session("我想要一个能提高团队效率的工具")
技巧三:批量处理提高效率
当需要处理大量相似任务时,可以使用批量处理模式:
def batch_analyze_requirements(
requirements: list,
assistant: PMAssistant,
batch_size: int = 3
) -> list:
"""
批量分析需求列表
每处理 batch_size 个需求后,清空历史以节省 token
"""
results = []
for i in range(0, len(requirements), batch_size):
batch = requirements[i:i + batch_size]
# 构建批量分析提示词
batch_prompt = "请依次分析以下" + str(len(batch)) + "个需求:\n\n"
for idx, req in enumerate(batch, 1):
batch_prompt += f"需求{idx}:{req}\n\n---\n\n"
batch_prompt += "请对每个需求给出简要分析,包括:优先级判断、核心价值点、建议方案。"
result = assistant.ask(batch_prompt)
results.append({
"batch_index": i // batch_size,
"requirements": batch,
"analysis": result
})
# 定期清空历史
if (i + batch_size) < len(requirements):
assistant.clear_history()
return results
# 使用示例
sample_requirements = [
"用户希望能在商品详情页直接加入购物车",
"希望增加商品收藏功能,方便用户管理想要的商品",
"用户反馈搜索结果不够准确,希望能优化搜索算法",
"希望能增加社交分享功能,用户可以分享商品到社交平台",
"希望增加商品对比功能,方便用户在多个商品间做选择",
"用户希望能查看历史浏览记录"
]
batch_results = batch_analyze_requirements(
sample_requirements,
assistant,
batch_size=3
)
for result in batch_results:
print(f"=== 批次 {result['batch_index'] + 1} 分析结果 ===")
print(result['analysis'])
print("\n")
技巧四:输出质量控制
为了确保 AI 输出的质量稳定,可以使用以下方法进行质量控制:
def validate_and_refine_output(
content: str,
content_type: str,
assistant: PMAssistant
) -> str:
"""
验证并优化 AI 输出内容
"""
validation_prompt = f"""
请检查以下{content_type}内容的问题:
{content}
检查要点:
1. 内容是否完整,包含所有必要章节
2. 逻辑是否清晰,表述是否准确
3. 是否存在明显的错误或遗漏
4. 格式是否规范
如果发现问题,请直接输出优化后的版本;
如果内容良好,请回复"内容检查通过,无需修改"。
"""
validation_result = assistant.ask(validation_prompt)
if "检查通过" in validation_result or "无需修改" in validation_result:
return content
else:
return validation_result
def format_output(content: str, template: str) -> str:
"""
按照指定模板格式化输出
"""
format_prompt = f"""
请将以下内容按照指定模板重新组织:
原始内容:
{content}
目标模板:
{template}
要求:
1. 严格按照模板结构组织内容
2. 保留所有关键信息
3. 使输出更加规范化
"""
return assistant.ask(format_prompt)
最佳实践总结
经过大量实战经验,总结出以下使用 pm-skills 的最佳实践:
实践一:角色设定要具体
在发送提示词时,给 AI 设定越具体的角色,效果往往越好。不要只说”你是一个产品经理”,而应该说”你是一位有10年经验、专注于电商领域的高级产品经理,擅长需求分析和 PRD 撰写,曾主导过多个DAU过千万的产品项目。”
实践二:提供足够的上下文
AI 输出质量很大程度上取决于输入信息的完整度。在提问时,尽量提供完整的背景信息,包括产品定位、目标用户、业务目标、技术约束等。上下文越丰富,输出越精准。
实践三:分步骤处理复杂任务
对于复杂的需求,不要期望一次对话就能得到完美结果。正确的做法是将大任务拆分为多个小步骤,每一步都进行验证和调整,最终组合成完整的交付物。
实践四:建立个人模板库
在使用过程中,逐步积累针对自己业务场景的专属模板。随着模板库越来越完善,你的使用效率会大幅提升。
实践五:始终保持批判性思维
AI 生成的内容可能存在事实错误、逻辑不严或不符合业务实际的情况。务必对每一条输出进行审核,不要盲目采纳。
项目扩展与生态
pm-skills 不仅是一个独立的工具,更是一个可以与现有工作流程深度集成的解决方案。
与 Notion 集成
如果你使用 Notion 管理产品文档,可以将 pm-skills 的输出直接同步到 Notion:
from notion_client import NotionClient
def sync_to_notion(content: str, page_title: str, parent_page_id: str):
"""
将 AI 生成的内容同步到 Notion
"""
notion = NotionClient()
# 创建新页面
new_page = notion.create_page(
parent={"page_id": parent_page_id},
title=page_title,
content=content
)
return new_page
与飞书/钉钉集成
团队协作时,可以将 pm-skills 与飞书或钉钉机器人集成:
def notify_feishu_webhook(content: str, webhook_url: str):
"""
通过飞书 Webhook 发送消息
"""
import requests
import json
payload = {
"msg_type": "text",
"content": {
"text": content
}
}
response = requests.post(
webhook_url,
headers={"Content-Type": "application/json"},
data=json.dumps(payload)
)
return response.status_code == 200
常见问题解答
问题一:pm-skills 支持哪些 AI 模型?
pm-skills 主要针对支持 OpenAI API 格式的模型进行了优化,包括 GPT-4、GPT-4 Turbo、Claude 3 系列等。对于文心一言、通义千问等国产模型,需要注意中文理解能力的差异,可能需要对提示词进行微调。
问题二:AI 生成的内容可以直接使用吗?
不建议直接使用。AI 生成的内容应该作为初稿或参考,需要结合业务实际情况进行调整和完善。特别是在涉及数据准确性、技术可行性等关键问题时,务必进行核实。
问题三:如何提升 AI 输出的稳定性?
可以采取以下措施:降低 temperature 参数值(推荐 0.5 以下)、提供更详细的示例、使用更精确的术语表达、以及建立输出验证机制。
问题四:如何处理涉及敏感信息的需求?
在处理涉及公司敏感信息的需求时,建议使用本地部署的模型或公司提供的内部 AI 服务,避免信息外泄风险。
总结与展望
pm-skills 为产品经理提供了一个强大的 AI 辅助工具箱,通过结构化的提示词模板和专业的产品管理方法论结合,大幅提升了产品工作的效率和质量。无论是需求分析、PRD 撰写,还是竞品研究、数据分析,这套工具都能提供有力支持。
当然,工具始终只是工具,真正的价值还在于使用工具的人。pm-skills 能帮你更快地产出初稿、更全面地考虑问题,但它无法替代你对业务的深入理解、对用户的真实洞察、对产品的独立判断。将 AI 视为得力助手而非替代品,才能真正发挥出这个工具的最大价值。
相关资源链接
- GitHub 仓库:https://github.com/phuryn/pm-skills
- 项目文档:https://github.com/phuryn/pm-skills/blob/main/README.md
- 提示词模板库:https://github.com/phuryn/pm-skills/tree/main/prompts
推荐阅读
如果你对 AI 辅助产品管理感兴趣,以下资源也值得一看:
- OpenAI 官方 Prompt Engineering 指南
- Anthropic 的 Claude 产品最佳实践
- LangChain 的 Agent 开发文档
- 阿里云产品经理 AI 应用案例集
通过本文的详细介绍,相信你已经掌握了 pm-skills 的核心使用方法。赶紧去 GitHub 克隆项目,开始你的 AI 辅助产品管理之旅吧!无论你是产品新人还是资深 PM,这套工具都能为你的工作带来实质性的效率提升。祝你使用愉快!
评论区