当前位置:首页>java>读代码不再抓瞎:一套方法让 AI 秒懂任何仓库

读代码不再抓瞎:一套方法让 AI 秒懂任何仓库

  • 2026-10-21 13:27:01
读代码不再抓瞎:一套方法让 AI 秒懂任何仓库
上周,我展示了一个工具,它让我们的首席技术官 (CTO) 彻底重新思考了我们的内部工具。当时我正在公司做一场关于 AI 开发工作流和工具的午餐分享会。我随口提到了一个我一直在用的工具,我的老板打断了我:
“等等,那是什么工具?我为什么需要它?”
那时我才意识到:很多开发者都不知道这个与 AI 进行上下文注入的秘籍。
我一直用这些技巧,在 30 秒内将任何代码库转化为完美的 AI 上下文。看到我的团队的反应,并因此调整了我们的路线图以引入新的工作方法后,我认为最好在这里分享一下。
代码仓库的上下文问题
在开发我的开源项目时,我研究了我最喜欢的几个库。这是那篇文章: 我最喜欢的那些库都在用的文档框架(https://medium.com/@alexjamesdunlop/the-documentation-framework-my-favourite-libraries-use-cfbb12ca23d7?source=post_page-----71919d497531---------------------------------------)
发现这个框架后,我为什么不再用 Docusaurus(https://medium.com/@alexjamesdunlop/the-documentation-framework-my-favourite-libraries-use-cfbb12ca23d7?source=post_page-----71919d497531---------------------------------------)
我最喜欢的那些库,它们的文档中往往会有一个为大语言模型 (LLM) 准备的上下文文件。这个文件是给 LLM 看的,而不是给人看的。
这对我来说很有意义,因为从文档到编码,它可以在内部开发中发挥作用。使用这个库的人也能够利用这份上下文。
当你使用 AI 进行开发时,你会在以下工具之间不断切换:
  • IDE — Cursor、Claude Code 等。
  • ChatGPT — 用于快速构思业务逻辑或创意。
  • Claude — 用于研究。
  • Gemini — 用于大规模上下文注入和查询。
  • 不同的模型 — 用于处理不同任务。
问题在于:只有你的 IDE 拥有代码库的完整上下文,而且在使用 AI 编码工具时,你无法控制提供上下文的方法(例如,是使用 `grep` 还是向量化 (vectorization))。
让我拥有更强控制力的发现
在研究各种库和上下文 MCP 内部工作原理时,我偶然发现了一些绝对具有突破性的东西。
有些工具可以解决这个问题。我个人用过并且现在仍在使用两款工具,它们能将任何代码仓库打包成一个 AI 友好的文件:
  • JavaScript/TypeScript — Repomix(https://github.com/yamadashy/repomix) (18.2k 星)
npx repomix  # Creates repomix-output.xml
  • Python — OneFileLLM(https://github.com/jimmc414/onefilellm) (1.5k 星)
git clone https://github.com/jimmc414/onefilellm.gitcd onefilellmpip install -r requirements.txtpython onefilellm.py ./your-project/
它们创建结构化的 AI 上下文文档,让你在 AI 使用和理解你的代码时拥有更强的控制力。
这如何改变了我的工作流
之前:仅使用 IDE
  1. 打开 Cursor 进行开发。
  2. 决定编写一篇 Confluence 文档。
  3. 打开连接到公司租户的 Claude Confluence MCP。
  4. 复制粘贴(或让 Cursor 提供相关文件)。
  5. (在 AI 写完后)意识到上下文不正确。
  6. 从头再来,或者换一套工具做类似的事情。
之后:
  1. 运行一个 bash 命令。
  2. 将文件内容复制粘贴到任何 AI 工具中。
# For JavaScript/TypeScriptnpx repomix# For Python projects  python onefilellm.py ./src/
一个文件,就能在我想要的任何 AI 模型、任何界面上,以我想要的方式处理我拥有的任何代码库上下文。
为何这对我来说是颠覆性的改变
我喜欢快速尝试并比较 Gemini、Claude 和 ChatGPT,我的方法是使用它们各自独立的 Web 应用。我通常会粘贴相同的提示和上下文,然后选择最佳结果。
有了这种新方法,我能够轻松地将整个代码库传递给我想要的工具。
这个命令非常易于使用,现在只需再次运行该工具的命令,就能轻松保持代码库的更新。
当产品团队问我某个功能是如何工作时,这种方法给我带来了极好的效果。我现在可以将上下文放入 AI 工具并提出他们的问题,这让我看起来像拥有了超能力。
这种上下文切换 (context switching) 的能力,在我开始使用这个工具之前是无法实现的。
模型的自由
现在我不再感觉被锁定在任何特定的 IDE 或 AI 工具中。我可以在各种工具之间快速切换:
  • GPT
  • Claude Sonnet
  • Gemini
  • Deep Research
  • Cursor
  • Claude Code
  • GitHub
上下文的控制
我现在可以随心所欲地控制我想要的上下文:
# Only authentication-related coderepomix --include "src/auth/**/*.ts"# Exclude tests and focus on business logic  repomix --ignore "**/*.test.ts" --include "src/core/**/*"# Compress for large codebasesrepomix --compress
团队工作流的可能性
既然你掌握了上下文,就可以用它来帮助你:
  • 代码审查 (Review code) — 检查特定的功能和测试。
  • 新人入职 (Onboarding) — 用它来帮助你创建文档。
  • 开发讨论 — 在开发会议或类似结对解决逻辑问题的场景中使用它。
  • 产品讨论 — 你会看起来像个超级英雄。
  • 安全审计 (Security audits) — 检查是否存在任何重大问题。
我一直在尝试的高级用例
  • 微服务 (Microservices) — 将多个代码仓库打包,并将它们全部用作上下文,以了解它们之间如何交互。
  • 文档生成 — 从零开始完整地构建文档。
  • 模块分析 — 分解代码库的特定部分,以理解如何改进它们。
环境搭建
它的速度非常快,所以你不妨一试。
JavaScript/TypeScript
Python
高级用法
# Custom output for specific analysisrepomix --include "src/**/*.ts" --ignore "**/*.test.ts" --compress# Multiple sources with custom namingpython onefilellm.py ./api/ ./frontend/ --output-file full-stack-context.xml
总结
手动输入上下文可能相当重复,尤其是在处理代码时。
  • 时间 — 不得不一遍又一遍地解释相同的架构。
  • 质量 — AI 在缺少上下文的情况下作出的回应。
  • 控制 — 被锁定在只能使用某一个 AI。
这些工具虽然没有完全解决这些问题,但它们极大地帮助了我,让我在需要时拥有了更多的控制权。
我经常在以下场景中使用上下文:
  • AI Web 应用。
  • 文档编写。
  • 代码仓库架构分析。
  • 生产环境 Bug 调试。
试试这些工具
  • JavaScript/TypeScript — github.com/yamadashy/repomix
  • Python — github.com/jimmc414/onefilellm
我们目前正在利用这些上下文工具开发一些 MVP (最小可行产品) 工具,我迫不及待地想尽快与大家分享。敬请关注后续的文章。
你遇到的最大的 AI 上下文问题是什么?我很想知道,也想了解本文介绍的方法是否有助于解决你的问题。
我与这两个工具没有任何关联。这些见解都来自我作为一名开发者的真实经验。
Popp AI 高级工程师。Cub 联合创始人。热衷于学习和协作。致力于为开发者社区做出积极贡献。

往期推荐

弃用了 Jira 和 Slack后,三分之二的工程师表示:公司的文化变了,感觉之前领导层都没辙!
100 万用户压测:Java、Go、Rust、C++、Node 只有一个扛住了
我为我的初创公司选择了 Golang——我一生中最大的错误
面试官的“阴招”:为什么 Java 里 1==1 为 true,但 1000==1000 却为 false?
你的 JS 变慢就是因为这一行:JSON.parse(JSON.stringify())
敏捷的终结:为何科技巨头正悄然放弃 Scrum

分享

收藏

点赞

在看

最新文章

随机文章