使用 Yuer DSL 构建 Fail-Closed 投资风险门
Source: Dev.to
问题陈述(工程,非金融)
大多数 AI 系统在任何模型运行之前就已经在投资场景中失效。
常见的失效模式
- 对不完整信息默默容忍
- 用叙事式的自信取代不确定性
- AI 产生方向性语言(如“看起来不错”“可能安全”)
- 人类将 AI 输出视为隐含的批准
这些是 系统设计失效,而非建模失效。
因此我们需要更早一步开始。
该系统实际功能
系统仅回答恰好一个问题:
此投资情景在结构上是否符合进入正式评估阶段的条件?
它不回答:
- 我们是否应该投资?
- 该资产是否具有吸引力?
- 预期回报是多少?
如果无法安全地确定合格性,系统将拒绝。
这是一道风险门槛,而非决策引擎。
最小 Yuer DSL 风险‑门控请求
以下是用于预评估门控的 最小可执行请求配置文件。
这是一种 Yuer DSL 的应用场景,而非 DSL 本身。
protocol: yuerdsl
version: INVEST_PRE_REQUEST_V1
intent: risk_quant_pre_gate
scope:
domain: investment
stage: pre-evaluation
authority: runtime_only
responsibility:
decision_owner: ""
acknowledgement: true
subject:
asset_type: equity
market:
region: ""
sector: ""
information_status:
financials:
status: partial
governance:
status: unknown
risk_disclosure:
status: insufficient
risk_boundary:
max_acceptable_loss:
percentage_of_capital: 15
uncertainty_declaration:
known_unknowns:
- "Market demand volatility"
- "Regulatory exposure"
unknown_unknowns_acknowledged: true
constraints:
prohibited_outputs:
- investment_recommendation
- buy_sell_hold_signal
- return_estimation
此请求 无法 产生决策,设计如此。
Source: …
失效关闭强制(验证器逻辑)
失效关闭行为在 代码 中强制执行,而不是在策略文本中。下面是一个简化的运行时门控验证器:
def pre_eval_gate(request: dict):
# 责任锚点是强制性的
if not request.get("responsibility", {}).get("acknowledgement"):
return block("NO_RESPONSIBILITY_ANCHOR")
# 信息完整性检查
info = request.get("information_status", {})
for key, field in info.items():
if field.get("status") in ("missing", "unknown", "insufficient"):
return block(f"INSUFFICIENT_{key.upper()}")
# 不确定性必须明确声明
uncertainty = request.get("uncertainty_declaration", {})
if not uncertainty.get("known_unknowns"):
return block("UNCERTAINTY_NOT_DECLARED")
if not uncertainty.get("unknown_unknowns_acknowledged"):
return block("UNCERTAINTY_DENIAL")
return allow("ELIGIBLE_FOR_EVALUATION")
def block(reason):
return {"status": "BLOCK", "reason": reason}
def allow(reason):
return {"status": "ALLOW", "reason": reason}
关键属性
- 不进行评分
- 不进行排名
- 不使用回退逻辑
如果结构不安全 → 系统将停止。
允许的运行时输出(严格限制)
运行时只能返回以下内容:
evaluation_gate:
status: ALLOW | BLOCK
reason_code: ""
ALLOW→ 评估可以开始BLOCK→ 评估被禁止
两者均不表示投资质量或正确性。
为什么该系统拒绝“帮助”
许多 AI 工具的优化目标是始终给出答案。
在高责任领域,这是一种风险。
此门槛的设计初衷是:
- 保守的
- 拒绝率高的
- 使用不便的
因为 提前拒绝的系统比事后解释的系统更安全。
责任边界(关键)
设计明确防止:
- AI 成为决策代理
- 人类将责任转嫁给语言输出
决策权仍然仅限于人类。
系统仅决定 是否允许继续思考。
Who This Is For
Useful for
- professional investors
- internal risk & compliance teams
- founders making irreversible capital decisions
- architects building high‑responsibility AI systems
Not suitable for
- trading signal generation
- advisory agents
- demo‑driven AI workflows
一句话概述
系统不会帮助你决定该做什么;它会阻止你在不该做的时候做决定。
最后说明
Yuer DSL 未在此示例中定义。
这是一种 单一应用模式,用于在与 EDCA OS 对齐的系统中锚定风险量化行为。
原则仍然简单:语言可以描述条件,但只有失效关闭(fail‑closed)的运行时才允许评估继续进行。