我如何打包我的代码库,以便 ChatGPT 能真正理解它
发布: (2026年1月19日 GMT+8 18:21)
3 min read
原文: Dev.to
Source: Dev.to
Problem
LLM 聊天应用在回答问题时表现出色——直到你把它们指向真实的代码库。
当项目规模超过一定程度时,上下文就成了瓶颈:文件太多、噪声太多、结构不足。
典型的 LLM 聊天应用在以下情况下效果最佳:
- 上下文是线性的
- 文件按意义而非大小分组
- 引用精确(文件 + 行号)
然而真实的代码库是:
- 层级结构的
- 噪声多的
- 充斥着模型不需要的内容
结果往往是模糊或幻觉式的答案。
Solution: srcpack
与其一次性喂入整个仓库,不如生成一个针对 LLM 优化的快照:
- 代码按领域打包(例如
web、api、docs等) - 每个包都使用文件路径 + 行号进行索引
- 默认遵循
.gitignore - 开始使用无需任何配置
输出为纯文本文件,便于上传或附加到 ChatGPT、Gemini、Claude 等。
该工具名为 srcpack。
Workflows where srcpack shines
- 探索大型仓库 – 提问 “auth 实际位于何处?” 或 “哪些地方涉及计费?”
- 规避上下文限制 – 与其手动粘贴文件,不如附上一个聚焦的包。
- 与非技术同事共享 – 将 LLM 友好的快照上传到 Google Drive 并分享。
产品经理或设计师常见的问题:
- “本周发布了哪些内容?”
- “还有哪些在进行中?”
- “哪些部分风险较大?”
srcpack 像是代码库的轻量只读 AI 接口。
Usage
npx srcpack # or bunx srcpack
默认情况下不需要任何配置。
Documentation & Source
- Docs:
- GitHub:
Closing Thought
我并不认为这就是 LLM + 代码库交互的最终答案,但它在日常工作中带来了非常实用的改进。我很想了解其他人在处理大仓库上下文时是如何使用 LLM 的——尤其是在快速迭代的项目中。