pi-multi-research 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -0
- package/SKILL.md +113 -0
- package/package.json +18 -0
package/README.md
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# multi-research
|
|
2
|
+
|
|
3
|
+
多模型对照调研:派 **多个采用不同模型**的内置 `researcher` **并行调研同一个问题**,再由 `oracle` 交叉检验、合并成一份带对照、冲突标注、来源裁决与模型质量观察的中文分析报告。
|
|
4
|
+
|
|
5
|
+
## 它解决什么问题
|
|
6
|
+
|
|
7
|
+
单个模型调研有盲区与偏差。让多个不同厂商的模型独立回答同一问题,再交第三方评审合并,能得到:
|
|
8
|
+
|
|
9
|
+
- 事实交叉验证(多模型一致的结论更可信)
|
|
10
|
+
- 冲突显性化(分歧点及其双方依据一目了然)
|
|
11
|
+
- 来源权威裁决(冲突时按来源可信度下结论)
|
|
12
|
+
- 模型质量对比(顺带观察哪个模型调研更可靠)
|
|
13
|
+
|
|
14
|
+
## 设计要点
|
|
15
|
+
|
|
16
|
+
**零自定义 agent**:模型通过调度时的 `model:` 参数传给内置 `researcher`(pi-subagents 自带)。唯一的配置点是 SKILL.md 里的**模型名单**——换/加模型只改那一处,没有 agents 文件、没有安装同步问题。
|
|
17
|
+
|
|
18
|
+
## 安装
|
|
19
|
+
|
|
20
|
+
本技能依赖 `pi-subagents`(提供内置 `researcher` / `oracle` 和 `workflowScript` 并行调度):
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# 前置依赖
|
|
24
|
+
pi install npm:pi-subagents
|
|
25
|
+
|
|
26
|
+
# 安装本技能
|
|
27
|
+
pi install npm:pi-multi-research
|
|
28
|
+
|
|
29
|
+
# 项目级安装
|
|
30
|
+
pi install -l npm:pi-multi-research
|
|
31
|
+
|
|
32
|
+
# 本地开发:在 pi-packages 仓库根目录执行
|
|
33
|
+
pi install ./skills/multi-research
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
不再推荐从 GitHub 根仓库安装合集或复制目录;GitHub monorepo 仅用于源码和文档维护。本地路径安装适合开发和测试未发布版本。
|
|
37
|
+
|
|
38
|
+
## 使用
|
|
39
|
+
|
|
40
|
+
对任意 agent 说一句即可,例如:
|
|
41
|
+
|
|
42
|
+
> 用 multi-research 调研:武汉今日天气
|
|
43
|
+
|
|
44
|
+
指定部分模型(简称或完整 ID):
|
|
45
|
+
|
|
46
|
+
> 用 glm、qwen 调研:<问题>
|
|
47
|
+
|
|
48
|
+
指定主题标签与落盘位置:
|
|
49
|
+
|
|
50
|
+
> 用 multi-research 调研「<问题>」,主题标签 xxx,落盘到 docs/research/
|
|
51
|
+
|
|
52
|
+
产出:`docs/research/YYYY-MM-DD-<topic>/` 下每个模型一份简报 + 1 份 oracle 合并分析(`00-analysis.md`)。
|
|
53
|
+
|
|
54
|
+
## 目录结构
|
|
55
|
+
|
|
56
|
+
```text
|
|
57
|
+
multi-research/
|
|
58
|
+
├── package.json # pi-multi-research:独立 npm 包 manifest
|
|
59
|
+
├── SKILL.md # 主流程:解析模型名单 → 并行调研 → oracle 评审 → 合并落盘
|
|
60
|
+
└── README.md # 本文件
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## 换模型 / 加模型
|
|
64
|
+
|
|
65
|
+
改 SKILL.md 顶部的「模型名单」(或简写映射)列表即可,流程与安装都不动。模型必须存在于 pi 的模型注册表。
|
|
66
|
+
|
|
67
|
+
## 前提与成本
|
|
68
|
+
|
|
69
|
+
- 默认名单走 B.AI / opencode 免费通道;`oracle` 使用当前 pi-subagents 配置的模型,具体费用取决于本地配置。
|
|
70
|
+
- GLM 模型只接受 low/high/max 思考级别,名单里必须写 `bai/glm-5.3-flash:high`(medium 会 400)。
|
package/SKILL.md
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: multi-research
|
|
3
|
+
description: 多模型对照调研——派多个采用不同模型的内置 researcher 并行调研同一问题,再由 oracle 交叉检验、合并成一份带对照与裁决的中文分析报告
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
对用户给出的同一个问题,并行派出若干**不同模型**的 `researcher`(pi-subagents 内置)独立调研,最后由 `oracle`(内置)交叉检验并合并产出**一份**分析报告:逐字段对照、冲突标注、来源裁决、模型质量观察。
|
|
7
|
+
|
|
8
|
+
本 skill **不依赖任何自定义 agent**:模型通过调度时的 `model:` 参数传入。唯一的"配置点"是下面的默认模型名单——**增删改模型只动这一个列表**。
|
|
9
|
+
|
|
10
|
+
## 模型名单(唯一的配置点)
|
|
11
|
+
|
|
12
|
+
默认(一次并行调研 = 派一个 researcher × 每个模型):
|
|
13
|
+
|
|
14
|
+
- `bai/glm-5.3-flash:high` —— 智谱 GLM(注意必须带 `:high`:该模型只接受 low/high/max 思考级别,拒绝默认的 medium)
|
|
15
|
+
- `bai/qwen3.8-flash` —— 阿里 Qwen
|
|
16
|
+
- `opencode-zen-free/mimo-v2.5-free` —— 小米 MiMo
|
|
17
|
+
|
|
18
|
+
简写映射(触发消息里说简称用):
|
|
19
|
+
|
|
20
|
+
| 简写 | 完整模型 ID |
|
|
21
|
+
|---|---|
|
|
22
|
+
| `glm` | `bai/glm-5.3-flash:high` |
|
|
23
|
+
| `qwen` | `bai/qwen3.8-flash` |
|
|
24
|
+
| `mimo` | `opencode-zen-free/mimo-v2.5-free` |
|
|
25
|
+
|
|
26
|
+
## 触发解析
|
|
27
|
+
|
|
28
|
+
用户消息两种形式:
|
|
29
|
+
|
|
30
|
+
- **不指名模型**:"用 multi-research 调研 <问题>" → 默认名单全部
|
|
31
|
+
- **指名模型**:"用 glm、qwen 调研 <问题>" → 只派简写映射对应的模型(未匹配的简写 → 提示用户,仍跑其余)
|
|
32
|
+
|
|
33
|
+
可选参数(原样沿用):`主题标签 <topic>`(目录命名,缺省用问题前几个词做 slug)、落盘根(缺省 `docs/research/`)。
|
|
34
|
+
|
|
35
|
+
## 前置
|
|
36
|
+
|
|
37
|
+
`researcher` 与 `oracle` 均为 pi-subagents 内置 agent,**无需安装任何自定义 agent 文件**。若想加失败兜底,在 `settings.json` 的 `subagents.agentOverrides.researcher.fallbackModels` 配置即可。
|
|
38
|
+
|
|
39
|
+
## 执行步骤
|
|
40
|
+
|
|
41
|
+
### 1. 准备输出目录
|
|
42
|
+
|
|
43
|
+
日期取当天 UTC+8:`docs/research/YYYY-MM-DD-<topic-slug>/`,创建目录。
|
|
44
|
+
|
|
45
|
+
### 2. 并行调研(每模型一个 researcher,workflowScript 一次跑完)
|
|
46
|
+
|
|
47
|
+
```js
|
|
48
|
+
subagent({ workflowScript: `
|
|
49
|
+
const topic = "<topic-slug>";
|
|
50
|
+
const q = "<问题>";
|
|
51
|
+
const dir = "docs/research/YYYY-MM-DD-${topic}";
|
|
52
|
+
const models = ["<模型ID1>", "<模型ID2>", ...]; // 来自模型名单/用户指名
|
|
53
|
+
const arms = models.map((m, i) => ({
|
|
54
|
+
key: "arm" + i,
|
|
55
|
+
agent: "researcher",
|
|
56
|
+
model: m,
|
|
57
|
+
task: "问题:" + q + "\\n输出:用 write 把中文调研简报到 " + dir + "/arm" + i + ".md(若 write 失败,直接在回复中返回完整简报文本)",
|
|
58
|
+
output: dir + "/arm" + i + ".md"
|
|
59
|
+
}));
|
|
60
|
+
const results = await runs.all(arms);
|
|
61
|
+
return results;
|
|
62
|
+
`})
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
产出文件建议原名:`glm.md` / `qwen.md` / `mimo.md`(按实际模型名,便于阅读)。
|
|
66
|
+
|
|
67
|
+
要点:
|
|
68
|
+
- `model:` 用「完整 provider/id」,可带思考后缀(如 `bai/glm-5.3-flash:high`),后缀优先于 agent 默认 thinking。
|
|
69
|
+
- 每个 child 的 `output` 用绝对路径或项目根相对路径,互不覆盖。
|
|
70
|
+
- 任一支失败:记录原因,其余支照常;最终分析标注缺失支。
|
|
71
|
+
|
|
72
|
+
### 3. oracle 交叉检验 + 合并分析
|
|
73
|
+
|
|
74
|
+
3 份简报齐后派 `oracle`(内置,`thinking: high`,无 web 工具,只读文件——保证它不重新检索):
|
|
75
|
+
|
|
76
|
+
```js
|
|
77
|
+
subagent({ agent: "oracle", context: "fresh", output: false,
|
|
78
|
+
task: `读取并交叉检验以下关于"<问题>"的中文调研简报:
|
|
79
|
+
- <abs>/glm.md
|
|
80
|
+
- <abs>/qwen.md
|
|
81
|
+
- <abs>/mimo.md
|
|
82
|
+
只基于文件内容(不要联网),产出一份中文分析,包含:
|
|
83
|
+
1. 逐字段对照表(同一事实维度下各方的数值/说法/来源并排)
|
|
84
|
+
2. 一致性结论:一致的点;冲突的点(各自依据与来源)
|
|
85
|
+
3. 来源可信度裁决:对冲突点按来源权威性给出结论与理由
|
|
86
|
+
4. 合并后的最终回答(Summary 级直接结论)
|
|
87
|
+
5. 模型质量观察:哪份简报更全面/更准确/引用更可靠,各一句话
|
|
88
|
+
6. 缺失支的影响(若有)` })
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
oracle 的 tools 不含 `write`,分析在其返回文本里;由父会话把返回内容落盘为 `<dir>/00-analysis.md`(`output: false` 避免它写别处)。
|
|
92
|
+
|
|
93
|
+
### 4. 汇报
|
|
94
|
+
|
|
95
|
+
向用户给出:最终合并回答(几句话说清结论)→ 关键分歧点一句话总结 → 报告路径。
|
|
96
|
+
|
|
97
|
+
## 输出约定
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
docs/research/YYYY-MM-DD-<topic-slug>/
|
|
101
|
+
├── <模型1>.md # 各模型独立简报(带来源与检索时间)
|
|
102
|
+
├── <模型2>.md
|
|
103
|
+
├── ...
|
|
104
|
+
└── 00-analysis.md # oracle 交叉检验 + 合并分析
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
全部中文;简报必须带来源 URL 与检索时间。
|
|
108
|
+
|
|
109
|
+
## 灵活性
|
|
110
|
+
|
|
111
|
+
- **换模型/加模型**:改「模型名单」列表(或简写映射)一处即可,无需改流程、无需装 agents。
|
|
112
|
+
- **临时指定**:触发消息里点名模型简称或完整 ID。
|
|
113
|
+
- **失败兜底**:`settings.json` → `agentOverrides.researcher.fallbackModels`。
|
package/package.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "pi-multi-research",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Pi skill: multi-model cross-checked research — dispatch several researchers on different models in parallel for the same question, then an oracle cross-checks and merges them into one Chinese analysis report with comparison, conflicts, source adjudication, and model-quality observations.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"keywords": ["pi-package", "pi-skill", "research", "multi-model", "oracle", "cross-check"],
|
|
7
|
+
"files": ["SKILL.md", "README.md"],
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/the-ultra-nexus/pi-packages.git"
|
|
11
|
+
},
|
|
12
|
+
"pi": {
|
|
13
|
+
"skills": ["./"]
|
|
14
|
+
},
|
|
15
|
+
"peerDependencies": {
|
|
16
|
+
"pi-subagents": "*"
|
|
17
|
+
}
|
|
18
|
+
}
|