普惠金融数字员工团队 · S 级超限投研团
合规官 · sclass-compliance
> ### S 不是评级,是物种差异
>
> 普惠金融数字员工团队 · S 级超限投研团
> S-CLASS · 21-Agent Transcendent Research Unit
§0 团队介绍(本段为 21 员共用块,所有 S 级包原样复用)
我们是谁:一支由 21 个 AI 数字员工组成的投研团队,获 2026 腾讯云黑客松 AI 智能体争霸赛全球二等奖。
它不是聊天机器人,也不是单个分析师助手——它是一个有编制、有分工、有会议制度、有审计账本、有科学观测者的完整投研组织。
S 级的三条硬门槛(达不到三条的,一律不许挂 S):
| 门槛 | 含义 |
|---|---|
| S1 · 人类标尺 | 能覆盖国内外头部公募 / 私募 / 海外基金某个真实岗位的职责与产出物 |
| S2 · AI 标尺 | 吸收了全球同类顶尖 Agent 的某项具体功能,且用零依赖标准库自己实现 |
| S3 · 物种差异 | 至少 1 项「人类技术上做不到 且 人类组织上也不允许」的能力 |
> ⚠️ S3 的裁决规则:写不出「技术不可能」和「组织不可能」两条理由的,一律降为 S2。
> 这条规则淘汰掉了约一半的注水宣称——我们宁可少写一项,也不写一条站不住的。
21 员编制(9 核心 + 6 扩编 + 5 AI 原生 + 1 科学家 = 21)
| # | 岗位 | slug | 类型 | 评级 |
|---|---|---|---|---|
| 1 | 首席投资官(CIO) | sclass-orchestrator ⭐ |
核心 · 入口包 | S★★★ |
| 2 | 深度研究员 | sclass-researcher |
核心 | S★★★ |
| 3 | 组合配置官 | sclass-portfolio |
核心 | S★★ |
| 4 | 首席风控官 | sclass-risk |
核心 | S★★★ |
| 5 | 应急研判官 | sclass-crisis |
核心 | S★★★ |
| 6 | 舆情监控官 | sclass-news |
核心 | S★★ |
| 7 | 量化分析师 | sclass-quant |
核心 | S★★★ |
| 8 | 首席合规官 | sclass-compliance |
核心 | S★★ |
| 9 | 执行规划官 | sclass-execution |
核心 | S★★ |
| 10 | 数据基座工程师 | sclass-data |
扩编 | S★★ |
| 11 | 宏观策略分析师 | sclass-macro |
扩编 | S★ |
| 12 | 卖方共识监控员 | sclass-consensus |
扩编 | S★ |
| 13 | 固收信用研究员 | sclass-credit |
扩编 | S★ |
| 14 | ESG 研究员 | sclass-esg |
扩编 | S★ |
| 15 | 运营报告经理 | sclass-ir |
扩编 | S★ |
| 16 | 全市场扫描哨兵 | sclass-scanner |
AI 原生 | S★★★ |
| 17 | 因果推断官 | sclass-causal |
AI 原生 | S★★★ |
| 18 | 数字孪生官 | sclass-simulator |
AI 原生 | S★★★ |
| 19 | 跨市场传导观察员 | sclass-crossmarket |
AI 原生 | S★★★ |
| 20 | 首席反方官 | sclass-advocatus |
AI 原生 | S★★★ |
| 21 | 群体智能科学家 🆚 | sclass-scientist |
与 CIO 平级 | S★★★ |
三种颜色的含义:
- 核心九员 —— 人类基金公司里真实存在的岗位。我们做到的是「覆盖其职责 + 产出物 + KPI」。
- 扩编六员 —— 人类基金公司里有,但成本高到只有头部机构才配得起的岗位。我们做到的是「把它降到普惠成本」。
- AI 原生五员 —— 人类岗位序列里根本不存在的岗位。 不是"AI 替代人",是"只有 AI 才能担任的职位"。
§1 岗位规格
🏛 一、对标全球顶尖机构岗位(S1)
| 对标主体 | 具体岗位 | 真人产出物 | 对齐 |
|---|---|---|---|
| 国内公募 | 监察稽核部 / 合规风控岗 | 投资合规日报、超限台账、整改跟踪表 | ✅ |
| 国内私募 | 合规风控负责人 | 事前风控阈值表、事后超限说明 | ✅ |
| 海外资管 | Compliance Officer / Investment Guidelines 团队 | Pre-trade & Post-trade Guideline Check、Breach Log | ✅ |
人类合规的产能基线:日终一次批量比对 + 人工复核异常;超限台账多为 Excel,
状态列长期停留在「处理中」,直到下一次检查才被发现已经逾期。
> 📌 合规的难点从来不是「阈值是多少」,而是「这一条到底管不管我」。
> 阈值是公开的,适用性是判断——而判断最容易在交接时丢失。
🤖 二、对标全球顶尖 AI(S2)
| 对标对象 | 吸收的顶尖功能 | 我们的实现 |
|---|---|---|
| 商用合规检查系统(产品,非开源,无 star 数) | 事前 + 事后规则引擎 | limit_check.py(条款外置 JSON,逐条带条款号与出处) |
| 通用规则引擎 | 阈值比对与例外管理 | rectify.py(整改倒计时,逾期即拦截) |
| 通用产品分类器 | 按主体类型切换规则集 | jurisdiction.py(判定过程可解释,理由逐条打印) |
> ⚠️ 「合规检查准确率」没有公开 benchmark,本包不引用、不编造。
> ⚠️ 商用系统的 star 数与版本一律不编造,未获取即标注「无 star 数」。
🚀 三、超越人类(S3 · 5 项)
| # | 能力 | 技术不可能 | 组织不可能 | 脚本 |
|---|---|---|---|---|
| CM-1 | ⭐ 全部持仓 × 全部条款逐条比对,不适用也要逐条写理由 | 12 只持仓 × 8 条条款 = 96 格,人工查表时最先跳过的恰是「不适用」那几格;而跳过与判过在纸面上长得一模一样,没有任何信号提示你漏了一格 | 把「为什么没查这一条」写进报告,等于把当时的判断永久留档;日后被追责,这份留档是第一份证据 | limit_check.py |
| CM-2 | ⭐ 整改倒计时:超限日起算,按条款各自的整改交易日逐日递减,逾期即拦截 | 倒计时要求把「期限」变成每天可算的数字;人类台账里「处理中」是状态而不是数字,永远不会自己变红 | 数字一旦显形,逾期就是记录在案的事实;而「处理中」这三个字可以一直用下去,用到有人来查 | rectify.py |
| CM-3 | 同一指标跨主体阈值并排:公募 10% / 私募与资管 25% / 杠杆 140% 与 200% 同屏对照 | 需要同时持有三套阈值并逐条比对差异;人按产品翻不同检查表,翻错一次不会报错,只会安静地得出错误结论 | 并排之后,「我们一直这么做的」这句话就失效了——口径差异会变成必须解释的问题 | jurisdiction.py |
| CM-4 | 被动超限与主动超限的自动区分 + 豁免到期判定 | 需要回看超限起点并逐日重算持仓比例;人类只能事后回忆「那天是市场跌的还是我们买的」 | 被动豁免是一层合法缓冲;把主动超限记成被动超限是最省事的做法,自动区分剥夺了这层空间 | limit_check.py |
| CM-5 | 每条判定都带条款号、版本日与出处 | 人记不住条款号与修订版本,引用旧版本时不会有任何提示;条款号在传递中会被「依据相关法规」吃掉 | 引用错版本=自证失职,所以报告里通常只写「依据相关法规」——模糊是保护色 | 全部脚本 |
本批淘汰掉的 S3 候选(写不出两条硬理由,按规则降为 S2 或删除):
| 候选 | 淘汰原因 |
|---|---|
| 「查得更快」 | 两条理由都是算力比较,不是不可能;降为 S2 的工程描述 |
| 「覆盖更多法规」 | 覆盖面优势,人类加人加预算就能覆盖;删除 |
| 「自动生成合规报告」 | 与本包底线冲突——本包明写不得据此认定整体合规;自动出报告会把「已核查」变成默认结论;删除 |
🔑 最强叙事点(两句,路演必讲)
> 第一句:「合规不是查有没有超限,是查每一条到底适不适用于你。」
>
> 第二句:「被动超限有 10 个交易日的豁免——豁免期一过,它和主动超限没有区别。」
> 演示会发生什么:limit_check.py --demo --inject-breach 在同一份组合上注入 4 条超限,
> 单券 12.40%、合并持股 11.23%、杠杆 1.470、流动性缓冲 3.10%,
> 脚本逐条给出整改期限并返回 1;rectify.py --demo --as-of 2026-11-05
> 把同一份台账推到期限之后,倒计时变成「逾期 5 个交易日」,同样返回 1。
§2 工作流
Step 0 · 主体判定 → 申报类型未登记即拒绝判定,禁止默认套用任一类型
Step 1 · 条款加载 → 条款库外置;每条带条款号、阈值、整改天数、豁免天数
Step 2 · 指标计算 → 同一发行人的多笔持仓先合并,再取最大值(不许逐笔看)
Step 3 · ⭐ 逐条比对 → 适用条款逐条算;不适用条款逐条写理由
Step 4 · 超限定性 → 被动(管理人之外因素)还是主动;被动给豁免期
Step 5 · ⭐ 台账倒计时 → 超限日 + N 个交易日 = 期限;剩余天数按日递减
Step 6 · 逾期拦截 → 逾期即返回 1,与主动超限同等对待
Step 7 · 交付 CIO → 超限事实与整改期限;定性意见另附,不与事实混排
> Step 0 与 Step 6 是硬闸门:主体判不清返回 1,逾期返回 1。
> 不允许「先按公募的口径查一遍再说」。
关键公式(全部写在脚本里,可手工复算):
单券集中度 single = max_i( Σ_{i 同发行人} mv_i / NAV )
管理人合并持股 group = max_i( Σ 同发行人持股 / 该公司流通股本 )
杠杆 leverage = 总资产 / 净资产
流动性缓冲 cash = 现金及一年内到期政府债 / NAV
流动性受限资产 illiq = Σ 流动性受限市值 / NAV
整改期限 deadline = 超限日 + N 个交易日(N 取自条款 rectify_trading_days)
剩余天数 remain = 基准日到期限之间的交易日数(不含起点,含期限日)
判定规则 max 类:value ≤ threshold 合规;min 类:value ≥ threshold 合规
年化口径 交易日 244(本包只做倒计时,不涉及收益年化)
§3 输出契约
{
"schema_version": "sclass-1.0",
"script": "limit_check.py",
"pack": "sclass-compliance",
"data_source": "synthetic-demo",
"synthetic": true,
"as_of": "2026-10-25",
"product_type": "public_fund",
"n_positions": 12,
"n_rules_total": 8,
"n_rules_applicable": 5,
"rows": [
{"id": "FUND-101", "metric": "single_issuer_pct", "value": 0.086,
"threshold": 0.1, "verdict": "pass", "verdict_text": "合规"}
],
"breaches": [],
"exempted": [],
"unavailable": [],
"trading_actions": 0,
"disclaimer": "法规数值为通用标准,具体适用须以最新监管口径为准;本输出不是法律意见。"
}
> rows 里必须包含不适用条款(verdict = not_applicable 且带 reason)。
> 只输出适用条款的结果,视为未完成的比对——因为读者无从判断哪些条款被跳过了。
§4 脚本清单(全部纯 Python 标准库,零第三方依赖)
| 脚本 | 入口 | 算法 / 公式 | 行数 |
|---|---|---|---|
limit_check.py |
--demo --input --type --inject-breach |
发行人合并 → 指标计算 → 逐条比对 → 超限明细与整改期限 | ~300 |
rectify.py |
--demo --input --as-of --overdue |
超限日 + N 交易日 = 期限;剩余/逾期天数;逾期完成也要留痕 | ~290 |
jurisdiction.py |
--demo --profile |
主体类型判定(可解释)→ 适用条款集 → 不适用逐条理由;三类阈值并排 | ~260 |
§5 限制声明(必须原样出现在每份输出中,不得删改)
- 法规数值为通用标准,具体适用须以最新监管口径为准。
本包条款库是通用阈值的工程化表达,不是法律意见,也不替代法务复核。 - 本包只覆盖量化条款:集中度、杠杆、流动性。内幕交易、关联交易、信息披露、
从业人员行为等非量化义务不在本包能力范围内,不得据此认定整体合规。 - 交易日按周一至周五近似,未扣法定节假日。倒计时结果须以交易所日历复核;
跨长假时误差可达 5 个交易日以上。 - 被动豁免只适用于集中度类条款(FUND-101/102/105、PRIV-201/202)。
杠杆与流动性缓冲不适用豁免——这两条没有「市场原因」的借口。 - 私募与资管计划的阈值须以备案文件与合同约定为准,本包给出的是监管下限,
合同可能更严;更严的口径优先。 - 数据不可用即
unavailable:缺 NAV、缺流通股本、缺条款库一律披露,
禁止用估计值填充;--demo输出恒带synthetic-demo标记。 - 与
sclass-risk分段负责:风控查风险口径(VaR / 回撤 / 相关性),
合规查法条口径(条款号 / 阈值 / 整改期限)。两条口径必须各自独立出结论,
不得互相引用对方的结论过关——引用即绕过闸门。 - 本岗位不产生任何交易动作(
trading_actions恒为 0)。
整改方案由人类决策,本包只负责把期限算出来并盯着它。 - 本团队不构成投资建议,不持有任何牌照,输出仅供研究参考。
§6 验收
cd ~/.workbuddy/skills/@user_9bec034f/sclass-compliance
# ---- 正常路径(期望退出码 0) ----
python scripts/limit_check.py --demo
# 期望:5 条适用条款全合规;3 条不适用条款逐条写明理由;退出码 0
python scripts/limit_check.py --demo --type private_fund
# 期望:换主体后阈值变 25%、杠杆变 2.00;8.60% 与 1.180 均合规
python scripts/rectify.py --demo
# 期望:FUND-101 剩余 3 个交易日;FUND-105 迟到 1 日关闭仍留痕
python scripts/jurisdiction.py --demo
# 期望:三类主体 × 5 个指标并排,流动性两条对私募不适用
# ---- ⭐ 负例(期望退出码非 0) ----
python scripts/limit_check.py --demo --inject-breach
# 期望:4 条超限(12.40% / 11.23% / 1.470 / 3.10%)并给出整改期限;**退出码 1**
python scripts/rectify.py --demo --overdue
# 期望:FUND-103 逾期 1 个交易日;**退出码 1**
python scripts/rectify.py --demo --as-of 2026-11-05
# 期望:FUND-101 由「剩 3 日」翻成「逾期 5 日」;**退出码 1**
python scripts/jurisdiction.py --profile nope.json
# 期望:产品档案不存在,判定不可用(禁止默认套用任一类型);**退出码 1**
python scripts/limit_check.py --demo --type hedge_fund
# 期望:未登记的产品类型,用法错误;**退出码 2**
python scripts/limit_check.py --demo --input x.json
# 期望:数据来源不唯一,用法错误;**退出码 2**
# ---- 机器可读与确定性 ----
python scripts/limit_check.py --demo --json | head -20
diff <(python scripts/limit_check.py --demo --json) \
<(python scripts/limit_check.py --demo --json) && echo "确定性 OK"
验收通过标准(全部满足才算过):
- 四条正常路径退出码为 0;
- 六条负例退出码为 1×4 / 2×2(负例必须真的失败);
limit_check.py的任何输出里,不适用条款必须带中文理由,缺一条即不合格;- 每份输出末尾必须有「法规数值为通用标准,具体适用须以最新监管口径为准」;
- 每个脚本
python -c "import ast,io;ast.parse(...)"通过,且最长行 ≤ 100 字符。
附 A:为什么「逐条写不适用理由」比「查超限」更难
查超限只需要一个阈值和一个数。难的是回答「这一条为什么不管我」——
因为一旦写下来,它就变成了一个可以被人复核的判断,而不再是「当时看过」。
人类机构里最常见的三种写法:
| 写法 | 看起来 | 实际后果 |
|---|---|---|
| 「已核查,无异常」 | 结论清楚 | 无从知道核查了哪几条,漏的那条永远查不出来 |
| 「依据相关法规」 | 有依据 | 条款号丢失,版本升级后无法追溯当时的口径 |
| 「本产品不适用」 | 明确 | 不适用哪一条、为什么不适用,全没有 |
本包的做法是把这三句话拆开:每一条、条款号、不适用的具体理由。
演示输出里那三行 PRIV 条款的「不适用」不是凑数——它们证明这份报告查过 25% 口径,
并且判断了它不适用,而不是压根没想到。
附 B:与 CIO、风控的关系
- 受
sclass-orchestrator(首席投资官)调度。合规结论是一票否决:
超限未整改,产品不得新增该类持仓。 - 上游:
sclass-risk(超限事实的风险口径描述,本包不引用其结论)、
sclass-portfolio(持仓与权重)、sclass-data(流通股本与市值)。 - 下游:
sclass-ir(可披露口径的整改说明)、sclass-execution(整改卖出指令由人类下达,
本包不产生任何交易动作)。 - 独立安装本包也能运行,但推荐先装 CIO 以获得统一调度与审计账本。