padvisor(单智能体第二意见) 是做什么的?
概述
生成一个智能体,用于阅读情况、形成判断并给出答案。它不会执行工作——你保留工作。当决策悬而未决、方法感觉不妥,或计划在实施前需要新的视角时,可以使用它。
不是 pspawn,也不是 phandoff。 那些技能会移交工作。这个技能只移交问题,并带回一个由你亲自执行的意见。
生成的智能体可以做什么。 它在没有权限提示的情况下运行,使用团队默认模式(Claude 为 bypassPermissions,Codex 为 full-access),但通过指令保持只读,而非模式:简报中的“禁止编辑”后缀使其无法修改文件。希望在更多方面使用该技能的团队可以在仓库的 AGENTS.md 中提出要求(该文件同样作为指令),或通过 Claude Code 的 permissions.deny 规则进行阻止,这些规则在 bypassPermissions 模式下仍然适用。
调用
/padvisor [provider/model] [--skill /<name>] <question> — 模型可选。
默认提供者:与你不同的模型族。 Claude 用户将使用 Codex 的最新模型(paseo provider models codex 列表中的第一个 id);Codex 用户将使用 paseo provider models claude 列出的最新 Opus 模型(例如 claude/claude-opus-5-5,即使用其简单 id 的 100 万模型;pspawn 解释了为什么没有 [1m])。对比是核心——来自同一模型族的顾问会因你已经错误的相同理由而同意你。仅当用户指定模型时覆盖。请从列表中读取 id,切勿依赖记忆。
步骤
1. 将其生成为当前会话的子会话。 首先检查提供者可用性,方法与 pspawn 的步骤 1 完全相同(<此技能的基础目录>/../pspawn/SKILL.md)。然后:
paseo run --no-wait --json \
--provider '<provider/model>' \
--thinking xhigh \
--mode <codex 使用 full-access,claude 使用 bypassPermissions> \
--title "[顾问] <主题>" \
"$(cat <<'BRIEF'
<简报,步骤 2>
BRIEF
)"
在 paseo 中,顾问会自行进入当前会话的工作区,作为当前会话的子会话——并保持为子会话:不要分离它。顾问属于问题;当会话被归档时,paseo 会将顾问一同归档,这正是应该发生的情况。在 paseo 外部,添加 --workspace <id>,查找方法与 pspawn 的步骤 2 相同。
模式:claude → bypassPermissions,codex → full-access,与每次生成相同(团队默认设置):在默认模式下,顾问会因无人回答的权限提示而停滞。禁止编辑后缀(而非模式)使其无法修改文件。对 provider/model 使用单引号。
2. 编写简报。 顾问没有上下文,也无法看到本次对话。
[用户对话的语言,作为指令:“用<该语言>回答。”]
## 问题
[一个尖锐的问题。不是“你怎么看”,而是“选择 X 还是 Y 是否正确,以及原因”。]
## 情况
[正在构建或决定的内容,用三句话描述。]
## 我已考虑的选项
- [选项] — [它吸引我的原因,让我担忧的原因]
- [我排除的选项] — [排除的理由]
## 检查位置
- `/absolute/path/file.ts` — [它是什么以及为何重要]
## 我希望得到的内容
一份包含推理的建议。指出你**自己建议**的最大反对理由。如果我对问题的框架有误,请先指出这一点。
仅限分析。不要编辑、创建或删除任何文件。不要编写代码。
使用绝对路径指向文件;不要粘贴其内容。 智能体可以自行读取。粘贴内容会消耗上下文并迅速过时。
“最大反对理由”这一行并非装饰——没有它,一个新的智能体通常会产生自信的单方面回答,而这正是本技能旨在避免的失败模式。
3. 等待——设置 paseo-notify,然后结束你的回合。
paseo-notify <顾问-id>
它会立即返回。当顾问停止时,当前会话会收到一条消息:finished its turn → 它已回答(消息包含其最后的活动行),is waiting for a permission → 有一个请求在等待你处理,stopped with an error → 说明情况并查看其日志;不要静默地重新生成。使用限制不会唤醒你:paseo-limit-watch 会恢复顾问并重新设置监视(其 crontab 行已安装,参见 README);如果没有它,请在重置后自行检查顾问。不要轮询,不要使用 sleep 循环,不要使用 Monitor。先完成其他工作,然后结束你的回合。
在 paseo 外部(没有 $PASEO_AGENT_ID)使用 run_in_background: true 运行 paseo wait <advisor-id> --json 代替——前台 Bash 调用最多 10 分钟,而顾问在高思考模式下通常运行 15-30 分钟——并从 JSON 中读取 status,绝不要依赖退出代码。
关于 permission(在 bypass 和 full-access 模式下罕见,但 rm -rf 仍会询问)一个无人值守的顾问会静默停滞。读取请求(paseo permit ls),判断是否在你授予顾问的职责范围内,然后使用 paseo permit allow <agent-id> <request-id> 或 deny(两个 id 均来自 paseo permit ls),并再次设置 paseo-notify。如果在职责范围外,或你不确定,请询问用户,而非代其批准。
4. 读取答案。
paseo logs <顾问-id> --filter text --tail 3
pagent.py <id> -t -n 3 --full(<此技能的基础目录>/../pagent/)提供更丰富的视图,包含时间戳,并能读取 Claude、Codex 和 Antigravity 的对话记录——与 paseo logs 不同,它不会重新加载已关闭的智能体来读取内容。
5. 为用户进行整合。 顾问的裁决以及你自己对它的解读,需清晰区分。你不是一个中继器:如果顾问错了,明确指出并说明原因。如果它发现了你遗漏的东西,也直接说出来。
6. 归档它 — paseo archive <advisor-id> — 除非用户希望保留它(见下文)。
持久顾问
如果用户希望获得持续输入(“保留它用于后续决策”),跳过步骤 6,并向同一智能体发送后续问题,而非生成新的:
paseo send <顾问-id> "<后续问题>" --behavior steer --no-wait
然后像之前一样等待(步骤 3)和读取(步骤 4)。如果提供者无法接受 steering,调度可回退到中断。--no-wait 很重要: 没有它,CLI 会等待完成。paseo send 可以复活已归档的智能体,因此先用 paseo inspect <id> --json 检查 ArchivedAt;如果已归档,告知用户,不要复活它。
其上下文会保留,这正是目的所在。当用户表示完成,或话题变化足够大以至于旧上下文的负面影响超过连续性的好处时,再进行归档。
转发技能
如果用户传递了一个技能引用(/padvisor /code-review 这是过度设计吗?),顾问——而不是你——执行它。选择一个其工具包中包含该技能的顾问:仅存在于 Claude Code 中的技能(例如 /code-review)需要一个 claude 顾问。在简报中添加:
在执行其他任何操作之前,请使用 `<name>` 技能(Claude Code:使用 Skill 工具;Codex:读取其 SKILL.md),并将其应用于此任务。
将技能名称之后的所有内容作为该技能的输入传递。
常见错误
| 错误 | 修复 |
|---|---|
| 默认使用与自身相同的模型族作为顾问 | Codex 的最新模型——一个同意你的顾问是浪费的生成 |
信任 paseo wait 的退出代码 | 退出代码 0 可能表示空闲、权限错误或错误——从 --json 中读取 status |
| 前台等待 | 使用 run_in_background: true;10 分钟的 Bash 超时会杀死等待,而不是智能体 |
轮询 paseo ls、sleep 或 Monitor 来检查是否完成 | 使用 paseo-notify <id> 然后结束回合;一条消息会唤醒你 |
使用普通的 paseo send 进行后续问题 | 它会阻塞直到完成——使用 --no-wait,然后像步骤 3 那样等待 |
分离顾问,或使用 env -u PASEO_AGENT_ID | 它有意作为当前会话的子会话:会话归档时它也会被归档 |
| 省略“禁止编辑”后缀 | 没有它,顾问会开始实现你要求它判断的事情 |
| 将文件内容粘贴到简报中 | 使用绝对路径;智能体自己读取文件 |
| 未说明回答语言 | 顾问会用提示词的语言回答;以用户的语言开头 |
| 将裁决当作事实来传递 | 这只是零上下文下的一个意见——说明你不同意的部分 |
Codex 保持默认模式,或 claude 保持 auto | codex → full-access,claude → bypassPermissions(团队默认设置);禁止编辑后缀保持只读 |
| 移交实际工作 | 那是 pspawn(开放任务)或 phandoff(已提交的规范 + 计划) |