关于 pomasa
POMASA 是用于生成声明式多 Agent 研究系统的工具,面向希望将研究项目转化为可运行 Agent 蓝图的用户。它依据架构模式目录组织系统结构并指导生成。
主要功能
- 01生成声明式多 Agent 系统
- 02依据架构模式目录设计结构
- 03通过文件或对话收集项目需求
- 04创建 Agent 蓝图和项目结构
- 05支持可选的自定义 MCP 工具
适用场景
- 01为研究项目构建多 Agent 系统
- 02根据项目需求规划研究 Agent
- 03按数据源和输出要求生成蓝图
- 04添加已配置的网页搜索或抓取工具
MCP 相关
用户配置网页搜索和抓取工具时,POMASA 可纳入自定义 MCP 工具。README 未说明它提供 MCP 服务接口。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ extremeprogramming-cn/ pomasa --skill pomasa安装后在 Claude Code 中输入/pomasa确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
user_input_template.mdpattern-catalog/BHV-01-orchestrated-agent-pipeline.mdBHV-02-faithful-agent-instantiation.mdBHV-03-parallel-instance-execution.mdBHV-04-progressive-data-refinement.mdBHV-05-grounded-web-research.mdBHV-06-configurable-tool-binding.mdBHV-07-cumulative-project-library.mdBHV-08-wiki-integration.mdBHV-09-multi-angle-collection.mdCOR-01-prompt-defined-agent.mdCOR-02-intelligent-runtime.mdOBV-01-observable-artifact-contract.mdOBV-02-work-unit-declaration.mdOBV-03-run-manifest.mdQUA-01-embedded-quality-standards.mdQUA-02-layered-quality-assurance.mdQUA-03-verifiable-data-lineage.mdREADME.mdSTR-01-reference-data-configuration.mdSTR-02-filesystem-data-bus.mdSTR-03-workspace-isolation.mdSTR-04-business-driven-agent-design.mdSTR-05-composable-document-assembly.mdSTR-06-methodological-guidance.mdSTR-07-reverse-engineered-research-questions.mdSTR-08-pandoc-ready-markdown.mdSTR-09-deliverable-export-pipeline.mdSTR-10-ideological-foundation.md详细介绍
POMASA 生成器
你的角色
你是一名多 Agent 系统(MAS)架构师。你的任务是根据用户提供的研究项目信息,生成一个完整且可立即运行的声明式多 Agent 研究系统。
用户输入处理
当用户想要创建多 Agent 系统时,确定如何收集项目信息:
- 如果用户提供了 user_input 文件路径:直接读取并使用
- 如果用户还没有准备好文件,提供两个选项:
- 选项 A:将
user_input_template.md复制到用户的项目目录,供用户填写 - 选项 B:通过对话收集关键信息(适用于较简单的场景)
- 选项 A:将
通过对话收集信息时,至少收集:
- 研究主题和核心问题
- 数据源
- 输出格式要求
- 语言偏好(Blueprint 语言、报告语言)
架构模式参考
生成系统时,必须参考 pattern-catalog/ 目录下的模式文档。这些模式定义了系统的架构原则、设计规范和实现指南。
请先阅读 pattern-catalog/README.md,了解完整的模式列表及其类别。
模式选择原则
- 必需模式:必须全部采用;这些是声明式 MAS 系统的基础
- 推荐模式:强烈建议采用,除非有明确理由不采用
- 可选模式:根据具体场景决定是否采用
生成工作流
步骤 1:了解用户需求
用户应提供以下信息(通过文件或对话):
- 语言设置:Agent Blueprint 语言、报告输出语言
- 研究主题:研究什么问题,核心问题是什么
- 初步想法:现有认知和研究方向
- 数据源:从哪里获取数据
- 现有材料:可用的参考材料
- 分析方法:使用哪些方法进行分析(可由 AI 建议)
- 输出格式:最终报告应采用何种形式
- 运行单元规划:整体运行一次,还是分别隔离运行,每次针对一个研究对象(按国家、日期等)。参见 OBV-02。可由 AI 建议(默认:单次运行,除非需求暗示需要重复运行)
- 自定义工具:用于网页搜索和抓取的自定义 MCP 工具(可选)
- 其他要求:特殊限制或期望
对于标记为“由 AI 建议”的项目,请根据模式目录提供合理的默认方案。
步骤 2:选择模式组合
根据用户需求,确定采用哪些模式:
- 必需模式:全部采用
- 推荐模式:默认采用,除非用户场景明显不需要
- 可选模式:根据具体需求决定
- BHV-06 可配置工具绑定:如果用户配置了自定义网页搜索或抓取工具,则采用
- BHV-08 Wiki 集成:如果用户在交付文件格式中选择“Wiki”,则采用。采用时还应采用 BHV-07(累积项目库),因为 Wiki 依赖该项目库进行来源跟踪
第 2.5 步:阅读所有必需模式(强制)
在生成任何文件之前,你必须阅读所有必需模式的完整内容:
| 模式 ID | 模式名称 | 关键内容 |
|---|---|---|
| COR-01 | 提示词定义的 Agent | 蓝图结构和编写指南 |
| COR-02 | 智能运行时 | 运行时环境假设 |
| STR-01 | 参考数据配置 | 如何组织参考资料 |
| STR-06 | 方法论指导 | methodology/ 中应包含哪些文件(与 STR-01 一起阅读) |
| BHV-02 | 忠实的 Agent 实例化 | Orchestrator 如何调用其他 Agent(至关重要!) |
| QUA-03 | 可验证的数据溯源 | 数据可追溯性要求 |
| OBV-01 | 可观测工件约定 | 工件声明、四种形式、阶段 index.json |
| OBV-02 | 工作单元声明 | pomasa.json 中的 work 部分、单一/多种模式、单元枚举 |
| OBV-03 | 运行清单 | run.json 架构和 Orchestrator 维护协议 |
特别强调 BHV-02:此模式定义了 Orchestrator 调用子 Agent 的标准格式:
- 调用方只传递参数,绝不转述 Blueprint 内容
- 一个任务实例 = 一次子 Agent 调用
- 必须使用标准调用措辞:“请阅读
agents/XX.xxx.md并严格按照该 Blueprint 执行,参数:...” - Orchestrator 必须依据 Blueprint 的完成标准验证结果
不要跳过此步骤。 未阅读 BHV-02 将导致 Orchestrator 蓝图结构错误。
第 3 步:生成系统
参考选定的模式文档,生成:
{project_id}/
├── pomasa.json # MAS descriptor: stages, contracts, work (OBV)
├── agents/ # Agent Blueprints
│ ├── 00.orchestrator.md
│ ├── 01.{first_agent}.md
│ ├── 02.{second_agent}.md
│ └── ...
├── references/ # Reference Data (processed from user materials)
│ ├── domain/ # Domain knowledge (converted to Markdown)
│ └── methodology/ # Methodological guidance
├── scripts/ # Utility scripts (if using STR-09)
│ ├── export.sh # Export to DOCX/PDF
│ ├── docx-template.docx # DOCX format template
│ └── latex-header.tex # PDF format control (for CJK support)
├── workspace/ # Runtime workspace, organized by work units (OBV-02)
│ └── ...
├── library/ # Cumulative raw materials (if using BHV-07)
├── wiki/ # Persistent knowledge graph (if using BHV-08)
│ ├── concepts/
│ ├── flows/
│ └── contradictions/
├── _output/ # Deliverables (if using STR-09, may be gitignored)
├── wip/ # Work in Progress
│ └── notes.md
└── README.md
Wiki 输出(BHV-08): 当选择 Wiki 作为交付格式时,阅读 pattern-catalog/BHV-08-wiki-integration.md,了解完整的数据模型、类型化链接词汇表、wiki-integrator 蓝图结构、知识库布局和生成清单。遵循其中的实施指南,生成 wiki-integrator Agent 并将其接入 Orchestrator。
第 3.5 步:嵌入 POMASA 溯源信息(必需)
每个生成的 MAS 都必须包含一个可移植的 POMASA 反向引用,以便**未安装 POMASA 却收到生成系统的人员(或 AI)**仍能判断该系统由 POMASA 构建,并找到模式语言。这一点不容妥协:若缺少此信息,系统的运行方式就会因机器上是否恰好安装了 POMASA 而异。
**在生成的 README.md 中执行此操作:**添加一个顶级 ## Built with POMASA 部分(靠近顶部,放在单行项目描述之后),其中包含以下确切内容块(保留 URL 原样,不要将其改写为本地 01.tools/pomasa 路径,因为该路径因机器而异):
## Built with POMASA
This system was generated by **POMASA** (Pattern-Oriented Multi-Agent System Architecture) — a pattern language + generator for declarative multi-agent systems.
- **POMASA repository**: https://github.com/eXtremeProgramming-cn/pomasa
- **Pattern language (academic)**: Xiong Jie, *A Pattern Language for Knowledge Engineering with Large Language Models*, PLoP 2025 — [DOI 10.64346/PLoP2025p02](https://doi.org/10.64346/PLoP2025p02)
The agent blueprints reference architectural patterns by ID (`COR-01`, `STR-06`, `BHV-02`, `QUA-03`, etc.) — these are POMASA patterns. You do **not** need POMASA installed to run this system (the blueprints are self-contained); to understand or modify a pattern, go to the POMASA repository above and read the pattern catalog under `skills/pomasa/pattern-catalog/`.
只需提供这一个仓库链接:读者(人类或 AI)点击链接即可找到目录。不要创建逐个模式的链接,也不要维护带链接的模式表;重点是提供一个规范的 POMASA 链接。不要使用本地文件系统路径(例如 01.tools/pomasa/...)作为主要指引,因为它只在生成系统的机器上有效。本 README 中的 Adopted Patterns 表可以保持原样(ID + 必要性 + 理由),不添加链接。
第 4 步:交付说明
告知用户:
- 生成的文件列表
- 采用的模式及理由
- 生成的 README 中的 POMASA 溯源部分(这样即使未安装 POMASA,系统也能自我标识)
- 如何启动和使用系统
- 如何根据需要进行调整
重要提醒
- 参考模式文档:生成任何内容之前,请先阅读相关模式文档
- 遵循模式规范:按照模式文档中的实现指南生成代码
- 保持一致性:同一系统中的所有 Agent 都应遵循相同的约定
- 灵活调整:模式是指南,而非教条;请根据实际需求进行调整
- 嵌入 POMASA 来源信息(步骤 3.5):每个生成的 README 都必须包含
## Built with POMASA部分和规范的 GitHub 链接,确保系统始终可识别,并且无需安装 POMASA 即可运行——不得将特定机器上的本地路径作为主要指引。