- Charles2026-08-319307
项目 A 依赖公司组件库 B,B 独立仓库、以 jar 形式发版。AI 编程工具(Cursor 等)遇到 B 的类就两种表现:要么靠训练记忆瞎编 API,要么去反编译 ~/.m2 里的 jar,反编译出来的代码没注释没泛型,AI 照着写必翻车。
想问下做多仓库架构的佬友们,你们怎么让 AI 稳定读到依赖库源码的?纯三方依赖(没本地 checkout 的)又是怎么处理的?
主楼 - parksi2026-08-3123885
- Charles2026-08-319307
我现在是手动告诉 ai,写到 AGENTS.md 里的话,地址其他人用不了。
- parksi2026-08-3123885
你们公司的代码仓库没有固定地址吗
- Charles2026-08-319307
直接写 git 地址吗?我是写的本地地址
- Brantfang2026-08-316334
有些包不是提供 sources 源码包的吗?LSP 可以查看到的。
- DevExzh2026-08-3111244
我一般就是开一个单独的文件夹,叫 3rdparty,gitignore 掉它,让 agents 直接去读这个文件夹下面的文件
- Charles2026-08-319307
因为有专属组件库,所以想让 ai 直接读取源码目录(甚至可以看组件库对应的 AGENTS.md),而不是去反编译或顺着源码包去看。
- Charles2026-08-319307
这个是让 ai 维护吗?还是自己 clone 下来放那只读?
- parksi2026-08-3123885
可以让 AI 写个 MCP,找个人维护,一个公司都用这个 mcp,也是个方法
- DevExzh2026-08-3111244
- Brantfang2026-08-316334
有源码直接放在项目根目录(工作空间)下就行,然后指定遇到相关组件去对应目录读取就行。其实源码包也可以直接解压到项目目录中(工作空间),AGENTS.md 等文件也可以 maven-sources 打包进去的。
- Charles2026-08-319307
看来似乎都是放一个只读副本或 monorepo(我们这个不适合 monorepo),个人总感觉不是很优雅。 ^-^
- undefined2026-08-316342
.m2 中也可以捞源码jar的呀。。
你用idea的话自己右键可以获取source的。
这样 ai就自己找源码去了,不会自己反编译了。
你可以让ai一次性的帮你通过mvn把源码的source.jar全捞了。
ps: b的源码上传mvn私服么?不上传就只能你去获取然后指定了。
- Charles2026-08-319307
- Brantfang2026-08-316334
git submoudle 可以了解一下也许可以满足,不过有强依赖的话 monorepo 比较好。
- Dyna2026-08-319192
- Dyna2026-08-319192
不需要,AI没这么蠢,它自己知道去.m2里面读源码和文档。
- marre2026-08-3134689
插个眼,确实喜欢天天反编译一些jar来看源代码…
- Charles2026-08-319307
emm…都是用中等LLM或auto,所以想把规则确定了,看起来这个比较适合三方依赖的场景。我这个算是强依赖的两个项目仓库。