跳至内容
一些利用 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`搜索平台,参数为空时返回所有平台

上述文档是我的探索产物,读者只需要参考我的思路即可,最终的工作流和产物文档一定不是上述。

前端

前端比较麻烦,毕竟具体样式不能文档中详细阐述,而且在确定样式的过程中,审美可能在不断变化,导致需求不断变化,好像只能看着已经构建的前端页面一点点调整。

最后更新于