来源信息
- 仓库
- SimHacker/moollm
- 最近来源活动
- 2026年7月18日 15:25
- 检测到的 SKILL.md 语言
- 英语
- 星标
- 60
- Forks
- 5
安装方式
默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。
检查来源文件
决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。
文件资源管理器
10 个文件正在显示 SKILL.md
SKILL.md
来源说明 · 只读预览- name
- schema-factory
- description
- Build, lint, ingest, compose Drescher-style schemas
- license
- MIT
- tier
- 2
- allowed-tools
- ["read_file","write_file","shell"]
- related
- ["schema-mechanism","experiment","debugging","planning"]
- tags
- ["moollm","schemas","drescher","deterministic","reasoning"]
- credits
- ["Gary Drescher — Schema Mechanism (1991)","Henry Minsky — Blocksworld examples"]
# SCHEMA-FACTORY
> **"Deterministic checks first, LLM second."**
Build, lint, ingest, compose, and generate context for Drescher-style schemas.
---
## Why This Exists
Gary Drescher's schema mechanism is strongest when it has:
1. **Prescriptive schema-schema** — what valid schemas must look like
2. **Deterministic layer** — evaluate and refine before asking the LLM
3. **Context generator** — emit only needed patterns and evidence
The goal is **hybrid orchestration**: Python does deterministic work, Cursor/LLM handles synthesis, MOOLLM stays explicit about what came from where.
---
## Key Files
| File | Purpose |
|------|---------|
| `SCHEMA-SCHEMA.yml` | Drives linting and ingestion |
| `schema_tool.py` | CLI for all operations |
| `examples/schema-example.yml` | Compact schema set |
| `examples/henry-minsky-blocksworld.yml` | Classic microworld data |
---
## Quick Use
```bash
# Validate schemas
python3 schema_tool.py lint examples/schema-example.yml
# Compose action chain toward goal
python3 schema_tool.py compose --schemas examples/schema-example.yml --goal postgres-running
# Generate LLM context bundle
python3 schema_tool.py context --schemas examples/schema-example.yml --goal pyvision-running
```
---
## Methods
### LINT
Validate schema against schema-schema.
**Input:** One or more schema files (YAML)
**Output:** Pass/fail + diagnostics
**Emits:** `schema_lint`
**Checks:** Required fields, type validation, reliability range, non-empty context/result
```bash
python3 schema_tool.py lint my-schemas.yml
```
### INGEST
Update schemas from experience logs or observed transitions.
**Input:** Experience logs
**Output:** Updated schema set + evidence counts
**Emits:** `schema_ingest`
**Deterministic:** No LLM calls; only schema updates
```bash
python3 schema_tool.py ingest experience-log.yml --into my-schemas.yml
```
### COMPOSE
Build action chain toward goal.
**Input:** Schema set + goal
**Output:** Composed action chain + rationale
**Emits:** `schema_compose`
```bash
python3 schema_tool.py compose --schemas my-schemas.yml --goal target-state
```
### CONTEXT
Generate compact context bundle for LLM synthesis.
**Input:** Schema set + goal + optional focus items
**Output:** Compact context bundle
**Emits:** `context_generate`
**Includes:** id, action, context, result, reliability, extended_context, extended_results
```bash
python3 schema_tool.py context --schemas my-schemas.yml --goal target-state --focus item1,item2
```
---
## Schema Structure
```yaml
schema:
id: "unique-identifier"
action: "what-the-schema-does"
context:
- precondition-1
- precondition-2
result:
- postcondition-1
reliability: 0.85 # 0.0-1.0
# Optional
extended_context: [...]
extended_results: [...]
evidence_count: 47
marginal_attribution: {...}
```
---
## Principles
1. **Deterministic checks first, LLM second** — Python validates before synthesis
2. **Emit events for traceability** — Know what happened where
3. **Prefer small, explicit context bundles** — Don't dump everything
4. **Schema-schema can evolve** — Via the same learning loop it governs
---
## The Schema-Schema
The `SCHEMA-SCHEMA.yml` defines what valid schemas must look like:
- Required fields and their types
- Reliability range constraints
- Context/result non-empty rules
- Extension field patterns
This is **prescriptive** — schemas that don't match get lint errors.
---
## Integration with LLM
The factory provides **deterministic foundation** for LLM reasoning:
```yaml
# 1. Python validates and composes
schema_factory compose --goal postgres-running
# 2. Output becomes LLM context
"Here are the relevant schemas and a proposed action chain..."
# 3. LLM synthesizes and refines
"Based on these schemas, I recommend..."
# 4. Results feed back into ingest
schema_factory ingest --experience new-observations.yml
```
---
## Dovetails With
- [../schema-mechanism/](../schema-mechanism/) — Theoretical foundation (Drescher)
- [../experiment/](../experiment/) — Schemas drive experiment design
- [../debugging/](../debugging/) — Schema failures are bugs to investigate
- [../planning/](../planning/) — Schema composition is planning
---
*"Validate structure. Compose plans. Generate context. Let the LLM shine where it should."*
在 GitHub 查看