ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s

This commit is contained in:
2026-08-20 13:12:50 +00:00
commit b119135836
10275 changed files with 3284984 additions and 0 deletions
+139
View File
@@ -0,0 +1,139 @@
"""
术语一致性检查工具。
思路:对每个受关注的英文术语,预先列出它在中文里“几种常见但不同”的译法。
扫描全书各章译文,统计每个术语实际出现了几种不同译法:
- 只出现 1 种 → 全书一致;
- 出现 >= 2 种 → 术语漂移(不一致)。
这不是给模型评分,而是用确定性的字符串匹配,客观度量“同一术语是否全书统一”。
"""
# 每个术语:canonical 为推荐/术语表规定译法;variants 为若干“互不相同”的常见译法。
# 注意:variants 之间尽量不互为子串,避免重复计数(如“嵌入向量”归入“嵌入”一族)。
TRACKED_TERMS = [
{"en": "token", "canonical": "词元", "variants": ["词元", "令牌", "标记", "token"]},
{"en": "embedding", "canonical": "嵌入", "variants": ["嵌入", "词向量", "向量表示"]},
{"en": "prompt", "canonical": "提示词", "variants": ["提示词", "提示语", "提示"]},
{"en": "inference", "canonical": "推理", "variants": ["推理", "推断"]},
{"en": "latency", "canonical": "时延", "variants": ["延迟", "时延", "延时"]},
{"en": "attention", "canonical": "注意力", "variants": ["注意力", "关注度"]},
{"en": "transformer", "canonical": "Transformer", "variants": ["Transformer", "变换器", "转换器"]},
{"en": "throughput", "canonical": "吞吐量", "variants": ["吞吐量", "吞吐率", "通量"]},
{"en": "fine-tuning", "canonical": "微调", "variants": ["微调", "精调"]},
]
import re
def _strip_code(text):
"""去掉围栏代码块与行内代码:代码按翻译指南原样保留英文,不应计入术语一致性统计。"""
text = re.sub(r"```.*?```", " ", text, flags=re.DOTALL)
text = re.sub(r"`[^`]*`", " ", text)
return text
# 编辑部“指定术语”(house style):为几个术语规定一个明确的、区别于模型默认译法的译名。
# 这些译法都是合法且更精确的选择,用来考察“共享术语表能否把指定译法贯彻到全书”。
# mandated:术语表规定的译法;default:模型自由翻译时常用的默认译法。
MANDATED_TERMS = [
{"en": "token", "mandated": "词元", "default": "标记"},
{"en": "prompt", "mandated": "提示词", "default": "提示"},
{"en": "latency", "mandated": "时延", "default": "延迟"},
{"en": "embedding", "mandated": "嵌入向量", "default": "嵌入"},
]
def check_adherence(translations):
"""
术语表遵从率:对每个“指定术语”,统计在出现该概念的章节里,
有多少章使用了术语表规定的译法(而非默认译法)。
这是管理者模式的核心价值:共享术语表能把指定译法贯彻到每一章;
单 Agent 看不到术语表,只能用自己的默认译法。
"""
rows = []
hit_total = 0
concept_total = 0
for t in MANDATED_TERMS:
m, d = t["mandated"], t["default"]
chapters_with_concept = 0
chapters_adhered = 0
for name, raw in translations.items():
text = _strip_code(raw)
has_m = m in text
# default 若是 mandated 的子串(如“嵌入”是“嵌入向量”子串),需去掉 mandated 再判断
has_d = (d in text.replace(m, "")) if d in m else (d in text)
if has_m or has_d:
chapters_with_concept += 1
if has_m:
chapters_adhered += 1
if chapters_with_concept:
concept_total += chapters_with_concept
hit_total += chapters_adhered
rows.append({
"en": t["en"], "mandated": m, "default": d,
"adhered": chapters_adhered, "total": chapters_with_concept,
})
rate = hit_total / concept_total if concept_total else 1.0
return {"rows": rows, "rate": rate}
def _variant_in_chapter(text, variant, other_variants):
"""
判断某个 variant 是否在 text 中“独立”出现。
对“提示”这种会成为“提示词/提示语”子串的情况:仅当去掉更长 variant 后仍出现才算。
"""
longer = [v for v in other_variants if variant in v and v != variant]
if not longer:
return variant in text
tmp = text
for v in longer:
tmp = tmp.replace(v, "")
return variant in tmp
def analyze(translations):
"""
translations{chapter_name: 译文文本}
返回:
results:每个术语的分析(用到哪些译法、是否一致、各章用法)
consistent_terms / total_terms / rate
"""
results = []
consistent = 0
total = 0
for term in TRACKED_TERMS:
variants = term["variants"]
used = {} # variant -> [出现该译法的章节]
for name, raw in translations.items():
text = _strip_code(raw)
for v in variants:
others = [x for x in variants if x != v]
if _variant_in_chapter(text, v, others):
used.setdefault(v, []).append(name)
if not used:
# 全书都没出现该术语,跳过统计
continue
total += 1
distinct = list(used.keys())
is_consistent = len(distinct) == 1
if is_consistent:
consistent += 1
results.append(
{
"en": term["en"],
"canonical": term["canonical"],
"distinct_used": distinct,
"consistent": is_consistent,
"by_variant": used,
}
)
rate = consistent / total if total else 1.0
return {
"results": results,
"consistent_terms": consistent,
"total_terms": total,
"rate": rate,
}