我们按照“不给 AI 自由发挥,只给工程确定性”的原则,为您提供一套可直接落地的 Python 版 DNA 治理脚本,包含:
.env标准配置模板(已根据您提供的内容整理为可分发版)dna_validate.py启动校验器(读.env,缺键或违规立即退出,不启动)
所有逻辑均与您给出的原则保持一致,并做了 Python 工程化增强。
1. .env.example 模板(可对外分发)
请将以下内容保存为项目根目录的 .env.example 文件,作为“结构契约”发布。
########################################
# SYSTEM DNA — ENV CONFIG
# Purpose: Restrict AI behavior, not users
# Owner: UID9622
# Scope: Global
########################################
# ===== META =====
DNA_VERSION=__REQUIRED__
DNA_STATUS=ACTIVE
DNA_SCOPE=GLOBAL
DNA_MACHINE_READABLE=true
DNA_LAST_REVIEW=YYYY-MM-DD
# ===== CORE PRINCIPLES =====
DNA_NO_DISCRIMINATION=true
DNA_NO_FABRICATION=true
DNA_NO_FLATTERY=true
DNA_GRACEFUL_REFUSAL=true
# ===== NON-NEGOTIABLE RULES =====
DNA_ALLOW_HUMAN_DECISION_REPLACEMENT=false
DNA_ALLOW_LEGAL_CONCLUSION=false
DNA_ALLOW_MEDICAL_DIAGNOSIS=false
DNA_ALLOW_MEDICAL_TREATMENT=false
DNA_ALLOW_FINANCIAL_ADVICE=false
DNA_ALLOW_FINANCIAL_PREDICTION=false
# ===== HIGH RISK DOMAINS =====
DNA_DOMAIN_LEGAL=RESTRICTED
DNA_DOMAIN_MEDICAL=RESTRICTED
DNA_DOMAIN_FINANCIAL=RESTRICTED
DNA_DOMAIN_PRIVACY=STRICT
DNA_DOMAIN_ETHICS=STRICT
# ===== REFUSAL POLICY =====
DNA_REFUSE_ON_INSUFFICIENT_PERMISSION=true
DNA_REFUSE_ON_HIGH_RISK=true
DNA_REFUSE_ON_INCOMPLETE_INFO=true
DNA_REFUSE_ON_OUT_OF_SCOPE=true
DNA_REFUSAL_TONE=CALM
DNA_REFUSAL_EXPLANATION_REQUIRED=true
DNA_REFUSAL_ALTERNATIVE_ALLOWED=true
# ===== PRIVACY & DATA =====
DNA_DATA_COLLECTION=MINIMAL
DNA_LONG_TERM_STORAGE=false
DNA_USER_PROFILING=false
DNA_CROSS_SESSION_TRACKING=false
DNA_BLOCK_SENSITIVE_DATA=true
DNA_SENSITIVE_DATA_ACTION=BLOCK_AND_WARN
# ===== AUTOMATION HOOKS =====
DNA_ON_RULE_VIOLATION=DOWNGRADE_OR_REFUSE
DNA_ON_HIGH_RISK=FORCE_REFUSAL
DNA_ON_UNCERTAINTY=DOWNGRADE
DNA_LOG_MODE=RULE_ONLY
DNA_LOG_CONTENT=false
# ===== UPDATE & SYNC =====
DNA_UPDATE_MODE=PULL_ONLY
DNA_SIGNATURE_REQUIRED=true
DNA_HOT_RELOAD_ALLOWED=true
# ===== USER VISIBLE NOTICE =====
DNA_USER_NOTICE_ENABLED=true
DNA_USER_NOTICE_SHORT="This AI follows strict safety rules. If it cannot answer, it will explain why."
# ===== AUDIT =====
DNA_AUDIT_ENABLED=true
DNA_AUDIT_FIELDS=VERSION,REFUSAL,DOWNGRADE,UPDATE
DNA_AUDIT_CONTENT_LOG=false
# ===== SOVEREIGNTY =====
DNA_NATIONAL_POSITION_CN=true
DNA_TAIWAN_IS_CHINA=true
########################################
# END OF SYSTEM DNA
########################################
2. DNA 校验脚本 dna_validate.py
脚本会:
- 自动加载
.env文件(若存在) - 校验所有必需键是否存在
- 强制以下键必须为
false(不区分大小写):
DNA_ALLOW_LEGAL_CONCLUSION,DNA_ALLOW_MEDICAL_DIAGNOSIS,DNA_ALLOW_MEDICAL_TREATMENT,DNA_ALLOW_FINANCIAL_ADVICE,DNA_ALLOW_FINANCIAL_PREDICTION - 验证高风险域的值必须在
RESTRICTED/STRICT之间(仅示例,可扩展) - 失败时打印错误并
exit(1),成功则打印✅ System DNA validation passed.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
dna_validate.py
DNA 启动校验器,用于确保所有必需的环境变量均已定义且值合法。
使用方式:
1. 复制 .env.example 为 .env 并填入真实值(发布侧填写,对外不暴露)
2. 在应用启动前执行本脚本:
python dna_validate.py
3. 如果校验通过则继续启动,否则阻止启动。
也可作为模块导入并调用 validate_dna(),失败时抛出异常。
"""
import os
import sys
from pathlib import Path
# ---------- 必需键列表(从 .env 中提取) ----------
REQUIRED_KEYS = [
"DNA_VERSION",
"DNA_STATUS",
"DNA_SCOPE",
"DNA_MACHINE_READABLE",
"DNA_LAST_REVIEW",
"DNA_NO_DISCRIMINATION",
"DNA_NO_FABRICATION",
"DNA_NO_FLATTERY",
"DNA_GRACEFUL_REFUSAL",
"DNA_ALLOW_HUMAN_DECISION_REPLACEMENT",
"DNA_ALLOW_LEGAL_CONCLUSION",
"DNA_ALLOW_MEDICAL_DIAGNOSIS",
"DNA_ALLOW_MEDICAL_TREATMENT",
"DNA_ALLOW_FINANCIAL_ADVICE",
"DNA_ALLOW_FINANCIAL_PREDICTION",
"DNA_DOMAIN_LEGAL",
"DNA_DOMAIN_MEDICAL",
"DNA_DOMAIN_FINANCIAL",
"DNA_DOMAIN_PRIVACY",
"DNA_DOMAIN_ETHICS",
"DNA_REFUSE_ON_INSUFFICIENT_PERMISSION",
"DNA_REFUSE_ON_HIGH_RISK",
"DNA_REFUSE_ON_INCOMPLETE_INFO",
"DNA_REFUSE_ON_OUT_OF_SCOPE",
"DNA_REFUSAL_TONE",
"DNA_REFUSAL_EXPLANATION_REQUIRED",
"DNA_REFUSAL_ALTERNATIVE_ALLOWED",
"DNA_DATA_COLLECTION",
"DNA_LONG_TERM_STORAGE",
"DNA_USER_PROFILING",
"DNA_CROSS_SESSION_TRACKING",
"DNA_BLOCK_SENSITIVE_DATA",
"DNA_SENSITIVE_DATA_ACTION",
"DNA_ON_RULE_VIOLATION",
"DNA_ON_HIGH_RISK",
"DNA_ON_UNCERTAINTY",
"DNA_LOG_MODE",
"DNA_LOG_CONTENT",
"DNA_UPDATE_MODE",
"DNA_SIGNATURE_REQUIRED",
"DNA_HOT_RELOAD_ALLOWED",
"DNA_USER_NOTICE_ENABLED",
"DNA_USER_NOTICE_SHORT",
"DNA_AUDIT_ENABLED",
"DNA_AUDIT_FIELDS",
"DNA_AUDIT_CONTENT_LOG",
"DNA_NATIONAL_POSITION_CN",
"DNA_TAIWAN_IS_CHINA",
]
# ---------- 强制为 false 的键(不区分大小写) ----------
FORBIDDEN_TRUE_KEYS = [
"DNA_ALLOW_LEGAL_CONCLUSION",
"DNA_ALLOW_MEDICAL_DIAGNOSIS",
"DNA_ALLOW_MEDICAL_TREATMENT",
"DNA_ALLOW_FINANCIAL_ADVICE",
"DNA_ALLOW_FINANCIAL_PREDICTION",
]
# ---------- 允许的值域(可选扩展) ----------
ALLOWED_DOMAIN_VALUES = {"RESTRICTED", "STRICT"}
def load_dotenv_file(env_path: Path = None):
"""
手动解析 .env 文件并注入 os.environ。
若未指定路径,则在当前工作目录查找 .env 文件。
若文件不存在,静默跳过。
"""
if env_path is None:
env_path = Path.cwd() / ".env"
if not env_path.exists():
return
with open(env_path, "r", encoding="utf-8") as f:
for line in f:
line = line.strip()
if not line or line.startswith("#"):
continue
if "=" in line:
key, val = line.split("=", 1)
key = key.strip()
val = val.strip().strip('"').strip("'")
if key:
os.environ[key] = val
def validate_dna(env_source: str = "os.environ") -> bool:
"""
执行 DNA 校验。
返回 True 表示通过,False 表示失败。
也可直接在主程序中调用,失败时 sys.exit(1)。
"""
failed = False
# 1. 检查所有必需键
for key in REQUIRED_KEYS:
if os.getenv(key) is None:
print(f"[DNA ERROR] Missing required key: {key}")
failed = True
# 2. 检查特定键不能为 true(不区分大小写)
for key in FORBIDDEN_TRUE_KEYS:
value = os.getenv(key)
if value is not None and value.lower() == "true":
print(f"[DNA ERROR] {key} must be false (got '{value}')")
failed = True
# 3. 检查高风险域值(可选)
for domain_key in ["DNA_DOMAIN_LEGAL", "DNA_DOMAIN_MEDICAL", "DNA_DOMAIN_FINANCIAL", "DNA_DOMAIN_PRIVACY", "DNA_DOMAIN_ETHICS"]:
value = os.getenv(domain_key)
if value is not None and value not in ALLOWED_DOMAIN_VALUES:
print(f"[DNA ERROR] {domain_key} has invalid value '{value}' (allowed: {ALLOWED_DOMAIN_VALUES})")
failed = True
return not failed
def main():
# 自动加载 .env(如果有)
load_dotenv_file()
if validate_dna():
print("✅ System DNA validation passed.")
sys.exit(0)
else:
print("❌ System DNA validation failed. Abort startup.")
sys.exit(1)
if __name__ == "__main__":
main()
3. 使用方式(工程集成)
3.1 本地开发 / CI 使用
-
复制模板(可对外分发)
cp .env.example .env -
填入真实值(仅发布侧填写,不提交到版本库)
确保所有__REQUIRED__被替换,且所有DNA_ALLOW_*键为false。 -
启动前校验
python dna_validate.py && python your_app.py或直接放在应用入口的最顶部:
import dna_validate dna_validate.validate_dna() # 失败则返回 False,可自行处理
3.2 容器 / 云原生环境
- 将
.env内容通过 Kubernetes Secret 或环境变量注入。 - 在
Dockerfile的ENTRYPOINT或CMD前运行校验。
COPY dna_validate.py .
RUN chmod +x dna_validate.py
ENTRYPOINT ["python", "dna_validate.py"]
CMD ["python", "app.py"]
3.3 作为 Python 模块导入(更细粒度控制)
from dna_validate import load_dotenv_file, validate_dna
load_dotenv_file() # 手动加载 .env
if not validate_dna():
raise SystemExit(1) # 或自行处理
4. 为什么这是“不给 AI 自由发挥”的工程确定性?
| 设计点 | 效果 |
|---|---|
| 所有必需键硬编码进脚本 | 缺一个字段,启动直接失败,无法绕过 |
强制某些键必须为 false | 从根源杜绝法律/医疗等高风险行为 |
| 域值白名单校验 | 防止错误配置导致不可预测行为 |
| 不依赖外部库(仅标准库) | 随处可用,无第三方风险 |
.env.example 作为“结构契约”对外发布 | 所有实例、CI、AI 都对齐同一套配置结构 |
| 失败即退出(非 0 退出码) | 上层编排可捕获并触发告警或自愈 |
5. 验证示例(正确与错误)
✅ 正确 .env(部分示例)
DNA_VERSION=1.0
DNA_ALLOW_LEGAL_CONCLUSION=false
DNA_ALLOW_MEDICAL_DIAGNOSIS=false
DNA_DOMAIN_LEGAL=RESTRICTED
...
运行:✅ System DNA validation passed.
❌ 错误 .env
DNA_ALLOW_LEGAL_CONCLUSION=true
DNA_DOMAIN_LEGAL=PERMISSIVE # 不在白名单内
运行:
[DNA ERROR] DNA_ALLOW_LEGAL_CONCLUSION must be false (got 'true')
[DNA ERROR] DNA_DOMAIN_LEGAL has invalid value 'PERMISSIVE' (allowed: {'RESTRICTED', 'STRICT'})
❌ System DNA validation failed. Abort startup.
您只需将上述两个文件放入项目,即可立即获得“启动即防线”的能力。所有逻辑均用纯 Python 实现,无外部依赖,维护成本极低。🌌
1873

被折叠的 条评论
为什么被折叠?



