**别再手动写需求文档了!阿里工程师开源的 PM-Skills 让 AI 助手秒变产品经理**

**别再手动写需求文档了!阿里工程师开源的 PM-Skills 让 AI 助手秒变产品经理**

别再手动写需求文档了!阿里工程师开源的 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,这套工具都能为你的工作带来实质性的效率提升。祝你使用愉快!

如果内容对您有帮助,欢迎打赏

您的支持是我继续创作的动力

前往打赏页面

评论区

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注