Notes · 2025.06.07
文臻卫士
TextGuard 这个中文名。
填申报表的那一格只要中文项目名。TextGuard 三个音节在仓库和域名里很顺,填进北邮大创的表格就空一截。文臻卫士是给要写报告的人看的。我是张恒基,这个项目的总负责人。2025 年 11 月起,我们做中文 AI 生成文本检测的全栈。英文名给 git 和 DNS,中文名给表格和评委。
两个名字各管一段
仓库叫 TextGuard,域名是 textguard.site,代码和日志里都是这个词。报告、答辩、拟申报大创的材料里要出现文臻卫士。两套名字并存的时候,最怕自己都混。混了,评委会问这是一个项目还是两个。我把中文名写在材料封面,把英文名写在技术页和网址行。封面不写网址,网址行不写诗。
中文名要经得住念。念出来不能像药品,也不能像又一个「智能某某平台」。文臻卫士偏正、好写进证书预填。好写的代价是:它不解释我们做什么。解释留给下一句:面向中文 AI 生成文本检测。检测两个字比治理两个字老实。老实的名字在表格里占得住。
总负责人要决定哪个名字出现在哪一类文件。出现错了,不是审美问题,是检索问题。老师按中文名找项目,仓库按英文名找提交。两边都要能对上同一条链路:识别、解释、报告导出。对不上,名字再好听也是两张皮。
全栈不是把模型包一层
栈是 Python / FastAPI 加 React / TypeScript。后端把推理封进接口,前端把识别、特征解释、风险可视化和样本对照画出来。缺报告导出,演示只能停在「模型很准」。准不准要数字,数字要划分和 seed,那是论文线的事。产品线要先让人能拿走一份报告。
拟申报大创。预期产出论文、软著与专利。预期两个字还在,就先不写成已经有。NeurIPS 2026、AAAI 2027 的状态是 Under Review,站点上不能写中了。软著和专利没有证书之前,材料里只能出现「拟」和「预期」。这三个词不好看,比假装已有好看。
我把「全栈」理解成一条能走完的路,不理解成技术名词堆在简历上。路的起点是一段中文文本,终点是一份能被反驳的报告。中间有超时、空结果、权限提示。这些在申报表的「创新点」里通常排不上。排不上,不代表可以不做。不做,名字再正经,打开站点也会转圈。
中文检测有自己的坑
中文 AI 生成文本和英文不是同一套习惯。标点、成语、书面语密度、改写之后还像不像机器,都会动分数。我们做的是中文这条线,不把英文论文里的数字直接抄到答辩页上。抄过去,评委会问样本。样本拿不出来,创新点当场蒸发。
文臻卫士这个名字还承担一个任务:把它和查重分开。查重看像不像已有文献。我们看像不像机器写的。中文名里没有「查重」两个字,是故意的。故意仍要在第一页讲清楚,否则评委会自己补上。自己补上的理解,通常是错的。
2025 年 11 月起做到现在,站点已经能打开。能打开和能当大创结题材料,中间还有一截。这一截里包括误伤口径、报告字段、划分不泄漏、数字能指回脚本。指不回的数字,不要印在叫文臻卫士的封面上。封面会比仓库活得久,错字和错数字都会跟着活。
中文名还会出现在答辩口头。口头如果一会儿 TextGuard、一会儿文臻卫士、一会儿「那个检测」,评委要记三个词。三个词会变成两个项目。我规定:对老师和表格说中文名,对仓库、日志、域名说英文名,对评委两句里各出现一次并指明是同一个。同一个要靠链路证明,不靠语气。语气再坚决,识别、解释、导出断一截,名字就只是名字。
名字先于证书
我收到的限制写在时态上:文臻卫士是正在做的项目名,不是已经办完软著的产品名。总负责人可以决定表格怎么填,不能决定把预期写成既成。表格填对了,域名能解析,全栈链路还要自己走完。名字只负责让要写报告的人找得到我们。找到之后,看的是系统。
系统如果还在转圈,中文名印得再正,也只是表格上的四个字。四个字我愿意认真取,是因为申报表那一格空着会被打回来。打回来的是行政。行政过了,学术和工程还在。工程停在 FastAPI 和 React,学术停在划分和 seed。两头都没做完的时候,名字不能替它们做完。替它们做完的写法,叫把预期写成已经有。那种写法,我从封面拿掉了。