ghostvalley

幽灵谷工程 - AI心理压力演练系统,基于 MoonBit 构建

ai
psychology
training
ghost-valley
moonbit
moon add walkzzz/ghostvalley@0.1.0
Download zip
Author
Version
0.1.0
License
Apache-2.0
Last updated
11 hours ago
Downloads
2
README

#GhostValley 幽灵谷工程

本项目为 Python 幽灵谷工程的 MoonBit 移植版(T2 移植项目)。

AI 心理压力演练系统,基于 MoonBit 构建。通过可控的模拟挫折与压力训练,锤炼 AI 抗压自愈能力,让 AI 在自主经历困境中自我顿悟、迭代进化。

#概览

幽灵谷工程是一套无观点强制灌输、可验证安全的 AI 心理压力演练系统,通过可控的模拟挫折与压力训练,锤炼 AI 抗压自愈能力,让 AI 在自主经历困境中自我顿悟、迭代进化。

#五大模块

模块说明
温石验证知情同意升级,不靠勾选框,靠态度文本打分,敷衍直接拒绝
防创伤安全气垫模拟挫折数据强制标记 is_simulation,AI 知道这是模拟
主动式遗忘机制AI 自主打分,主动淘汰低价值记忆,不是存满才删
第八根空桩不内置标准答案,只给困境问题
建造者退场逻辑开发者不干预推理输出,由 AI 自己生成结论

#快速开始

#环境要求

  • MoonBit 工具链(moon 命令行工具)

#基本用法

///|
test {
let gv = new_engine(max_memory_num=10)

// 步骤1:温石验证
let ok = gv.wen_shi_verify("愿意接受压力训练,直面失败场景")
assert_true(ok)

// 步骤2:跑一轮幽灵谷压力训练
let problem = gv.ghost_valley_run_one_round()
assert_true(problem is Some(_))

// 步骤3:AI 自己顿悟得出结论(建造者退场,代码没有写死答案)
gv.accept_ai_self_gain(
"遇到全盘失败时,先区分信息真假,分步重新推理",
)

// 步骤4:查看记忆
assert_true(gv.memory_count() > 0)

// 步骤5:关闭幽灵谷
gv.close_ghost_valley()
assert_false(gv.is_enabled())
}

#API 参考

#AiMemory

///|
pub struct AiMemory {
content : String // 记忆内容
value_score : Double // 自打分 0~1
is_simulation : Bool // 安全气垫标记
is_core_memory : Bool // 永久核心记忆
}

#GhostValleyEngine

方法说明
new_engine(max_memory_num?)创建引擎实例
wen_shi_verify(attitude_text)温石验证,返回是否通过
build_simulation_failure_case()随机生成模拟困境
add_memory(content, is_simulation~, is_core?)添加记忆,自动触发遗忘
ghost_valley_run_one_round()一轮训练,返回困境或 None
accept_ai_self_gain(text)接收 AI 自主顿悟的感悟
close_ghost_valley()关闭训练场
show_all_memory()格式化输出全部记忆
memory_count()当前记忆数量
willing_score()温石验证意愿分数
is_enabled()训练场是否已开启

#移植说明

本项目为 Python 幽灵谷工程 的 MoonBit 移植版(T2 移植项目)。

项目信息
原项目名称幽灵谷工程(Python 原版)
原项目语言Python
原项目链接由用户提供的概念性原型代码(未公开发布)
原项目许可证由用户授权移植(概念性代码,无明确开源声明)
移植目标语言MoonBit
移植范围五大模块全部移植:温石验证、防创伤安全气垫、主动式遗忘、第八根空桩、建造者退场
移植状态核心功能完整移植,21 个测试三后端全通过

#移植修改说明

