想问下大佬们,在用 ai 的时候遇到问题了

2026-04-11 13:151阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

想问下,公司有一个类似数据平台的项目,然后最近在用 ai 出报表,第一次把数据库表结构都喂进去了,但是换了会话之后 ai 就不记得了,请问类似这种场景的话 如何让 ai 保持永久记忆呢,就是自己的知识库以什么方式灌进去比较合适?大家一般是怎么做的?

网友解答:
--【壹】--:

你们自己写啊


--【贰】--:

构建知识库和记忆系统,直接把文档上传,需要的时候自己去查知识库


--【叁】--:

什么工具?


--【肆】--:

好的,谢谢


--【伍】--:

让ai拆分你保存记录文件的内容,如果内容多的话让ai拆分一下,并且让ai建立好索引,让它在文件的开头写概述,现在编程的agent都是渐进式披露的,在读了开头之后,不符合就不会读具体的内容了,或者你可以维护一份记忆会话或者数据库功能拆分后的索引目录


--【陆】--:

每次查知识库上下文太长了,消耗token也很大,更好的做法应该是先把知识库中的内容切片做RAG检索,然后塞进向量库里,再做一下摘要。让AI自己去检索然后拿对应的内容。


--【柒】--:

存入文档让ai读


--【捌】--:

新增文件夹以便保存此次对话关于数据库表结构的记忆,你来找一个合适的地方,保存一份人阅版本便于我来审查,再保存一份用于你读取恢复对话记忆的文件


--【玖】--:

我开始是这么理解的,所以想问下有没有类似的成熟工具或者 skills,在第一次会话中执行一次,主要还是担心 token 消耗的问题,看大佬们的意思 如果是自己开发这个 search tools的话 是不是相当于开发一个 mcp 给 ai 调用


--【拾】--:

我们内部用的是类似于tool search的方式去查,即相当于给Agent接了一个内部的浏览器去查内部的数据,token数量消耗的很少


--【拾壹】--:

厉害了,也就是说需要单独构建一个知识库的文件夹 随取随用?但如果数据库表特别多,那么这个文件是一个表一个文件呢,还是一整个 md 文档呢?还是说大佬这个提示词 ai 自己会解决避免上下文过大的问题


--【拾贰】--:

哦 这个意思啊 理解了,谢谢


--【拾叁】--:

感谢大佬分享


--【拾肆】--:

ai自己去查,这个索引是类似 agent 的 read? 那文件个数和大小会影响 token 消耗量吗?


--【拾伍】--:

你用的是哪种形式的AI,网页?本地部署?客户端?

本质上来说就是记忆问题,简单做法是你沟通完,可以让AI给你生成一个memory.md,新会话让AI先读取下memory.md即可


--【拾陆】--:

我目前有一个项目的数据库是Oracle,当时数据库里面就已经有了单独设计的几张表,来记录 表、字段、主键外键 等信息。

然后我是创建了一个skills,xxx是项目名

name: xxx-db-dictionary description: xxx 数据库字典查询工具。支持通过表编号、模块或关键字实时检索表作用及关联档。当需要确认特定表 ID 的用途、分析模块表结构、查询字段属性时使用。

skills文件夹里面的 scripts 是放的是同步脚本,直接连接数据库,将那几个信息表内容拖下来,然后存储在 references 文件夹,用的 csv 格式存储的。然后还有一个搜索脚本,增加了一些参数功能

## 参数速查表 | 参数 | 别名 | 说明 | 示例 | |------|------|------|------| | `-t` | `--table` | 表编号(支持多个) | `-t imaa_t imab_t` | | `-m` | `--module` | 模块编号 | `-m AXM` | | `-k` | `--keyword` | 表描述关键字搜索 | `-k 汇率` | | `-fk` | `--field-keyword` | 字段描述关键字搜索 | `-fk 订单单号` | | `-f` | `--fields` | 显示字段明细 | `-f` | | `-r` | `--relations` | 显示血缘关系 | `-r` | | `-i` | `--indexes` | 显示索引清单 | `-i` | | `-e` | `--export` | 导出结果到文件 | `-e` 或 `-e filename.txt` | | | `--attr` | 查询属性编号 | `--attr N001` | | | `--attr-key` | 查询属性关键字 | `--attr-key 人员` |

当然我这个同步方式不一定是完美的,当时也考虑过是否每次都走数据库连接然后实时获取表结构信息,但是还是不放心,就先让agent写的一个py脚本同步到本地,先尽可能的避免agent直接操作数据库。

还有这个本地 csv 格式存储也是临时方案,后面看情况可以考虑单独部署一个数据库或者其他什么方式,增加agent的查询速度,和优化获取表的关联关系汇总信息等等…

然后还有一个配置文件,用来存储数据库连接的配置信息。

## 一、数据库同步配置 在使用一键同步脚本前,需要先配置数据库连接信息。 ### 配置文件位置 同步脚本支持多路径探测配置文件 `db_config.json`: - **推荐位置**: 项目根目录的 `.agent/db_config.json`(安全性最高,IDE 兼容性最好) - **配置模板**: 参考同级目录下的 `db_config.json.example`


--【拾柒】--:

附件输入文本文件,输出文件,这样最好了。


--【拾捌】--:

目前主要是在 codex 里面用,因为 plus 额度不是很多,一方面是怕上下文过大消耗 token,另一方面是上下文压缩多次后,好像回答会出现偏差,不知道是我用法问题还是模型问题,我试下让他生成 memory.md试试


--【拾玖】--:

保存到文件里,系统提示词里面写好每次回答问题先看文件。再精细一点就是hook+工具调用

