avatar
文章
599
标签
109
分类
29
首页
归档
分类
标签
关于
xhj的博客
首页
归档
分类
标签
关于

xhj的博客

06-上下文管理
发表于2026-05-06|Claude Code
第 6 篇:上下文管理 — 无限对话的秘密 本篇是《深入 Claude Code 源码》系列的第 6 篇。我们将深入分析 Claude Code 如何在有限的 context window 内支撑无限长度的对话——从 token 预算管理、多级压缩策略,到文件状态缓存与 compact 后恢复的设计。 范围说明:上下文的”构建”(System Prompt 组装、CLAUDE.md 注入、git status 获取)已在第 4 篇中覆盖,缓存策略的横切视角将在第 7 篇中展开。本篇聚焦于上下文构建完成后的压缩、清理与恢复——即当 context window 不够用时,Claude Code 如何在不中断对话的情况下释放空间并重建必要的工作上下文。 为什么上下文管理如此重要?LLM 的 context window 是有限的。Claude 的模型通常有 200K token 的窗口(部分模型支持 1M),看起来很大,但在实际使用中消耗极快: 一次 System Prompt 可能占 5K-15K token 用户附带的 CLAUDE.md 文件可能占 3K-10K token...
05-对话循环
发表于2026-05-05|Claude Code
第 5 篇:对话循环 — query.ts 如何驱动一次完整的 AI 交互 本篇是《深入 Claude Code 源码》系列的第 5 篇。我们将深入 query.ts 这个 1729 行的核心文件,揭示一次完整的 AI 对话是如何被驱动的——从消息组装、API 调用、工具执行到错误恢复,理解这个 Agent 运行时的”心跳”。 为什么需要理解对话循环?如果把 Claude Code 比作一个人体,那 query.ts 就是它的心脏——对话循环的编排入口。当然,心脏需要血管系统才能工作:重试逻辑在 services/api/withRetry.ts,工具执行在 services/tools/,停止钩子在 query/stopHooks.ts,环境配置在 query/config.ts。本篇会覆盖这个完整的”循环系统”,而不仅仅是 query.ts 一个文件。每一次用户提问,都会触发这个循环: 1用户输入 → 组装消息 → 调用 API → 模型返回 → 执行工具 → 结果回传 → 模型继续... 这个循环看似简单,但实际的工程复杂度远超预期。一个生产级的 AI 对话循环需要处理...
04-System-Prompt-工程
发表于2026-05-04|Claude Code
第 4 篇:System Prompt 工程 — 精密控制模型行为的提示词体系 本篇是《深入 Claude Code 源码》系列的第 4 篇。我们将深入 constants/prompts.ts(约 915 行)这个核心文件,揭示 Claude Code 如何通过精心设计的 System Prompt 架构,在「精确控制模型行为」和「最大化 Prompt Cache 命中率」之间取得平衡。 为什么 System Prompt 值得单独一篇?在大多数 AI 应用中,System Prompt 就是一段硬编码的字符串。但在 Claude Code 这样的生产级 AI Agent 中,System Prompt 是一个工程系统: 它不是一段话,而是十几个独立模块的组装结果 — 每个模块有独立的生命周期和缓存策略 它直接影响 API 成本 — Anthropic 的 Prompt Cache 机制可以大幅降低重复 token 的费用,但前提是 prompt 前缀保持稳定 它是模型行为的根基 — 代码风格约束、安全指令、工具使用优先级、输出格式,全部编码在这里 它有内外版差异 — 通过...
03-状态管理
发表于2026-05-03|Claude Code
第 3 篇:状态管理 — React 与非 React 世界的状态桥接 本篇是《深入 Claude Code 源码》系列的第 3 篇。我们将深入分析 Claude Code 如何用一个 35 行的极简 Store 实现,桥接 React UI 与非 React 业务逻辑之间的状态管理,并理解三层状态架构的设计哲学。 为什么状态管理值得单独一篇?Claude Code 面临一个独特的状态管理难题:它既是一个 React 应用,又不完全是。 终端 UI 用 Ink(React for CLI)渲染,组件需要响应式的状态更新。但核心业务逻辑 —— API 调用、工具执行、Agent 编排 —— 运行在 React 树之外。一次工具调用的结果需要同时: 更新 React 组件(显示在终端 UI 上) 被非 React 的 query.ts 对话循环读取 被 Agent 子系统使用(可能运行在隔离的上下文中) 如果用 Redux/Zustand 这类库?太重了。React 内置的 useState/useReducer?无法从 React 树外部访问。模块级全局变...
02-启动优化
发表于2026-05-02|Claude Code
第 2 篇:启动优化 – 毫秒级 CLI 启动的工程艺术 本篇是《深入 Claude Code 源码》系列的第 2 篇。我们将深入 cli.tsx 和 main.tsx 的启动路径,揭示 Claude Code 团队如何将 CLI 启动时间优化到毫秒级别。 为什么启动速度如此重要?CLI 工具的第一印象就是启动速度。用户在终端输入 claude 并回车的那一刻,心理预期是”即时响应”。如果启动需要 2 秒,用户会觉得卡顿;如果需要 5 秒,用户会开始怀疑是不是命令输错了。 对于 Claude Code 这样一个重量级应用——近 1900 个 TypeScript 文件、依赖 React/Ink/Yoga 渲染引擎、需要连接 MCP 服务器和 Anthropic API——要做到毫秒级启动,绝非易事。 本篇将揭示 Claude Code 采用的 6 大启动优化策略: 快速路径(Fast Path):对简单命令实现零 import 返回 侧效果前置(Side-Effect Hoisting):利用模块求值时间并行执行 I/O API 预连接(Prec...
01-项目全景
发表于2026-05-01|Claude Code
第 1 篇:项目全景 — 一个 AI CLI 产品的技术蓝图 本篇是《深入 Claude Code 源码》系列的开篇。我们将从技术栈选型、启动链路、模块依赖三个维度,建立对整个项目的全局认知。 为什么要从全景开始?当你面对一个约 1900 个源码文件(其中 TypeScript 文件约 1884 个)、核心文件超过 4000 行的大型项目时,最大的挑战不是读懂某个函数,而是不知道从哪里开始读。 Claude Code 是 Anthropic 公司开发的 AI 驱动命令行编程助手。它不是一个简单的 API wrapper —— 它是一个完整的 AI Agent 运行时,包含了从终端 UI 渲染、多 Agent 编排、工具系统、权限安全到 Prompt 工程的全技术栈。理解它的全貌,等于理解了一个生产级 AI 产品的完整架构。 本篇将回答三个核心问题: 为什么选择这些技术? — Bun + TypeScript + Ink + Commander.js 的技术栈选型逻辑 程序是怎么启动的? — 从 cli.tsx 到 REPL 的启动链路 代码是怎么组织的? — 约 1900 个...
legal-and-compliance
发表于2026-04-19|Claude Code
法律和合规 Claude Code 的法律协议、合规认证和安全信息。 Starting June 15, 2026, Agent SDK and `claude -p` usage on subscription plans will draw from a new monthly Agent SDK credit, separate from your interactive usage limits. See [Use the Claude Agent SDK with your Claude plan](https://support.claude.com/en/articles/15036540-use-the-claude-agent-sdk-with-your-claude-plan) for details. 法律协议许可证您对 Claude Code 的使用受以下条款约束: 商业条款 - 适用于 Team、Enterprise 和 Claude API 用户 消费者服务条款 - 适用于 Free、Pro 和 Max 用户 商业协议无论您是直接使用 ...
jetbrains
发表于2026-04-18|Claude Code
JetBrains IDEs 在 JetBrains IDE(包括 IntelliJ、PyCharm、WebStorm 等)中使用 Claude Code Claude Code 通过专用插件与 JetBrains IDE 集成,提供交互式差异查看、选择上下文共享等功能。 支持的 IDEClaude Code 插件适用于大多数 JetBrains IDE,包括: IntelliJ IDEA PyCharm Android Studio WebStorm PhpStorm GoLand 功能 快速启动:使用 Cmd+Esc(Mac)或 Ctrl+Esc(Windows/Linux)直接从编辑器打开 Claude Code,或点击 UI 中的 Claude Code 按钮 差异查看:代码更改可以直接在 IDE 差异查看器中显示,而不是在终端中显示 选择上下文:IDE 中的当前选择或标签页会自动与 Claude Code 共享。Read 拒绝规则会阻止对匹配文件的此共享 文件引用快捷方式:使用 Cmd+Option+K(Mac)或 Alt+Ctrl+K(Linux&#x...
gitlab-ci-cd
发表于2026-04-16|Claude Code
Claude Code GitLab CI/CD 了解如何将 Claude Code 集成到您的 GitLab CI/CD 开发工作流中 Claude Code for GitLab CI/CD 目前处于测试阶段。随着我们完善体验,功能和特性可能会发生变化。 此集成由 GitLab 维护。如需支持,请参阅以下 GitLab issue。 此集成基于 [Claude Code CLI and Agent SDK](/zh-CN/agent-sdk/overview) 构建,可在您的 CI/CD 作业和自定义自动化工作流中以编程方式使用 Claude。 为什么在 GitLab 中使用 Claude Code? 即时 MR 创建:描述您的需求,Claude 会提议一个完整的 MR,包含更改和说明 自动化实现:使用单个命令或提及将问题转化为可工作的代码 项目感知:Claude 遵循您的 CLAUDE.md 指南和现有代码模式 简单设置:向 .gitlab-ci.yml 添加一个作业和一个掩码 CI/CD 变量 企业就绪:选择 Clau...
github-actions
发表于2026-04-15|Claude Code
Claude Code GitHub Actions 了解如何将 Claude Code 集成到您的开发工作流中,使用 Claude Code GitHub Actions Claude Code GitHub Actions 为您的 GitHub 工作流带来了 AI 驱动的自动化。只需在任何 PR 或 issue 中简单地提及 @claude,Claude 就可以分析您的代码、创建拉取请求、实现功能和修复错误 - 所有这些都遵循您项目的标准。如需在每个 PR 上自动发布评论而无需触发器,请参阅 GitHub Code Review。 Claude Code GitHub Actions 建立在 [Claude Agent SDK](/zh-CN/agent-sdk/overview) 之上,该 SDK 支持将 Claude Code 以编程方式集成到您的应用程序中。您可以使用该 SDK 构建超越 GitHub Actions 的自定义自动化工作流。 **Claude Opus 4.8 现已推出。** Claude Code GitHub Actions 默认使...
1…131415…60
avatar
xhj
相关学习笔记
文章
599
标签
109
分类
29
Follow Me
公告
欢迎来到我的博客
最新文章
14-FastAPI接口与项目闭环2026-10-14
13-主智能体搭建与异步执行2026-10-13
12-RAGFlow子智能体与知识库准备2026-10-12
11-数据库查询子智能体与MySQL工具2026-10-11
10-网络搜索子智能体与Tavily工具2026-10-10
分类
  • AI Agent101
  • Algorithm20
  • Backend Dev74
  • Big Data2
  • C/C++2
  • Claude Code118
  • Computer Basics18
  • Computer Network2
标签
JDBC Semaphore Hadoop Kafka HBOS Process Backend Dev Gradient Descent GCN Cross validation Trie Docker MLP Isolation Forest Gradient descent PyOD NMF Tornado TwoPointer Math Algorithm RabbitMQ OLSE dijkstra Filter Bayesian optimization PCA Wapper Git MonotoneStack List Dubbo Linux JVM Architecture JVM Redis JVM Performance Monitoring Embedding TCP/IP Stream API
归档
  • 十月 2026 14
  • 九月 2026 17
  • 八月 2026 30
  • 七月 2026 24
  • 六月 2026 26
  • 五月 2026 25
  • 四月 2026 16
  • 三月 2026 20
网站信息
文章数目 :
599
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By xhj框架 Hexo 8.1.2|主题 Butterfly 5.5.4