首页 › Skills专栏 › 产品经理工作流skills › Interaction PRD › Pecker PRD审查代理

Pecker PRD审查代理

Pecker 是一个无需凭证的作品集演示,用于通过可检查的多代理工作流程审查产品需求文档。它将模糊的PRD文本转化为有根据的发现,允许产品经理接受、拒绝或编辑每一个建议,并且仅从确认的决策生成Markdown报告。​

公开版是有意决定性的。它展示了工具束缚、证据纪律、失效隔离、坚持和人类确认循环,同时不声称具备现场LLM质量或生产准备​

40秒攻略​

​

飞书文档 - 图片

​

加载合成PRD,运行四个有界专家,作为项目经理确认发现,生成仅包含接受或编辑建议的报告。​

它所展示的问题​

PRD评审常常将多个关注点混为一谈:文档结构、产品质量、实施准备度和数据质量。这使得审计结果变得困难,更难安全审批。​

佩克把这些问题分开处理。四个有界专家独立运作,协调者整合他们的产出,顾问检查覆盖范围而不重写证据,项目经理对每项发现拥有最终决定权。​

​

飞书文档 - 图片

​

每位工人返回,最多暴露三个发现,且不能呼叫其他工人。研究结果引用了确切的来源。失败的员工会被记录,但不会取消成功的员工。顾问最多只能添加两份保险通知,且绝不更改证据。{ status, output, confidence, tokens_used }​

产品攻略​

加载其中一个明确合成的PRD或粘贴非机密演示文本。第一种状态保持输入、工作流程阶段和本地数据边界的可见性。​

审核后,检查四名员工账本和顾问交叉核对,做出项目管理决策,生成确认报告。病例数和严重程度总数来自当前的评估。​

​

​

​

飞书文档 - 图片

​

50%

​

​

​

飞书文档 - 图片

​

50%

​

​

公开版边界​

该仓库旨在根据经过净化的Git历史发布。其样本为虚构,开头有合成数据提示。它不包含私有集成或基础设施配置。​

边界扫描器拒绝通用的个人路径、凭证格式、非文档IP地址、环境/数据库/依赖/构建/测试运行时路径,以及仅通过单向SHA-256指纹匹配的项目特定术语。使用,它会检查每一条可达的提交消息,要求GitHub的noreply作者和提交者邮箱地址,并扫描每条历史路径和blob,确保删除不会掩盖违规。二进制文件默认被拒绝;仅允许列出两张有文档的PNG截图,并验证其签名、结构及文本或EXIF元数据块的缺失。--history​

API​

FastAPI 服务返回并存储本地审阅状态到 SQLite。mode: "deterministic-demo"​

​

#OfDeVDnzsEXk text { white-space: pre; }#OfDeVDnzsEXk .fb0 { stroke: var(--N900-FG, 0.15); }#OfDeVDnzsEXk .fb0 {stroke: rgba(31,35,41, 0.15)}#OfDeVDnzsEXk .fx0 { stroke-miterlimit: 10; }#OfDeVDnzsEXk .fx0 {stroke-miterlimit: 10}#OfDeVDnzsEXk .fa1 { fill: rgb(187, 191, 196); }#OfDeVDnzsEXk .fa1 {fill: rgb(187, 191, 196)}#OfDeVDnzsEXk .fx1 { font: 400 12px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#OfDeVDnzsEXk .fx1 {font-style: normal}#OfDeVDnzsEXk .fx2 { text-anchor: middle; }#OfDeVDnzsEXk .fx2 {text-anchor: middle}#OfDeVDnzsEXk .fx3 { dominant-baseline: central; }#OfDeVDnzsEXk .fx3 {dominant-baseline: central}#OfDeVDnzsEXk .fx4 { stroke: none; }#OfDeVDnzsEXk .fx4 {stroke: none}#OfDeVDnzsEXk .fc0 { fill: var(--text-caption); }#OfDeVDnzsEXk .fc0 {fill: #646a73}#OfDeVDnzsEXk .fa2 { fill: var(--text-link-disabled); }#OfDeVDnzsEXk .fa2 {fill: rgb(187, 191, 196)}#OfDeVDnzsEXk .fx5 { font: 400 16px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#OfDeVDnzsEXk .fx5 {font-style: normal}#OfDeVDnzsEXk .fx6 { text-anchor: start; }#OfDeVDnzsEXk .fx6 {text-anchor: start}#OfDeVDnzsEXk .fx7 { dominant-baseline: alphabetic; }#OfDeVDnzsEXk .fx7 {dominant-baseline: alphabetic}#OfDeVDnzsEXk .fc1 { fill: rgb(31, 35, 40); }#OfDeVDnzsEXk .fc1 {fill: rgb(31, 35, 40)}#OfDeVDnzsEXk .fx8 { font: 400 13px LarkHackSafariFont, LarkEmojiFont, ui-monospace, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "Noto Sans", Tahoma, "Nimbus Sans L", Arial, "Liberation Sans", "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Source Han Sans SC", "Source Han Sans CN", "Microsoft YaHei", "Wenquanyi Micro Hei", "WenQuanYi Zen Hei", STHeiti, SimHei, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", system-ui; }#OfDeVDnzsEXk .fx8 {font-style: normal}#OfDeVDnzsEXk .fb1 { fill: var(--N900-FG, 0.15); }#OfDeVDnzsEXk .fb1 {fill: rgba(31,35,41, 0.15)}#OfDeVDnzsEXk .fb2 { fill: rgb(209, 217, 224); }#OfDeVDnzsEXk .fb2 {fill: rgb(209, 217, 224)}#OfDeVDnzsEXk .fa3 { fill: var(--bg-body); }#OfDeVDnzsEXk .fa3 {fill: #fff}ABC1234567方法终点目的退货服务状态和确定性演示模式。列出两个合成PRD及其文本和元数据。运行四位专家,并返回一份完整的复习快照。阅读持久评价快照。应用一份完整或部分的接受、拒绝或编辑决定列表。仅从接受和编辑的发现中生成Markdown。GETGETPOSTGETPOSTGET/api/health/api/samples/api/reviews/api/reviews/{review_id}/api/reviews/{review_id}/decisions/api/reviews/{review_id}/report{ title, content }

​

未知评论ID返回。无效编辑返回。浏览器只使用,默认为 。404422NEXT_PUBLIC_API_BASE_URLhttp://127.0.0.1:8000​

本地运行​

要求:Python 3.11或更新版本,并且需要当前的Node.js LTS版本。​

从仓库根安装后端:​

​

代码块​

Plain Text

python -m pip install -r requirements.lock​

python -m pip install --no-build-isolation --no-deps -e .​

python -m uvicorn backend.pecker.main:app --host 127.0.0.1 --port 8000​

​

在另一个终端中,安装并启动网页工作区:​

​

代码块​

Plain Text

cd web​

npm ci​

npm run dev​

​

打开。要使用另一个后端地址,先设置好再开始Next.js。运行时数据默认为;设置为选择另一个本地SQLite文件。http://127.0.0.1:3000NEXT_PUBLIC_API_BASE_URL.data/pecker-demo.dbPECKER_DB_PATH​

本地核实​

运行CI使用的同样门:​

​

代码块​

SQL

python -m pip install -r requirements.lock​

python -m pip install --no-build-isolation --no-deps -e .​

python -m pip install pip-audit==2.10.1​

python -m pip_audit -r requirements.lock​

python scripts/check_public_boundary.py --history​

python -m pytest -q​

​

npm --prefix web ci​

npm --prefix web audit --audit-level=high​

npm --prefix web run lint​

npm --prefix web test​

npm --prefix web run build​

​

后端套件涵盖了工作者边界和证据基础、故障隔离、顾问边界、持久性、决策、报告过滤、每个端点以及安全/不安全的公共边界配置。前端套件涵盖相变、决策、API 故障恢复、报表渲染、操作隔离以及键盘可访问的编辑。​

技术​

•

后端:Python 3.11、FastAPI、Pydantic、SQLite、pytest。​

•

前端:Next.js 16,React 19,TypeScript,Tailwind CSS 4,Vitest。​

•

CI:分开Python和Node.js作业,安装锁定、安全审计、lint、测试、构建和完整历史边界扫描。​