一些利用 AI 写项目的理解
一些利用 AI 写项目的理解
从公司要求公司全面拥抱 AI 之后,我也开始负责项目一部分需求的实现,本文记录一下在工作过程中对如何利用 AI 实现项目的理解。
首先强调:前端的修改比后端费时、费神很多。
后端
开始利用 AI 实现项目时,会感觉,“卧槽,真的快,真的厉害”,这种畅快、爽利的感觉,让人愉悦。这种愉悦的背后,是对业务需求的深入理解,及把理解喂给 AI 的高效。
针对后端,我现在的工作流是:在需求文档中梳理业务逻辑、需求、功能->使用 AI 转换为有约束,更适合 AI 的提示词文档->让 AI 根据提示词实现需求。
由于是公司项目,我把具体内容加密处理,贴出的文件只看结构即可。
需求文档:
# 模块名
模块目标:***********************************************。
子模块有*****、*****、*****
注意:只能从*****、*****对应数据库**表中筛选数据,不能更改数据。被*****数据需要新建表存储。
## 子模块名1
目标:********************************
### 功能名1
目标:**************,可以配置多个主题
主题1:**************
主题2:**************
主题3:**************
主题4:**************
主题5:**************
主题6:**************
主题7:**************
主题8:**************
主题9:**************
主题10:**************
### 功能名2
目标:***********************************************。
参数如下:
开启状态:开启/关闭按钮。开启时启用配置,关闭时不启用配置
模型名称:字符串
主题:可以选择主题1、主题2、主题3、**************************等主题来确定**范围,可以多选。
推送模式:分为随机组织、指定组织、组织交叉。除下述业务逻辑之外,隶属于本组织的**不能推送给本组织,比如隶属与组织1的**,不能推送给组织1.
- 随机组织业务逻辑为:********************************************
- 指定组织业务逻辑为:********************************************
- 组织交叉:********************************************
抽查时间:分为当天、昨天、本周,***********************************************。
抽查比例:范围在'1%-100%',***********************************************。
过期时间:***********************************************。这个选项决定按照本配置*******,在一定天数内未被处理后,状态转为已过期。
## 子模块名2
目标:***********************************************
筛选条件如下:
筛选条件1:***********************************************。
筛选条件2:***********************************************
筛选条件3:***********************************************
筛选条件4:***********************************************。
其余筛选条件:****************************
页面列表table如下:***********************************************
**详情:***********************************************。利用 AI 生成的提示词文档,这里贴出示例文档(随便想的需求),后续 AI 根据示例文档生成对应提示词文档:
## 模块列表
| 模块 | 说明 |
| ----------- | ------------------------------------------------------------------------------------------------------------- |
| 平台认证模块 | 用于筛选可以调用表单ocr识别接口的平台请求,已添加的平台可以调用,未添加的平台无法,调用 |
| 表单ocr识别接口模块 | 提供表单ocr识别接口,分为智能体验和第三方平台调用。智能体验为本系统调用,页面登陆后,可以直接体验。第三方平台调用时,需要核查数据库中是否有该平台,核验ip、access_key、有效日期、有效访问时间、访问上限等。 |
## 平台认证模块
### 平台详细参数
| 字段 | 字段说明 | 字符类型 | 字符最大长度 | 边界值 |
| ---------------------- | --------- | --------- | ------ | --------- |
| company_name | 公司名称 | string | 32 | 无 |
| platform_name | 平台名称 | string | 32 | 无 |
| ip | 来源IP | string | 20 | 无 |
| call_data_begin | 有效开始日期 | int | 20 | 无 |
| call_data_end | 有效结束日期 | int | 20 | 无 |
| call_clock_begin | 有效访问开始时间 | int | 20 | 无 |
| call_clock_end | 有效访问结束时间 | int | 20 | 无 |
| daily_api_access_limit | 单接口每日访问上限 | int | 20 | 无 |
| platform_daily_limit | 平台每日访问上限 | int | 20 | 无 |
| total_system_limit | 系统累计上限 | int | 50 | 无 |
| enable_status | 平台启用状态 | int | 1 | 1-启用;0-停用 |
| interface_list | 接口列表 | list[str] | 无 | 无 |
### 数据库表结构
#### 平台表
**表名**:auth_platform_config_v1
**作用:** 保存平台数据
**表结构:** 按照平台详细参数自动生成,除此之外补充下述表格字段
| 字段名 | 类型 | 长度 | 允许为空 | 默认值 | 主键 | 注释 |
| ---------- | ------- | --- | ---- | --- | --- | ------ |
| id | bigint | 20 | 否 | 无 | 是 | 主键ID |
| access_key | varchar | 64 | 否 | 无 | 否 | 鉴权key值 |
| created_at | bigint | 30 | 否 | 无 | 否 | 创建时间 |
| updated_at | bigint | 30 | 否 | 无 | 否 | 更新时间 |
#### 平台可访问接口表
**表名**:auth_platform_config_v1
**作用:** 保存平台可访问接口数据
**表结构:** 如下
| 字段名 | 类型 | 长度 | 允许为空 | 默认值 | 主键 | 注释 |
| ------------------ | ------- | --- | ---- | --- | --- | ----------------------------- |
| id | bigint | 20 | 否 | 无 | 是 | 主键ID |
| platform_config_id | bigint | 20 | 否 | 无 | 否 | 关联auth_platform_config_v1主键ID |
| interface_name | varchar | 255 | 否 | 无 | 否 | 记录接口名称 |
| created_at | bigint | 30 | 否 | 无 | 否 | 创建时间 |
| updated_at | bigint | 30 | 否 | 无 | 否 | 更新时间 |
### 功能点
**新增平台:** 创建可以调用表单ocr识别接口的第三方平台
**编辑平台:** 编辑已经创建的可以调用表单ocr识别接口的第三方平台参数
**删除平台:** 删除已经创建的可以调用表单ocr识别接口的第三方平台
**搜索平台:** 可以根据`公司名称、平台名称、来源ip`搜索平台,参数为空时返回所有平台上述文档是我的探索产物,读者只需要参考我的思路即可,最终的工作流和产物文档一定不是上述。
前端
前端比较麻烦,毕竟具体样式不能文档中详细阐述,而且在确定样式的过程中,审美可能在不断变化,导致需求不断变化,好像只能看着已经构建的前端页面一点点调整。
最后更新于