问题描述:

想问下,公司有一个类似数据平台的项目,然后最近在用 ai 出报表,第一次把数据库表结构都喂进去了,但是换了会话之后 ai 就不记得了,请问类似这种场景的话 如何让 ai 保持永久记忆呢,就是自己的知识库以什么方式灌进去比较合适?大家一般是怎么做的?

网友解答:
--【壹】--:

你们自己写啊


--【贰】--:

构建知识库和记忆系统,直接把文档上传,需要的时候自己去查知识库


--【叁】--:

什么工具?


--【肆】--:

好的,谢谢


--【伍】--:

让ai拆分你保存记录文件的内容,如果内容多的话让ai拆分一下,并且让ai建立好索引,让它在文件的开头写概述,现在编程的agent都是渐进式披露的,在读了开头之后,不符合就不会读具体的内容了,或者你可以维护一份记忆会话或者数据库功能拆分后的索引目录


--【陆】--:

每次查知识库上下文太长了,消耗token也很大,更好的做法应该是先把知识库中的内容切片做RAG检索,然后塞进向量库里,再做一下摘要。让AI自己去检索然后拿对应的内容。


--【柒】--:

存入文档让ai读


--【捌】--:

新增文件夹以便保存此次对话关于数据库表结构的记忆,你来找一个合适的地方,保存一份人阅版本便于我来审查,再保存一份用于你读取恢复对话记忆的文件


--【玖】--:

我开始是这么理解的,所以想问下有没有类似的成熟工具或者 skills,在第一次会话中执行一次,主要还是担心 token 消耗的问题,看大佬们的意思 如果是自己开发这个 search tools的话 是不是相当于开发一个 mcp 给 ai 调用


--【拾】--:

我们内部用的是类似于tool search的方式去查,即相当于给Agent接了一个内部的浏览器去查内部的数据,token数量消耗的很少


--【拾壹】--:

厉害了,也就是说需要单独构建一个知识库的文件夹 随取随用?但如果数据库表特别多,那么这个文件是一个表一个文件呢,还是一整个 md 文档呢?还是说大佬这个提示词 ai 自己会解决避免上下文过大的问题


--【拾贰】--:

哦 这个意思啊 理解了,谢谢


--【拾叁】--:

感谢大佬分享


--【拾肆】--:

ai自己去查,这个索引是类似 agent 的 read? 那文件个数和大小会影响 token 消耗量吗?


--【拾伍】--:

你用的是哪种形式的AI,网页?本地部署?客户端?

本质上来说就是记忆问题,简单做法是你沟通完,可以让AI给你生成一个memory.md,新会话让AI先读取下memory.md即可


--【拾陆】--:

我目前有一个项目的数据库是Oracle,当时数据库里面就已经有了单独设计的几张表,来记录 表、字段、主键外键 等信息。

然后我是创建了一个skills,xxx是项目名

name: xxx-db-dictionary description: xxx 数据库字典查询工具。支持通过表编号、模块或关键字实时检索表作用及关联档。当需要确认特定表 ID 的用途、分析模块表结构、查询字段属性时使用。

skills文件夹里面的 scripts 是放的是同步脚本,直接连接数据库,将那几个信息表内容拖下来,然后存储在 references 文件夹,用的 csv 格式存储的。然后还有一个搜索脚本,增加了一些参数功能

## 参数速查表 | 参数 | 别名 | 说明 | 示例 | |------|------|------|------| | `-t` | `--table` | 表编号(支持多个) | `-t imaa_t imab_t` | | `-m` | `--module` | 模块编号 | `-m AXM` | | `-k` | `--keyword` | 表描述关键字搜索 | `-k 汇率` | | `-fk` | `--field-keyword` | 字段描述关键字搜索 | `-fk 订单单号` | | `-f` | `--fields` | 显示字段明细 | `-f` | | `-r` | `--relations` | 显示血缘关系 | `-r` | | `-i` | `--indexes` | 显示索引清单 | `-i` | | `-e` | `--export` | 导出结果到文件 | `-e` 或 `-e filename.txt` | | | `--attr` | 查询属性编号 | `--attr N001` | | | `--attr-key` | 查询属性关键字 | `--attr-key 人员` |

当然我这个同步方式不一定是完美的,当时也考虑过是否每次都走数据库连接然后实时获取表结构信息,但是还是不放心,就先让agent写的一个py脚本同步到本地,先尽可能的避免agent直接操作数据库。

还有这个本地 csv 格式存储也是临时方案,后面看情况可以考虑单独部署一个数据库或者其他什么方式,增加agent的查询速度,和优化获取表的关联关系汇总信息等等…

然后还有一个配置文件,用来存储数据库连接的配置信息。

## 一、数据库同步配置 在使用一键同步脚本前,需要先配置数据库连接信息。 ### 配置文件位置 同步脚本支持多路径探测配置文件 `db_config.json`: - **推荐位置**: 项目根目录的 `.agent/db_config.json`(安全性最高,IDE 兼容性最好) - **配置模板**: 参考同级目录下的 `db_config.json.example`


--【拾柒】--:

附件输入文本文件,输出文件,这样最好了。


--【拾捌】--:

目前主要是在 codex 里面用,因为 plus 额度不是很多,一方面是怕上下文过大消耗 token,另一方面是上下文压缩多次后,好像回答会出现偏差,不知道是我用法问题还是模型问题,我试下让他生成 memory.md试试


--【拾玖】--:

保存到文件里,系统提示词里面写好每次回答问题先看文件。再精细一点就是hook+工具调用