用Claude Code从零搭建AI取名小程序:云开发+腾讯混元大模型实战全记录
用Claude Code从零搭建AI取名小程序:云开发+腾讯混元大模型实战全记录
前言
最近身边不少朋友都在问我:想给宝宝/宠物/工作室取个有寓意又不俗气的名字,翻遍诗词典籍、算完生辰八字,还是没头绪?作为开发者,我索性用Claude Code快速开发了一款基于微信云开发+腾讯混元大模型的取名小程序,既能解决实际需求,也顺便探索了AI大模型在传统文化场景下的落地实践。这篇文章就把整个开发过程、踩坑经验和实现细节分享给大家,全程干货,看完你也能复刻同款项目。
一、项目背景与需求拆解
取名这件事,看似简单,实则痛点不少:
- 传统取名要么依赖老一辈经验,要么需要查大量古籍,耗时耗力还容易撞名;
- 市面上的取名工具大多功能单一,要么只讲五行要么只拼寓意,很少兼顾文化底蕴和个性化需求;
- 想自己做个工具,又担心后端服务器运维成本高、大模型接入复杂,对个人开发者不友好。
于是我定下了这个项目的核心目标:
- 低门槛实现:基于微信小程序云开发,无需自建服务器,降低部署和运维成本;
- AI赋能传统文化:接入腾讯混元大模型,结合诗词典故、五行八字等传统元素,实现多场景取名;
- 功能全覆盖:支持宝宝取名、公司取名、游戏ID、宠物取名等多种场景,同时加入名字打分功能;
- 快速迭代:借助Claude Code辅助开发,减少重复代码编写,提升开发效率。
二、技术选型与整体架构
1. 核心技术栈
| 模块 | 选型 | 优势说明 |
|---|---|---|
| 前端框架 | 微信小程序原生框架 | 无需额外学习成本,云开发集成度高,用户无需下载APP,打开即用 |
| 后端服务 | 微信云开发(CloudBase) | 提供云函数、云数据库、云存储,无需搭建服务器,一键部署 |
| AI能力 | 腾讯混元大模型 | 微信生态原生支持,Token成本低,云开发SDK可直接调用,无需额外鉴权 |
| 开发辅助 | Claude Code | 自动生成重复代码、调试云函数、优化提示词,大幅提升开发效率 |
2. 整体架构设计
整个项目采用“前端+云开发+大模型”的轻量架构,流程如下:
- 用户在小程序端输入取名需求(如姓氏、性别、行业、偏好风格等);
- 前端将请求发送给云函数,云函数对用户输入进行预处理,拼接符合混元模型要求的提示词;
- 云函数调用腾讯混元大模型接口,获取生成结果;
- 对大模型返回的结果进行解析、过滤和格式化,再返回给前端展示;
- 额外的名字打分、历史记录等功能,直接通过云数据库实现数据存储和查询。
三、核心功能实现细节
1. 云开发环境搭建
首先需要在微信开发者后台开通云开发服务,创建一个新的环境,获取环境ID。在小程序项目中配置云开发:
// app.js
App({
onLaunch() {
if (!wx.cloud) {
console.error('请使用 2.2.3 或以上的基础库以使用云能力');
} else {
wx.cloud.init({
env: '你的云开发环境ID',
traceUser: true,
});
}
}
});
这里踩过一个坑:基础库版本低于3.7.1时,无法直接使用wx.cloud.extend.AI调用混元模型,建议直接升级到最新基础库版本,避免额外适配成本。
2. 腾讯混元大模型接入(核心代码)
云函数是连接用户请求和大模型的核心,这里直接使用云开发提供的AI扩展能力,无需额外配置API密钥,几行代码就能完成调用:
// 云函数 index.js
const cloud = require('wx-server-sdk');
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV });
// 初始化混元模型
const model = cloud.extend.AI.createModel('hunyuan-standard');
exports.main = async (event, context) => {
const { nameType, inputParams } = event;
// 拼接提示词,根据不同取名场景定制
let prompt = '';
switch(nameType) {
case 'baby':
prompt = `请根据用户提供的姓氏${inputParams.surname}、性别${inputParams.gender}、生辰八字信息,生成10个寓意美好、五行平衡的宝宝名字,每个名字附上出处和寓意说明,风格${inputParams.style || '文雅'}`;
break;
case 'company':
prompt = `用户需要为${inputParams.industry}行业的公司取名,风格${inputParams.style || '大气稳重'},生成8个符合行业属性、寓意生意兴隆的名字,附上每个名字的品牌寓意和行业适配性说明`;
break;
case 'pet':
prompt = `用户有一只${inputParams.petType},想要可爱有趣的名字,贴合宠物特点,生成10个不重样的名字,每个名字附带简短的寓意和适配理由`;
break;
default:
prompt = `请根据用户需求生成合适的名字,用户需求:${inputParams}`;
}
try {
// 调用混元模型生成结果
const res = await model.completions({
prompt: prompt,
temperature: 0.7, // 控制生成多样性,0.7兼顾创意和稳定性
max_tokens: 2000,
});
// 解析并格式化结果
const result = res.choices[0].text;
return {
code: 0,
data: result,
message: '生成成功'
};
} catch (err) {
console.error('大模型调用失败', err);
return {
code: -1,
message: '生成失败,请稍后重试'
};
}
};
这里的关键是提示词工程,不同场景的取名需求差异很大,必须给大模型足够明确的指令,比如宝宝取名需要结合五行、诗词典故,公司取名需要贴合行业属性,宠物取名要可爱有特点,这样生成的结果才不会泛泛而谈。
3. 前端交互与结果展示
前端主要负责用户输入收集、请求发送和结果渲染,同时做一些输入校验和加载状态处理:
// pages/baby-name/baby-name.js
Page({
data: {
surname: '',
gender: 'boy',
birthInfo: '',
style: '文雅',
resultList: [],
loading: false
},
// 提交取名请求
async handleSubmit() {
const { surname, birthInfo } = this.data;
if (!surname) {
wx.showToast({ title: '请输入姓氏', icon: 'none' });
return;
}
this.setData({ loading: true });
try {
const res = await wx.cloud.callFunction({
name: 'generateName',
data: {
nameType: 'baby',
inputParams: this.data
}
});
// 解析大模型返回的文本,拆分成结构化数据
const result = this.parseResult(res.result.data);
this.setData({ resultList: result });
} catch (err) {
wx.showToast({ title: '生成失败,请重试', icon: 'error' });
} finally {
this.setData({ loading: false });
}
},
// 解析大模型返回的文本结果
parseResult(text) {
// 这里根据提示词约定的格式,拆分出每个名字的信息
// 实际开发中可以用正则匹配名字、出处、寓意等字段
const list = [];
const nameBlocks = text.split(/\d+\./).filter(item => item.trim());
nameBlocks.forEach(block => {
const [name, desc] = block.split(':');
list.push({
name: name.trim(),
desc: desc?.trim() || ''
});
});
return list;
}
});
为了提升用户体验,我还加入了结果复制、一键分享、历史记录存储等功能,这些都可以直接用云数据库实现,无需额外后端支持。
4. 名字打分功能实现
名字打分是用户反馈中呼声最高的功能,我基于大模型的文本理解能力,实现了多维度打分:
// 云函数中添加打分逻辑
case 'score':
prompt = `请对名字${inputParams.name}进行综合打分,满分100分,从以下维度分析:1. 读音音律(20分);2. 字形结构(20分);3. 寓意内涵(30分);4. 五行适配(20分);5. 重名率/独特性(10分),给出总分和每个维度的详细说明`;
break;
这种方式比硬编码的打分规则更灵活,也更符合用户对“专业分析”的期待,用户反馈体验比市面上固定规则的打分工具好很多。
四、开发中的踩坑与优化经验
1. 大模型调用的常见问题与解决
- Token超限问题:刚开始提示词写得太冗长,导致每次调用Token消耗很高,后来优化了提示词模板,去掉冗余描述,固定输出格式,Token消耗直接降低了40%;
- 结果格式不统一:大模型有时候会返回不同格式的文本,导致前端解析失败,后来在提示词中强制约定输出格式(比如用序号分隔、固定字段顺序),并在前端加了容错处理;
- 调用超时:云函数默认超时时间是60秒,复杂请求偶尔会超时,后来通过优化提示词减少max_tokens,并设置了超时重试机制,超时率下降到1%以下。
2. 云开发的优化技巧
- 缓存高频请求:对于相同参数的取名请求,在云数据库中缓存生成结果,避免重复调用大模型,节省Token成本;
- 权限控制:给云数据库设置合理的权限,比如用户只能查看自己的历史记录,避免数据泄露;
- 成本控制:云开发的免费额度足够个人开发者使用,日常请求量不大的话,几乎没有额外成本,大模型的免费Token额度也能满足初期需求。
3. 用Claude Code提升开发效率
- 云函数的模板代码、提示词的优化、前端列表渲染的代码,我都是让Claude Code帮我生成的,只需要简单调整就能用,节省了大量重复编写的时间;
- 遇到云函数调试问题时,直接把错误日志发给Claude Code,它能快速定位问题并给出修复方案,比如权限配置错误、参数传递错误等;
- 还让它帮我优化了提示词,把原本冗长的提示词改成了更精简、更符合大模型理解习惯的格式,生成结果的质量明显提升。
五、项目成果与后续规划
目前这个小程序已经完成了核心功能开发,支持宝宝取名、公司取名、游戏ID、宠物取名、笔名艺名等多个场景,用户反馈整体还不错,尤其是诗词典故取名和五行分析的功能,很多用户说解决了他们的实际需求。
后续计划:
- 优化名字打分的维度,加入更多传统文化元素的分析;
- 增加用户自定义提示词的功能,让用户可以更灵活地指定取名风格;
- 完善历史记录和收藏功能,提升用户粘性;
- 探索大模型在取名场景下的更多玩法,比如结合用户的喜好推荐风格,或者生成带签名设计的名字卡片。
六、总结与心得
这次用云开发+腾讯混元大模型开发取名小程序的经历,让我深刻感受到,现在个人开发者做AI应用的门槛真的低了很多:微信云开发提供了一站式的后端服务,无需搭建服务器;腾讯混元大模型直接通过SDK就能调用,不用处理复杂的鉴权和部署;再加上Claude Code辅助开发,整个项目从想法到上线,只用了不到一周的时间。
如果你也想做类似的AI工具,不妨试试这个技术栈,不用纠结复杂的后端架构,专注于业务逻辑和用户体验就好。取名小程序只是一个起点,后续我也会尝试更多传统文化和AI结合的场景,欢迎大家一起交流讨论。
如果你对项目中的某个部分(比如提示词优化、云函数调试)有疑问,或者想一起交流AI小程序开发的经验,欢迎在评论区留言,我会尽量回复大家~
要不要我帮你补充一份Claude Code的详细使用指令清单,包含生成云函数代码、优化提示词、调试错误的具体prompt,你直接复制就能用?
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)