AI 助手生成业务逻辑代码
概述
在现代软件开发中,低代码与代码生成框架的确大幅提升了项目初始化和基础功能开发的效率。
但在面对复杂、非标准化的业务逻辑时,开发者依然需要大量手工编码。这不仅拖慢了开发进度,还容易带来错误与风格不一致等问题。
市面上虽然已有多种通用型 AI 编程工具(如 Cursor、Windsurf、Trae 等),但它们在应对大多数业务逻辑场景时准确性一般,如果提示词不做精确和严格限定时,生成的代码就算可以运行,也容易出现堆砌代码情况,代码风格与项目代码不一致等问题。
基于这一痛点,sponge 框架通过与多种大语言模型(ChatGPT、Gemini、DeepSeek 等)深度集成,构建了一套 AI 增强型开发框架,能够自动生成并整合业务逻辑代码,显著提升开发体验与项目维护的一致性。
Sponge 的解决方案:内置 AI 助手,理解框架与业务
sponge 框架内置 AI 助手,将生成式 AI 的能力无缝融入开发工作流,具备以下优势:
- 框架感知:AI 助手能够识别 sponge 的标准目录结构与分层架构(如 Handler、Service、DAO 等),确保生成的代码能够正确落地到相应位置。
- 自动生成与合并:开发者只需在函数注释中用自然语言描述业务需求,AI 助手即可生成符合项目规范的业务逻辑实现,并自动合并到对应文件。提供
生成
→预览
→合并
的完整流程,保证生成内容既可控又无缝对接现有项目。 - 多模型支持:灵活支持多种大语言模型,目前已兼容 ChatGPT、Gemini、DeepSeek 等,方便在不同场景下平衡质量与成本。
使用示例
获取 AI 助手 API Key
先获取对应平台的 API Key,可任选一个或多个平台:
创建服务
在 sponge 中创建服务(SQL 或 Protobuf 方式均可,如 web、gRPC、http+gRPC、gRPC 网关),只要使用了 Protobuf,就能借助 AI 助手自动生成业务逻辑。
前提是 Protobuf 文件中的 rpc
方法需要有注释,说明该方法的具体功能,这些注释会作为 AI 的提示。示例如下:
syntax = "proto3";
package api.user.v1;
service User {
// 用户通过邮箱和密码登录
// 1. 校验参数:邮箱格式是否正确、密码是否为空
// 2. 数据库查询用户信息,不存在则返回“用户不存在”
// 3. 校验密码,不正确则返回“密码错误”
// 4. 检查用户状态,若被禁用则返回“用户已被禁用”
// 5. 生成访问令牌,包含用户ID和邮箱
// 6. 更新最后登录时间和IP,并写入登录日志
rpc LoginByEmail(LoginByEmailRequest) returns (LoginByEmailReply) {
option (google.api.http) = {
post: "/api/v1/auth/login"
body: "*"
};
}
// ... 其他 rpc 方法
}
👉 参考教程:基于 Protobuf 创建 Web 服务
创建服务后执行以下命令生成并合并 API 相关代码:
make proto
此时,除了标准的 CRUD 代码外,业务逻辑部分可选择手工实现,也可以交给 AI 助手自动生成与合并。
AI 助手生成代码
打开 sponge UI;
点击左侧菜单【AI 助手生成代码】 → 【生成 Go 代码】;
填写参数(鼠标悬停
?
可查看说明):- 大语言类型:如
deepseek
- 模型:如
deepseek-chat
- API Key:如
sk-xxxxxx
- 工作目录:如
/home/gopher/project/user
- 大语言类型:如
点击 生成代码 按钮:

等价命令
sponge assistant generate --type=deepseek --model=deepseek-chat --api-key=sk-xxxxxx --dir=/home/gopher/project/user
提示
AI 生成的 Go 代码会保存在与 .go
文件同级的 .xxx.md
文件中(xxx 为模型类型,如 deepseek、chatgpt、gemini)。
生成方式有两种:
指定 Go 文件(推荐)
- 仅处理单个
.go
文件,自动识别其中符合条件的函数,根据上下文生成实现代码。 - 针对性更强,更贴合实际开发场景。
- 仅处理单个
指定目录
- 处理目录下的所有
.go
文件,自动识别符合条件的函数,根据上下文生成实现代码。 - 当函数数量较多时,会自动启用多个 AI 并发生成(默认最多 10 个)。
- 处理目录下的所有
开发者可在 IDE 中预览生成的代码,如果不满意,可以调整注释或更换模型再次生成,并对比不同模型效果。
合并代码
AI 生成的逻辑代码会先存放在 .xxx.md
文件中,确认无误后可一键合并:
打开 sponge UI;
点击左侧菜单【AI 助手生成代码】 → 【合并 Go 代码】;
填写参数:
- 大语言类型:如
deepseek
- 工作目录:如
/home/gopher/project/user
- 清除 AI 代码:默认
true
,合并后自动删除.xxx.md
文件
- 大语言类型:如
点击 合并代码 按钮:

等价命令
sponge assistant merge --type=deepseek --dir=/home/gopher/project/user --is-clean=true
提示
合并前会自动备份 .go
文件,防止意外情况(如断电)导致文件损坏。合并成功后会输出备份路径,可手动恢复。
重要
若多次使用不同模型合并,后一次结果会覆盖前一次。
清理 AI 助手生成文件
如果合并代码时忘记勾选自动清除 AI 代码,可使用以下命令批量清除所有 .xxx.md
文件:
sponge assistant clean --dir=/path/to/directory
扩展:在任意 Go 文件中使用 AI 助手
除了在 sponge 创建的服务中使用,AI 助手也可以直接应用到任意 Go 文件。
只需在函数注释中添加描述,AI 即可生成对应实现:
// 描述函数需要实现的具体功能(必填:AI 提示语)
func FunctionName() {
panic("implement me") // 必填:AI 会在此处填充生成代码
}
与 sponge 服务不同,此场景下 AI 不会感知项目上下文与分层结构,而是单纯根据注释内容生成与合并代码。