芽起一名

把一句期许,翻译成一个名字

这是一个人做出来的小工具,也是一个持续记录的开发项目。它用检索与生成模型处理「起名」这件看似只关乎审美的事 —— 音韵、字形、五行、典故、谐音与重名度,其实都是可以量化的约束。

微信小程序 个人非经营性项目 2026 年至今
01

缘起

给一个还没见面的人起名字,是件奇怪的事 —— 你还不知道他会成为谁,却要先替他选定一个要用一辈子的符号。

我自己给孩子起名字,前后折腾了近半年。十几本起名书堆在桌上,AI 跑了五十多轮,又去查重名、 查重名企业、查同名学者,最后定下的名字全国重名不到 10 人 —— 出自苏轼那句「人生如逆旅,我亦是行人」, 是我五年前抄在练字本上的一句。

这轮折腾让我确信一件事:起名不是灵感问题,是工程问题。约束太多 —— 平仄要顺、字形要稳、 寓意要可追溯、方言里不能有歧义,还要避开长辈名讳和满街重名的爆款。靠人脑翻字典,能遍历的组合非常有限。

所以这件事被拆成两段:先检索,再生成。检索负责把《诗经》《楚辞》、唐诗宋词里的 可用字与搭配捞出来,附上出处、笔画与五行;生成负责在具体语境里把它们组合成一个有叙事的名字。 剩下的硬约束 —— 多音字、方言谐音、地名雷同 —— 不交给模型判断,交给规则层兜底。

02

一个名字的四道工序

  1. 采集约束

    姓氏、性别、出生时间、风格偏好与避讳字,构成一次取名的输入条件集。

  2. 检索语料

    从诗词典籍与字书中取出候选字,带上出处、笔画与五行属性,作为生成的素材池。

  3. 生成候选

    模型在约束内产出名字,同时给出典故、释义与命名意图 —— 名字要能解释得清来历。

  4. 规则过滤

    多音字、方言谐音、地名雷同、重名度过高的组合直接淘汰。这一步不指望模型,用规则。

  5. 多维评分

    五行、音韵、字形、寓意、独特性分别打分,不合并成一个玄学总分 —— 分数说明的是「哪些维度更强」,判断权留给人。

03

技术实现

CLIENT 小程序端 原生 · 无构建 EDGE 接入层 nginx · TLS APP 应用层 Node · 零依赖 DATA 数据与模型 SQLite · DeepSeek

请求路径:小程序 → nginx(终结 TLS)→ Node 服务 → SQLite / 模型接口

04

开发手记

  1. 2026-09-20

    让模型「闭嘴」:思考模式与 JSON 截断

    默认开启思考的模型会把思维链计入输出上限,表现为「返回格式错误」,实际是被截断。显式关闭思考后正文 token 回到充裕区间。教训是先看 finish_reason 再改 prompt —— length 说明输出被截断,不是模型没按格式输出。

  2. 2026-09-18

    从云开发搬到自建后端

    4049 条记录迁移并逐字段校验。关键决策是「不重写」:保留云函数的调用签名,在 Node 侧做一层兼容,业务代码原样跑。

  3. 2026-09-18

    把取名改成流式

    一次请求从二十多秒变成首字两秒。旧的同步接口保留作降级路径 —— 客户端基础库不支持分块传输时自动回落,不留死角。

  4. 2026-04-22

    小程序改名为「芽起一名」

    「芽」取破土新生之意 —— 名字这件事,本来就是给一个新生命的第一份东西。改名当天把代码与文案里的旧标识一次性替换干净,从此对外只用这一个名字。

  5. 2026-03-15

    小程序首版上线

    取名与解析两条主链路,五个页面。上线当天最担心的是 AI 超时 —— 实测二十多秒,能用,但不好等。这也为后来改成流式埋下了伏笔。

05

关于本站

本站是个人技术项目小站,用于记录本人开发「芽起一名」微信小程序的过程与技术学习笔记。

本站为个人非经营性网站,不提供付费服务,不涉及新闻、出版、教育、医疗、药品等 需前置审批的内容。页面内容均为个人开发记录,不构成任何商业宣传。