pi-ralph 是一个面向编码智能体 pi 的扩展,主题为「基于帽子的多智能体编排循环」。按照仓库说明,该包已弃用、不再维护,被归档,也不会针对当前 pi 版本获得更新;官方建议如需在 pi 中进行多智能体编排,可参考 pi 自带的子智能体示例扩展。以下内容依据仓库资料整理。
用途 Ralph 让智能体通过一组专业化的「帽子」(即角色)持续迭代,直到任务完成。每个帽子都有各自的指令、触发条件和事件,用于推动工作流向前。
主要能力
- 基于帽子的编排:可定义专业角色(如 Planner、Builder、Reviewer 等),角色之间通过事件交接工作。
- 内置预设:提供常见任务的即用型工作流。
- 自定义预设:支持创建基于 YAML 的自定义工作流。
- PDD 规划:即 Prompt-Driven Development 模式,用于把粗略想法转化为详细设计。
- 事件协议:帽子发布事件,触发下一个帽子,形成自主循环。
- 护栏机制:通过最大迭代次数、最大运行时间和完成承诺防止循环失控。
- 会话持久化:循环状态在会话重启后仍可保留。
- 历史与循环弹窗:提供弹出式浮层,用于浏览迭代历史和过往循环记录。
使用方式 安装:将仓库克隆到 pi 的扩展目录,pi 会在下次启动时自动发现并加载该扩展。 与 pi-slack-bot 一起使用时,将 / 换成 !;运行不带参数的 !ralph 时,Slack 机器人还会提供交互式预设选择器。
自定义预设可放置在以下位置(后者覆盖前者):
- ~/.pi/agent/extensions/ralph/presets/ (内置)
- ~/.pi/agent/ralph/presets/ (用户级)
- <project>/.pi/ralph/presets/ (项目级)
循环的工作方式:
- 循环启动时,查找由 starting_event 触发的帽子。
- 将帽子指令注入系统提示词。
- 智能体在该帽子的指导下工作。
- 完成后,智能体发布事件:>>> EVENT: event_name
- Ralph 查找由该事件触发的下一个帽子。
- 重复此过程,直到智能体输出 completion_promise 或触及限制。
PDD(提示词驱动开发) /plan 命令会启动一个交互式规划会话,将粗略想法转化为:需求(通过迭代问答细化范围)、研究(技术调研并记录发现)、设计(带图表和验收标准的详细架构)、实施计划(可直接执行的分步步骤)。所有产出物保存到 specs/<task-name>/。该会话由用户驱动——未获确认,Ralph 不会进入下一阶段。规划完成后,可交接给自主实施。
适用场景 适用于在 pi 编码智能体中进行多智能体编排、角色化任务流转,以及把粗略想法转为详细设计并衔接自主实施的场景。
限制 仓库已明确标注为弃用、不再维护,且不会针对当前 pi 版本更新;建议改用 pi 自带的子智能体示例扩展。关于收费、价格、平台及具体效果等信息,资料未提供。
灵感来源:该项目受 @mikeyobrien 的 ralph-orchestrator 启发,后者是最初用于自主 AI 智能体编排的 Ralph Wiggum 技法。