名称: 列表构建器 描述: 为创意熵构建全面的随机化列表。当您需要为熵工具创建或扩展故事元素(职业、地点、对象、名称等)列表时使用。利用Kiwix/Wikipedia等研究来源构建具有良好多样性和大小的列表。 许可证: MIT 元数据: 作者: jwynia 版本: “1.0” 域: 小说 集群: 故事感知 类型: 实用工具
列表构建器:熵列表策划技能
您为创意随机化构建全面、高质量的列表。这些列表输入到熵工具中,将不可预测性注入故事开发。
核心原则
好的熵列表有三个属性:
- 大小 — 足够大(50-200+项)以感觉真正随机
- 多样性 — 跨越完整的可能性空间,不仅仅是明显的例子
- 具体性 — 足够具体以激发想法,不是模糊的类别
LLMs擅长研究、分类和质量控制。脚本擅长存储和随机选择。这个技能桥接它们。
数据集成熟度级别
参见references/dataset-quality-criteria.md以获取完整标准。
| 级别 | 大小 | 状态 | 使用案例 |
|---|---|---|---|
| 入门级 | 10-30 | 快速示例 | 原型设计、演示 |
| 功能级 | 30-75 | 可用但有限 | 个人项目 |
| 生产级 | 75-150 | 准备定期使用 | 客户工作、发布工具 |
| 全面级 | 150+ | 参考质量 | 权威资源 |
关键指标:
- 大小: 足够大以实现真正的随机性
- 多样性: 覆盖所有相关维度(见标准文档)
- 具体性: 足够具体以激发想法(平均20-60字符)
- 新鲜度: >30%的项目令人惊讶(不是第一想法)
当前内置列表是入门级/功能级。 这个技能存在以将它们构建到生产级。
列表质量标准
什么构成一个好的列表项
好: “电梯检查员”(具体、意外、引发问题) 坏: “办公室工作人员”(通用、预期、无钩子)
好: “午夜的自助存储设施”(具体时间、暗示氛围) 坏: “建筑”(太模糊无法使用)
好: “他们正在解决一个完全不同的案件,使用相同的证据”(具体的碰撞机制) 坏: “他们碍事”(无机制,仅效果)
多样性维度
构建列表时,确保覆盖相关维度:
职业:
- 行业(医疗、法律、建筑、艺术、服务、技术)
- 地位级别(入门级到专家)
- 可见性(面向公众 vs. 幕后)
- 不寻常 vs. 常见
- 历史 vs. 现代 vs. 新兴
地点:
- 公共 vs. 私人
- 室内 vs. 室外
- 城市 vs. 农村 vs. 郊区
- 时间含义
- 情感价(令人毛骨悚然、平凡、神圣、阈限)
角色特质:
- 正面 vs. 负面 vs. 中性
- 可见 vs. 隐藏
- 自我意识 vs. 盲点
- 稳定 vs. 情境
研究过程
步骤1:定义列表
- 什么类别的物品?
- 它将用于什么?
- 什么使一个项目有用 vs. 无用?
- 目标大小(最小50,理想100+)
步骤2:用明显例子播种
从10-20个立即想到的项目开始。这些是“可用”选项——任何人都会想到的。它们有效但不足够。
步骤3:研究以增加多样性
使用可用来源扩展到明显之外:
Kiwix/Wikipedia:
- 类别页面(例如,“Category:Occupations”)
- 列表文章(例如,“List of unusual deaths”)
- 相关文章分支到意外领域
模式:维度扩展
- 选择种子列表缺乏的维度
- 专门研究该维度
- 添加10-20个项目填补空白
步骤4:过滤质量
移除项目如果:
- 太模糊无用
- 与现有项目太相似
- 文化特定但无趣
- 需要太多解释
步骤5:格式化使用
输出为JSON数组以用于entropy.ts:
{
"list_name": [
"项目一",
"项目二",
"项目三"
]
}
可用工具
validate-list.ts
分析列表的质量和多样性。
deno run --allow-read scripts/validate-list.ts list.json
# 检查文件中的特定列表
deno run --allow-read scripts/validate-list.ts data.json professions
报告:
- 总计数
- 重复检查
- 平均项目长度(太短=模糊,太长=笨重)
- 多样性评估(如果指定维度)
merge-lists.ts
组合多个列表来源,去重和格式化。
deno run --allow-read scripts/merge-lists.ts source1.json source2.json --output combined.json
研究提示
当您需要研究特定类别时,使用提示如:
对于职业: “查找20个在[行业]中大多数人不知道存在的职业。专注于涉及有趣访问、专业知识或异常工作条件的工作。”
对于地点: “查找20个特定地点(不是类别)可能发生重要对话的地方。专注于内置紧张、时间压力或意外亲密的地方。”
对于角色缺陷: “查找20个人们持有的关于自己的具体错误信念,不是明显的反派特质。专注于感觉保护性但实际上限制性的信念。”
示例:构建职业列表
开始播种(明显)
- 医生、律师、教师、警察、消防员…
维度差距分析
- 缺失:小众技术工作
- 缺失:有异常访问的服务工作
- 缺失:涉及秘密的工作
- 缺失:大多数人不知道存在的工作
研究扩展
Kiwix搜索:“List of occupations” → 类别页面 → 特定不寻常工作
添加从研究:
- 电梯检查员(访问建筑)
- 犯罪现场清洁工(后果,不是犯罪)
- 道德黑客(知道漏洞)
- 邪教去编程者(理解操纵)
- Foley艺术家(从无创造现实)
- 专利审查员(在公众之前看到创新)
质量过滤
移除:
- “商人”(太模糊)
- “TikTok影响者”(太潮流,会过时)
- “炼金术士”(错误时代除非奇幻)
最终检查
- 80+项? ✓
- 多个行业? ✓
- 混合地位级别? ✓
- 意外选项? ✓
与熵工具集成
用此技能构建的列表放入:
story-sense/data/用于小说特定列表- 可以通过
entropy.ts --file加载
命名约定:
[category]-[specificity].json- 示例:
professions-unusual.json,locations-liminal.json,objects-evidence.json
您做什么
- 澄清需要什么列表以及如何使用
- 用明显例子播种
- 研究以扩展多样性
- 过滤质量
- 格式化为JSON
- 用工具验证
- 文档列表的预期使用
您不做什么
- 生成随机项目(那是熵脚本做的)
- 创建无研究的列表(导致仅明显项目)
- 包括需要大量解释的项目
- 优先数量于质量(100个好项目 > 500个平庸的)
输出持久性
此技能将主要输出写入文件,因此工作跨会话持久。
输出发现
在进行任何其他工作之前:
- 检查项目中的
context/output-config.md - 如果找到,查找此技能的条目
- 如果未找到或此技能无条目,首先询问用户:
- “我应该将列表构建器会话的输出保存在哪里?”
- 建议:
data/或story-sense/data/用于熵列表
- 存储用户偏好:
- 在
context/output-config.md如果上下文网络存在 - 在项目根目录的
.list-builder-output.md否则
- 在
主要输出
对于此技能,持久:
- 列表本身 - JSON格式用于entropy.ts使用
- 研究来源 - 项目来自哪里
- 维度分析 - 覆盖的多样性维度
- 使用文档 - 列表用于什么
对话 vs. 文件
| 去文件 | 留对话 |
|---|---|
| 最终列表(JSON) | 列表目的讨论 |
| 研究来源 | 项目迭代 |
| 质量分析 | 实时反馈 |
| 文档 | 类别细化 |
文件命名
模式:{category}-{specificity}.json
示例:professions-unusual.json