138 lines
4.4 KiB
Markdown
138 lines
4.4 KiB
Markdown
---
|
||
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
|