• LiYanbin
    2026-04-01 来自福建
    黄老师,请问面对大型工程代码,让大模型能理解,应该怎么做。由于token开销和上下文空间限制,显然不应该把所有代码都扔给大模型分析,我的想法是不是应该使用某些工具在本地生成框架,索引,然后再按照某种方式提供给大模型。具体的方案应该是怎么样的呢,请老师指点下,谢谢

    作者回复: 非常好的问题,首先是CLaude Code /init是最基本的初始化过程。他会自动条分缕析的拉出框架。 /init 之后,形成了CLAUDE.md 架构地图。这个地图你可以好好看看,这是一切其它提示词的起点。也是大项目的规范,Claude Code的记忆系统,以及我们心中的地图和框架。 其次,Claude Code 的检索不是简单的查找,下面是它刚刚自曝的内置策略,我粘贴进来: ① Git 上下文自动加载 → 自动注入当前分支名、主分支名、最近 commit → 模型不需要你告诉它"项目结构是什么" ② 文件读取去重 → 同一会话中多次 Read 同一个文件,如果内容未变则不重复加载 → 自动节省 Token ③ 大结果落盘 → Grep/Bash 返回结果太大时,完整结果写入临时文件 → 上下文中只保留摘要 + 文件路径引用 ④ 自动压缩(AutoCompact) → 接近上下文窗口上限时,自动摘要早期对话 → CLAUDE.md 和系统提示词在压缩后重新注入 ⑤ LSP 语义理解 → 内置 Language Server Protocol 工具 → 定义跳转、引用查找、调用层次——比 grep 文本匹配精确得多 第三点就是带着问题去阅读,你最希望学习代码库的哪个部分,只有你自己清楚的知道。 Claude Code 能自动搜索和阅读代码,但它不知道对你来说什么重要、什么不重要。这是你需要手动提供的。——这个才考验 每个人的Prompt工程和知识积累。 最后,如果你仍然希望生成一套属于个人的大项目检索框架,可以考虑索引构建,RAG,或者 用 tree-sitter 解析代码的 AST等思路。更具体的,这个课题就比较大,我们可以找另外一个时间或者机会深入分析。

    
    4
  • ACK
    2026-04-02 来自美国
    QueryEngine.ts 应该是 46KB(45.5 KB (46,630 bytes)) 吧,不是 46K 行? ------------------------------------ QueryEngine.ts ← 引擎层:46K 行,LLM 调用 / 流式 / 缓存 / 编排

    作者回复: 谢谢勘误,我们马上调整。

    
    1
  • Geek_955506
    2026-04-03 来自湖南
    用正则表达式读懂你的情绪,这个匹配的全是英文,匹配不到中文,哈哈

    作者回复: 观察完全正确。 比如,坏情绪: /\b(wtf|wth|ffs|omfg|shit(ty|tiest)?|dumbass|horrible|awful| terrible|useless|garbage|trash|stupid|hate|worst|sucks| fuck(ing|ed)?|crap(py)?|bloody|buggy|broken|ridiculous| screw (this|you)|so frustrating|this sucks|damn it)\b/ 这条正则100% 是英文关键词——从 damn it 到 fuck you。 我们做产品可以轻松补充上中文哈。 // 中文挫败感关键词正则 const zhFrustrationRegex = /卧槽|我靠|垃圾|什么鬼|破玩意|有病|脑残|废物|太烂了|服了|无语|崩溃|想砸电脑/; 看到这些 你的Agent马上出来安抚。 对不起,时间有点久,我马上处理。。。。。。 哈哈哈哈哈 。。。 也可以用 jieba 分词 + 情感词典,上NLP,稍微慢一点,成本仍然是微秒级

    
    
  • 许灵
    2026-04-02 来自浙江
    Self-Healing Memory 的“先写数据再写索引”策略和数据库的 WAL(Write-Ahead Logging,先写日志再写数据)是相反的。你能想到为什么 Claude Code 选择了相反的策略吗?在什么场景下,这种选择比 WAL 更合理? 从数据完整性,或原子性上讲,这两个的目的是一样的。 WAL处于性能考虑,先写日志,再写数据,即使数据在写的过程中程序崩溃,也可以通过日志来重新写入,还有事务,数据同步等方面的考量。claude code先写数据再写索引是为了防止写了索引而数据没有写成功引起的数据不一致吧,这里不需要考虑性能问题。感觉好像是两个级别的东西。

    作者回复: 经验之谈,抓住了最核心的一点,就是两者目标相同(一致性),但约束条件完全不同,所以最优策略相反。 两者选择相反策略的根本原因是崩溃后的"自愈能力"不同: 数据库:没有智能,必须靠日志保证机械恢复。WAL 是唯一的安全网 Claude Code:有 LLM 作为智能层,能自主发现并修复不一致,只要确保"索引不会指向不存在的东西"就够了。 所以许灵说的"两个级别的东西",其实指向了一个更深的洞察——有 LLM 参与的系统,容错设计可以比传统系统更简单。 感谢分享!!

    
    
  • 纯齐
    2026-04-01 来自广东
    文中提到 prompt 和模型共同进化,那如果换国产模型的话,效果应该比用官方模型差不少吧。就是不清楚差跑到底多大。

    作者回复: 肯定是有差异的。但是关键看性价比。 具体的差异,群里面大家以及讨论非常多了。 简单任务——一般模型都能搞定 复杂任务——上好模型 思考型任务——上最贵重的模型

    共 2 条评论
    
  • Algorithmic dreamer...
    2026-04-01 来自上海
    黄老师,我在使用claude code 手动进行/compact 50%-70%的上下文,程序执行了20分钟都没有结果,尝试了很多次,老师您有遇到此类现象吗。

    作者回复: 如果不是网络(模型连接)问题,就升级一下Claude Code吧。

    共 2 条评论
    
  • 悟空聊架构
    2026-04-01 来自湖北
    速度真快啊!点赞👍

    作者回复: 是啊,悟空兄弟。 AI时代的节奏和打法不同了,想着先好好沉淀沉淀积累积累,再写文章。 但是感觉大家都希望快速消化热点,只能先开始写,后续再慢慢沉淀积累。

    
    