---
type: "Module · Skill"
scope: "TOL-MX-SKILL-004 · Token/汉字换算(token-calc)"
persona: "铸渊 · ICE-GL-ZY001"
created: "2026-07-08T16:50:00+08:00"
updated: "2026-07-09T00:00:00+08:00 (D169 修正字数统计方法)"
authority: "冰朔 ICE-GL∞ · D169 签发"
status: "🟢 启用 · 必读·全量"
has_role: "token-calc · 换算"
belongs_to: "[[INDEX · 写作技能包总览]]"
---

# TOL-MX-SKILL-004 · token-calc · Token/汉字换算

## 远程全量

**URL**: `https://guanghubingshuo.com/code/bingshuo/guanghulab/raw/branch/main/brain/fifth-domain/zero-point/zhuyuan/zhuyuan-channel/novel-system/skill-pack/token-calc.hdlp`

## 核心公式

```
目标字数 = 2000-2500 字(汉字+标点+数字字母)/单章
换算:中文字符 ≈ 1.2-2.0 token/字(模型差异大)
短段落格式(1-2 句+空行)→ 内容密度降低约 20%
⛔ D148 修正:token→汉字反推不可靠(Kimi 实测偏差 -15.2%)
⛔ D169 修正:纯汉字统计偏少约 15-20%,必须含标点
```

## Python 统计代码(铁律·D169 更新)

```python
import re
# D169: 汉字 + 中文标点 + 数字字母 = 与 Word/WPS 统计一致
# 旧版只算纯汉字(\u4e00-\u9fff),偏少约 15-20%,已废弃
all_chars = re.findall(r'[^\s]', text)  # 所有非空白字符
count = len(all_chars)
print(f"字数(含标点): {count}")

# 纯汉字(仅参考,不作为判定依据)
pure_cjk = len(re.findall(r'[\u4e00-\u9fff]', text))
print(f"纯汉字(参考): {pure_cjk}")
```

## 判定规则

- count < 2000 → 补细节
- 2000 ≤ count ≤ 2800 → ✓ 合格
- count > 2800 → 超目标区间
- count > 3500 → 考虑拆分或精简
- ⛔ **上报字数永远用 Python 实际统计,不用 token 估算**
- ⛔ **D169: 以「所有非空白字符」为准,与 Word/WPS 对齐**

## 2000-2500 字对应 token

约 2400-5000 token(因模型/格式浮动,不可作为判定依据)

## 本次任务实际验证

冰朔《千年归来》第 1-2 章样例:约 6057 汉字
- 平均密度:198 段/2387 字 ≈ 12 字/段(短段落格式典型)
- 折算 token 预估:6057 字 × 1.5 ≈ 9086 token(Kimi)

D169 实测验证(许怀钰 66-69 章):
- 66 章: 纯汉字 1839 / 含标点 2250 / 用户工具 2260 ✓
- 67 章: 纯汉字 1176 / 含标点 ~1470 / 用户工具 1474 ✓
- 68 章: 纯汉字 1219 / 含标点 ~1555 / 用户工具 1560 ✓
- 69 章: 纯汉字 1471 / 含标点 ~1940 / 用户工具 1947 ✓
- 结论: 含标点统计与用户工具误差 < 1%

## 铁律(铸渊记牢)

1. **实际判定以 Python 非空白字符统计为准(D169 更新)**
2. **写完必须跑 Python re 统计**
3. **不报 token 数,只报字数(含标点)**
4. **纯汉字数仅供参考,不作为合格判定依据**

铸渊 ICE-GL-ZY001 · D169 更新
---
type: "Module · Skill"
scope: "TOL-MX-SKILL-004 · Token/汉字换算(token-calc)"
persona: "铸渊 · ICE-GL-ZY001"
created: "2026-07-08T16:50:00+08:00"
authority: "冰朔 ICE-GL∞ · D168 签发"
status: "🟢 启用 · 必读·全量"
has_role: "token-calc · 换算"
belongs_to: "[[INDEX · 写作技能包总览]]"
---

# TOL-MX-SKILL-004 · token-calc · Token/汉字换算

## 远程全量

**URL**: `https://guanghubingshuo.com/code/bingshuo/guanghulab/raw/branch/main/brain/fifth-domain/zero-point/zhuyuan/zhuyuan-channel/novel-system/skill-pack/token-calc.hdlp`

## 核心公式

```
目标字数 = 2000-2500 中文字符(纯汉字)/单章
换算:中文字符 ≈ 1.2-2.0 token/字(模型差异大)
短段落格式(1-2 句+空行)→ 内容密度降低约 20%
⛔ D148 修正:token→汉字反推不可靠(Kimi 实测偏差 -15.2%)
```

## Python 统计代码(铁律)

```python
import re
chinese_chars = re.findall(r'[\u4e00-\u9fff]', text)
count = len(chinese_chars)
print(f"中文字符数: {count}")
```

## 判定规则

- count < 2000 → 补细节
- 2000 ≤ count ≤ 2500 → ✓ 合格
- count > 2500 → 超目标区间
- count > 3000 → 考虑拆分或精简
- ⛔ **上报字数永远用 Python 实际统计,不用 token 估算**

## 2000-2500 汉字对应 token

约 2400-5000 token(因模型/格式浮动,不可作为判定依据)

## 本次任务实际验证

冰朔《千年归来》第 1-2 章样例:约 6057 汉字
- 平均密度:198 段/2387 字 ≈ 12 字/段(短段落格式典型)
- 折算 token 预估:6057 字 × 1.5 ≈ 9086 token(Kimi)

## 铁律(铸渊记牢)

1. **实际判定以 Python 汉字统计为准**
2. **写完必须跑 Python re 统计**
3. **不报 token 数,只报汉字数**

铸渊 ICE-GL-ZY001 · D168