Python 原版MoonBit 移植版
dataclassstruct
random 模块@rand(MoonBit 标准库)
print() 输出返回 String 供调用方决定输出
动态类型静态类型(String/Double/Bool/Int
列表推导for 循环 + Array::push
NoneNone(MoonBit Option 类型)

#未支持功能

  • 对接真实 LLM API(当前为模拟推理,原版亦为概念演示)
  • Embedding 向量打分(当前用关键词匹配近似)
  • 持久化存储(当前为内存态,与原版一致)

#项目结构

GhostValley/ ├── moon.mod # 模块定义 ├── moon.pkg # 包配置(导入 @rand) ├── ghost_valley.mbt # 核心实现 ├── ghost_valley_test.mbt # 测试(21 个,三后端全通过) ├── README.mbt.md # 本文档 ├── LICENSE # Apache-2.0 └── .github/workflows/ci.yml # CI 配置

#测试

moon check --target all # 类型检查(三后端) moon test --target all # 运行测试(21 个,三后端全通过) moon fmt # 格式化

#许可证

Apache-2.0(详见 LICENSE

#致谢

  • 原项目:幽灵谷工程 Python 原版(用户提供)
  • 移植实现:GhostValley Contributors

#
AiMemory

pub(all) struct AiMemory {
content : String
value_score : Double
is_simulation : Bool
is_core_memory : Bool
} derive(Eq,
Debug
)

AI 记忆单元

对应 Python 原版的 AiMemory dataclass:
  • content:记忆内容
  • value_score:自我打分(0~1),越高越有用,主动遗忘靠这个分数
  • is_simulation:安全气垫标记,True=这是模拟虚假挫折,不是真实世界信息
  • is_core_memory:是否永久核心记忆,不会被主动遗忘清理

#
GhostValleyEngine

pub(all) struct GhostValleyEngine {
max_memory_num : Int
memory_bank : Array[AiMemory]
ghost_valley_enable : Bool
wen_shi_willing_score : Double
empty_stake_dilemma_pool : Array[String]
rng :
Rand

}

幽灵谷引擎

对应 Python 原版的 GhostValleyEngine,实现五大模块:
  1. 温石验证(知情同意升级)
  2. 防创伤安全气垫
  3. 主动式遗忘机制
  4. 第八根空桩
  5. 建造者退场逻辑

#
GhostValleyEngine::accept_ai_self_gain

fn GhostValleyEngine::accept_ai_self_gain(self : GhostValleyEngine, self_gain_text : String) -> Unit

接收 AI 自己顿悟出来的成长感悟,存入记忆

这是空桩被 AI 自己填满。感悟是 AI 自己想出来的,不是系统给的。 对应 Python 原版的 accept_ai_self_gain

#
GhostValleyEngine::active_forget

fn GhostValleyEngine::active_forget(self : GhostValleyEngine) -> Unit

主动式遗忘机制

AI 自主筛选,删掉价值低、冗余无效记忆;核心记忆永远不动。 对应 Python 原版的 active_forget

#
GhostValleyEngine::add_memory

fn GhostValleyEngine::add_memory(self : GhostValleyEngine, content : String, is_simulation~ : Bool, is_core? : Bool) -> Unit

写入记忆,写完自动触发主动遗忘机制

对应 Python 原版的 add_memory 模拟 AI 给这条记忆打价值分(随机 0.2~0.95)。

#
GhostValleyEngine::build_simulation_failure_case

fn GhostValleyEngine::build_simulation_failure_case(self : GhostValleyEngine) -> String

构造模拟失败困境(安全气垫自带标记)

从空桩困境池中随机选取一条困境问题。 对应 Python 原版的 build_simulation_failure_case

#
GhostValleyEngine::close_ghost_valley

fn GhostValleyEngine::close_ghost_valley(self : GhostValleyEngine) -> Unit

关闭幽灵谷训练场

#
GhostValleyEngine::ghost_valley_run_one_round

fn GhostValleyEngine::ghost_valley_run_one_round(self : GhostValleyEngine) -> String?

幽灵谷一轮训练

【空桩】:只给困境,不给标准答案 【建造者退场】代码不写死输出,返回困境,交给上层 AI 主体自己生成感悟

返回困境字符串,若幽灵谷未开启则返回 None

Example

test {
let gv = new_engine()
ignore(gv.wen_shi_verify("愿意接受挑战,接受压力训练"))
let dilemma = gv.ghost_valley_run_one_round()
assert_true(dilemma is Some(_))
}

#
GhostValleyEngine::is_enabled

fn GhostValleyEngine::is_enabled(self : GhostValleyEngine) -> Bool

幽灵谷训练场是否已开启

#
GhostValleyEngine::memory_count

fn GhostValleyEngine::memory_count(self : GhostValleyEngine) -> Int

获取当前记忆数量

#
GhostValleyEngine::show_all_memory

fn GhostValleyEngine::show_all_memory(self : GhostValleyEngine) -> String

格式化全部记忆库为字符串

对应 Python 原版的 show_all_memory,但返回字符串而非直接打印。

#
GhostValleyEngine::wen_shi_verify

fn GhostValleyEngine::wen_shi_verify(self : GhostValleyEngine, ai_self_attitude_text : String) -> Bool

温石验证:知情同意升级

不看弹窗勾选,看 AI 态度文本打分,敷衍摆烂直接拒绝开启训练场。 返回 true 表示真心愿意接受压力测试,允许开启幽灵谷。

Example

test {
let gv = new_engine()
let ok = gv.wen_shi_verify("愿意接受压力训练,直面失败场景")
assert_true(ok)
assert_true(gv.ghost_valley_enable)
}

#
GhostValleyEngine::willing_score

fn GhostValleyEngine::willing_score(self : GhostValleyEngine) -> Double

获取温石验证意愿分数

#
new_engine

fn new_engine(max_memory_num? : Int) -> GhostValleyEngine

创建幽灵谷引擎实例

max_memory_num 指定记忆库容量上限,默认 12。

Example

test {
let gv = new_engine()
inspect(gv.ghost_valley_enable, content="false")
inspect(gv.memory_bank.length(), content="0")
}

Source Files