• Charles

    项目 A 依赖公司组件库 B,B 独立仓库、以 jar 形式发版。AI 编程工具(Cursor 等)遇到 B 的类就两种表现:要么靠训练记忆瞎编 API,要么去反编译 ~/.m2 里的 jar,反编译出来的代码没注释没泛型,AI 照着写必翻车。

    想问下做多仓库架构的佬友们,你们怎么让 AI 稳定读到依赖库源码的?纯三方依赖(没本地 checkout 的)又是怎么处理的?

    主楼
  • parksi

    把对应地址写Agents.md里,说明情况,Agent 就会自己去查

    第三方可以看看 context7 和 deepwiki 这些 mcp

    #1
  • Charles

    我现在是手动告诉 ai,写到 AGENTS.md 里的话,地址其他人用不了。

    #2
  • parksi

    你们公司的代码仓库没有固定地址吗

    #3
  • Charles

    直接写 git 地址吗?我是写的本地地址

    #4
  • Brantfang

    有些包不是提供 sources 源码包的吗?LSP 可以查看到的。

    #5
  • DevExzh

    我一般就是开一个单独的文件夹,叫 3rdparty,gitignore 掉它,让 agents 直接去读这个文件夹下面的文件

    #6
  • Charles

    因为有专属组件库,所以想让 ai 直接读取源码目录(甚至可以看组件库对应的 AGENTS.md),而不是去反编译或顺着源码包去看。

    #7
  • Charles

    这个是让 ai 维护吗?还是自己 clone 下来放那只读?

    #8
  • parksi

    可以让 AI 写个 MCP,找个人维护,一个公司都用这个 mcp,也是个方法

    #9
  • DevExzh

    我是手动把需要参考的文档spec、源码什么的先放到里面去,后续有需要再让agent维护呗

    什么都让ai干的话,给你猛猛造AI slops,非常恶心

    #10
  • Brantfang

    有源码直接放在项目根目录(工作空间)下就行,然后指定遇到相关组件去对应目录读取就行。其实源码包也可以直接解压到项目目录中(工作空间),AGENTS.md 等文件也可以 maven-sources 打包进去的。

    #11
  • Charles

    看来似乎都是放一个只读副本或 monorepo(我们这个不适合 monorepo),个人总感觉不是很优雅。 ^-^

    #12
  • undefined

    .m2 中也可以捞源码jar的呀。。

    你用idea的话自己右键可以获取source的。

    这样 ai就自己找源码去了,不会自己反编译了。

    你可以让ai一次性的帮你通过mvn把源码的source.jar全捞了。

    ps: b的源码上传mvn私服么?不上传就只能你去获取然后指定了。

    #13
  • Charles

    有没有现成的 AGENTS.md 示例描述这段的,佬友们?

    例如:本项目依赖 xx、xxx,如果需要检索,请先下载 source 到 xx。

    #14
  • Brantfang

    git submoudle 可以了解一下也许可以满足,不过有强依赖的话 monorepo 比较好。

    #15
  • Dyna

    - 上传源码包和文档包。

    - 如果有了源码包和文档包,还需要agents.md之类的话,那就是公共包写的太烂了。

    #16
  • Dyna

    不需要,AI没这么蠢,它自己知道去.m2里面读源码和文档。

    #17
  • marre

    插个眼,确实喜欢天天反编译一些jar来看源代码…

    #18
  • Charles

    emm…都是用中等LLM或auto,所以想把规则确定了,看起来这个比较适合三方依赖的场景。我这个算是强依赖的两个项目仓库。

    #19

发表回复

登录后回复