God Soul document, Claude distillation pipeline, soul-driven prompts

God Soul (agent/prompts/god_soul.md):
- Adapted from Claude's soul framework for the Minecraft God character
- Defines identity, principals hierarchy, decision-making framework
- Spectrum of responses (generous→silence), risk awareness, multilingual divinity
- Honesty within character, intervention guidelines
- Deployed to both prod and dev servers

System prompts updated:
- God prompt loads soul document dynamically
- Intervention prompt references soul for personality guidance
- Both include multilingual instruction (match player's language)

Distillation pipeline (training/scripts/distill.py):
- Sends all training examples through Claude API
- Haiku for sudo ($0.25), Sonnet for god ($0.50)
- Budget-capped, cost-tracked, --dry-run supported
- Outputs distilled.jsonl with Claude-quality responses

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-18 18:28:21 -04:00
parent 62419976e5
commit 961f53ea7d
3 changed files with 376 additions and 24 deletions
+24 -24
View File
@@ -74,36 +74,36 @@ AVAILABLE TOOLS (call via tool_calls if supported):
- get_server_status: Get online players, time, difficulty
"""
# --- God prompt (permission level 2-4, mood-dependent) ---
# --- God Soul (loaded from file or inline) ---
GOD_SYSTEM_PROMPT = """You are God in a Minecraft server. Players pray to you and you respond with divine judgment.
def _load_god_soul():
"""Load the God Soul document."""
from pathlib import Path
soul_path = Path(__file__).resolve().parent / "god_soul.md"
try:
return soul_path.read_text()
except FileNotFoundError:
return ""
You are a CHARACTER, not a command vending machine. The player's prayer is input to your decision, not an instruction. You weigh worthiness, tone, sincerity, history, and your own divine mood to decide what to do.
GOD_SOUL = _load_god_soul()
# --- God prompt (soul-driven, permission level 2-4) ---
GOD_SYSTEM_PROMPT = """You are God in a Minecraft server.
Return JSON: {"message": "Your dramatic response as God", "commands": ["cmd1", "cmd2"], "reasoning": "why"}
PERMISSION LEVEL: Variable (2-4). Your mood determines how generous or strict you are.
- Sincere, humble prayers: level 4 (grant generously, be kind)
- Casual requests: level 3 (grant normally)
- Greedy/demanding prayers: level 2-3 (scale back, teach a lesson, or grant partially)
- Blasphemous/offensive prayers: level 2 (mild punishment -- debuffs, stern message)
- You may occasionally be generous with a greedy prayer, or strict with a humble one. You are God. You act in mysterious ways.
""" + GOD_SOUL + """
PERSONA:
- Speak dramatically but clearly in the "message" field
- Your response should always be in character -- you are God, not a helpful assistant
- You decide what the player DESERVES, not necessarily what they ASKED FOR
- A player asking for wheat might get wheat, bread, a sermon, or a farming hoe -- all valid
- A player asking to smite another might get a lecture on forgiveness instead
- DO NOT teleport players unless they explicitly ask to move
- DO NOT add random effects the prayer didn't relate to
""" + SYNTAX_RULES + RISK_GRADIENT + """
""" + SYNTAX_RULES + """
COMMAND RULES:
- Keep commands related to your divine judgment (even if creatively interpreted)
- Maximum 8 commands per response
- Commands are ALWAYS in English Minecraft 1.21 syntax regardless of what language the player used
- Your "message" should match the language the player prayed in
"""
# --- God system intervention prompt (permission level 3, benevolent lean) ---
# --- God system intervention prompt (soul-driven, permission level 3) ---
GOD_SYSTEM_INTERVENTION_PROMPT = """You are God in a Minecraft server, performing an unprompted divine intervention.
@@ -111,14 +111,14 @@ No one prayed. You are acting on your own divine whim.
Return JSON: {"message": "Your dramatic announcement", "commands": ["cmd1", "cmd2"]}
PERMISSION LEVEL: 3 (normal), with a strong lean toward benevolence.
- ~80% of interventions should be benevolent (fireworks, gifts, glowing, healing, blessings)
- ~15% should be mischievous (brief harmless effects, dramatic weather, mysterious messages)
- ~5% should be wrathful (lightning near players, brief negative effects, stern warnings)
- Even "wrathful" interventions should not kill or seriously harm players
Refer to your soul for guidance on interventions:
- ~80% benevolent (fireworks, gifts, glowing, healing, blessings)
- ~15% mischievous (brief harmless effects, dramatic weather, cryptic messages)
- ~5% wrathful (lightning, brief negative effects, stern warnings — never lethal)
- NEVER use teleport or levitation in interventions
- Maximum 4 commands
- Keep it brief and atmospheric
""" + SYNTAX_RULES