我如何打包我的代码库,以便 ChatGPT 能真正理解它

发布: (2026年1月19日 GMT+8 18:21)
3 min read
原文: Dev.to

Source: Dev.to

Problem

LLM 聊天应用在回答问题时表现出色——直到你把它们指向真实的代码库。
当项目规模超过一定程度时,上下文就成了瓶颈:文件太多、噪声太多、结构不足。

典型的 LLM 聊天应用在以下情况下效果最佳:

  • 上下文是线性的
  • 文件按意义而非大小分组
  • 引用精确(文件 + 行号)

然而真实的代码库是:

  • 层级结构的
  • 噪声多的
  • 充斥着模型不需要的内容

结果往往是模糊或幻觉式的答案。

Solution: srcpack

与其一次性喂入整个仓库,不如生成一个针对 LLM 优化的快照:

  • 代码按领域打包(例如 webapidocs 等)
  • 每个包都使用文件路径 + 行号进行索引
  • 默认遵循 .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 的——尤其是在快速迭代的项目中。

Back to Blog

相关文章

阅读更多 »

逃离后室

Escape the Backrooms 是一款第一人称恐怖冒险游戏,由 Fancy Games 开发,Secret Mode 发行。它包含超过 28 个主要可玩关卡,…

理解网络设备

封面图片:Understanding Network Devices https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2F...