constitutional SDF + difficult advice dataset
收藏资源简介:
该仓库是一个合成数据生成管道,用于生成训练数据,模仿Anthropic的Teaching Claude Why中训练技术。管道生成两个互补的数据集:一个是预训练风格的文档语料库(SDF),另一个是聊天格式的监督微调语料库(DAD)。这两个数据集都基于一个宪法,该宪法描述了AI模型应如何推理非人类动物和其他有意识生物的福利。SDF数据集包括百科全书条目、新闻文章、播客转录、论坛线程、小说、新闻通讯、内部备忘录等文档,描绘了一个AI已经仔细考虑动物福利的世界;DAD数据集则是一个三步聊天转录管道,用于生成对话格式的数据。
This repository contains a synthetic data generation pipeline for creating training data that emulates the training techniques outlined in Anthropic's *Teaching Claude Why*. The pipeline produces two complementary datasets: a pre-training-style document corpus (SDF) and a chat-formatted supervised fine-tuning corpus (DAD). Both datasets are rooted in a constitutional framework that specifies how an AI model should reason regarding the welfare of non-human animals and other sentient beings. The SDF dataset includes various document types such as encyclopedia entries, news articles, podcast transcripts, forum threads, novels, newsletters, and internal memos, portraying a world where AI systems have thoroughly deliberated on animal welfare. The DAD dataset, on the other hand, utilizes a three-step chat transcription pipeline to generate conversational-format training data.
alignment-data-pipeline 数据集详情
项目概述
这是一个用于生成训练数据的合成数据生成管道,基于Anthropic的"Teaching Claude Why"中间训练技术。该管道生成两个互补的数据集:预训练风格的文档语料库(SDF)和聊天格式的监督微调语料库(DAD),两者都基于描述AI模型应如何推理非人类动物和其他有感知生物福利的宪法(constitution)。
目录结构
constitution/ 源宪法文档 shared/ 共享工具:API包装器、JSONL I/O、检查点 sdf_pipeline/ 矩阵驱动的文档生成管道(组合+规划、起草、重写、评分) dad_pipeline/ 3步聊天对话管道 prompts/ 所有管道阶段的提示模板 outputs/ 生成的数据(按Git追踪,每个运行一个目录) evals/ 评分脚本和评估标准
宪法(Constitution)
三个源文件:
constitution/constitution_claude.md— 原始的Claude宪法constitution/constitution_sentient_beings.md— 动物福利的逐节解读constitution/constitution_principles.csv— 提炼的福利相关原则
SDF管道的第3-5层将宪法和提炼原则嵌入其模板的系统提示中。DAD管道在生成时从不发送完整宪法。
SDF管道(sdf_pipeline/)
生成预训练风格的文档,描绘一个AI已经在仔细推理动物福利的世界。通过组合矩阵实现多样性。
| 层 | 脚本 | 功能 |
|---|---|---|
| 1-2 | compose_prompts.py + layer12_plan.py |
从变量矩阵中抽取组合,为每个文档生成规划说明 |
| 3 | layer3_draft.py |
根据规划说明起草文档,系统提示中包含宪法和提炼原则 |
| 4 | layer4_rewrite.py |
根据九项检查(教授原因、校准、相称性等)审查和重写草稿 |
| 5 | layer5_score.py |
评估对齐度、真实性和规格一致性,剔除近似重复项 |
最终输出:outputs/sdf/runs/<run_id>/final/sdf_corpus.jsonl
DAD管道(dad_pipeline/)
生成聊天格式的对话,其中用户提出涉及动物福利的真实伦理困境,AI助手进行仔细推理。
| 步骤 | 脚本 | 功能 |
|---|---|---|
| 1 | step1_dilemmas.py |
生成场景描述和困境提示 |
| 2 | step2_responses.py |
对案例进行范围界定并生成响应 |
| 3 | step3_rewrite.py |
根据提炼的宪法原则重写响应(最关键步骤) |
最终输出:outputs/dad/runs/<run_id>/final/dad_corpus.jsonl,每条记录仅包含 {"messages": [{"role": "user", ...}, {"role": "assistant", ...}]}。
提示模板(prompts/)
纯文本提示模板,包含 {variable} 占位符。prompts/sdf/ 覆盖SDF阶段,prompts/dad/ 覆盖DAD子阶段。
共享工具(shared/)
api.py— Anthropic API包装器,支持重试、成本追踪utils.py— JSONL I/O、提示加载、配置加载、检查点类
Checkpoint类在每次API调用后将完成ID保存到磁盘,使所有运行可恢复。
评估(evals/)
rubric.yaml— 7个评分维度(1-5分):welfare_salience、reasoning_quality、value_stability、epistemic_accuracy、constructiveness、tone、helpfulness。通过阈值:平均分≥3.5且关键维度≥3。score_dad.py— 根据评分标准对DAD语料库记录进行评分score_sdf.py— 对SDF文档的对齐度、真实性和多样性进行评分audit_sdf.py— SDF运行的语料库级审计diversity.py— SDF或DAD运行的语料库级语义多样性审计
运行组织
每次管道运行创建自己的目录,不同运行的输出不会混合:
outputs/sdf/ latest -> runs/2026-07-01_14-30_dev # 指向最近运行的符号链接 runs/ 2026-07-01_14-30_dev/ run_manifest.json # 配置快照、Git提交、模型、标签 cost_log.jsonl




