想在 Cursor 里面能直接让 LLM 帮我写 SQL,但是不能让他直接访问数据库,有什么好的办法吗?

24 天前
 RangerWolf
要写的 SQL 有时候挺重复的,无非是一些条件的变换(比如上次 keyword = AAA , 这次 keyword = BBB )
但是每次也略微有点复杂,而且还需要进行一些表的关联,比如 provider_id 每次都要去 provider 表做一个关联查询(需求需要按照 provider name 进行查询)

每次都很重复劳动,觉得效率很低

但是又不能让他直接访问我们的生产数据库,一种想法就是把 Schema 下载到本地,搭建一个测试环境

线上数据库包括 MySQL + Clickhouse

求问有什么好的方案?轻微付费也可以
1985 次点击
所在节点    问与答
15 条回复
ferock
24 天前
测试库,mcp 服务,ddl 落本地 docs 目录
javalaw2010
24 天前
测试环境是可行的,用对应的 MCP 就行。更简单的方法是将数据库结构输出到 markdown 的表格里面,让 LLM 直接读对应的 markdown 就好了。
RangerWolf
23 天前
@javalaw2010 markdown 的话 如果有几百张表。。。 会不会 context 太多?

如果搭建测试环境, 推荐哪个 MCP?
RangerWolf
23 天前
@ferock ddl 落本地 docs 目录 这个有说明吗? 我只知道一个 indexing & Docs 是这个功能?
dethan
23 天前
@RangerWolf mcp 是最佳实践
z1829909
23 天前
不是很懂,为什么要 mcp ,mcp 只是一个上下文协议,对于模型的能力又没有提升,而且 op 说了,不要直接访问数据库,也就是 op 只需要模型生成一个 sql ,甚至连 tools 都不需要。
所以 op 可以自己写一个工具,拉取线上表的结构作为上下文送进去。长度大概率够,一张表就算 100 token ,100 张表 10k token ,16k 的模型都够了。
kuse2001
23 天前
https://github.com/FreePeak/db-mcp-server

go 写的,用着还还可以
dcatfly
23 天前
可以写个 mcp ,让 ai 只能读出表结构,不能操作数据,相比直接给上下文的好处是不用管理同步表结构的变化。
Liftman
23 天前
反正首先权限肯定只有 查。 增删改都不能给。 其次正常我们现在做的一个产品就是用一个智能体用 mcp 访问所有子公司的所有数据库,读取后立刻汇总再结构化,然后用图表渲染出来,满足客户领导的面子工程。
zhoujinjing09
23 天前
把 schema 的 sql dump 下来给 LLM 就可以了吧
ujfj1986
23 天前
@Liftman @RangerWolf @ 佬,请问你们的大写字母开头的 v 站账号是怎么注册的呀,能不能教教我呀~
RangerWolf
23 天前
@kuse2001 感谢 我试试看
youtubbbbb
23 天前
可以读取 schema 和头几行
Liftman
22 天前
@ujfj1986 注册的时候你写大写字母不就行??????????????
RangerWolf
22 天前
@ujfj1986 我也没有注意 这就是我最常用的网名 而且我注册时间很久很久了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1140204

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX