--- title: fb134668f09a3b45c1813781f912ae4e7e26294d3b60332606983b946944c328 source_url: https://mp.weixin.qq.com/s/YgGW92VBP8s846yzIxjVWQ publish_date: 2026-04-30 tags: [wechat, article, claude, agent, harness, coding, llm, openclaw] review_value: 7 review_confidence: 7 review_recommendation: neutral ingested: 2026-05-16 sha256: 65beb4cec4656d2dd939df1407b6fc72212201327da6b99134f53534d64a3f92 --- # fb134668f09a3b45c1813781f912ae4e7e26294d3b60332606983b946944c328 > 本文原文来自微信公众平台(飞樰/阿里云开发者),仅供存档和个人学习研究之用。 > 原始URL:https://mp.weixin.qq.com/s/YgGW92VBP8s846yzIxjVWQ > 发布日期:2026-04-20 | 来源:阿里云开发者 > SHA-256: `fb134668f09a3b45c1813781f912ae4e7e26294d3b60332606983b946944c328` --- 深度解析 Claude Code 在 Prompt / Context / Harness 的设计与实践 原创 飞樰 阿里云开发者 2026年4月20日 08:32 浙江 ## 核心摘要 Claude Code 从 Prompt Engineering、Context Engineering、Harness Engineering 三大维度实现顶级 AI Coding Agent 工程设计。 ### Prompt Engineering:12 模块动态组装 System Prompt 由 7 个静态模块 + `__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__` 边界标记 + 10+ 个动态模块构成。 **静态 7 模块**:身份介绍、系统行为规则、任务执行指南、操作安全守则、工具使用指南、语气和风格、输出效率 **动态 10+ 模块**:会话特定指导、自动记忆(loadMemoryPrompt)、环境信息、语言偏好、输出风格、MCP 服务器指令、临时文件目录、函数结果清理、工具结果总结、长度锚点、Token 预算、KAIROS 简报 **5 级优先级决策链**: 1. `overrideSystemPrompt`(强制覆盖) 2. `Coordinator prompt`(协调器专用) 3. `Agent prompt`(用户定义 Agent) 4. `customSystemPrompt`(--system-prompt 参数) 5. `defaultSystemPrompt`(标准 prompt) **关键文件**: - `constants/prompts.ts`:`getSystemPrompt()` — 静态/动态分块组装 - `utils/systemPrompt.ts`:`buildEffectiveSystemPrompt()` — 5 级优先级决策 - `constants/systemPromptSections.ts`:`splitSysPromptPrefix()` — KV Cache 友好分块 - `queryContext.ts`:`fetchSystemPromptParts()` — 并行获取三大组件 **上下文注入**: - `appendSystemContext()` → Git 状态快照追加到 System Prompt 末尾 - `prependUserContext()` → CLAUDE.md 内容 + 当前日期作为 `` 插入用户消息最前面 ### Context Engineering:三层压缩 + Memdir **CLAUDE.md 四层路径体系**: - `~/.claude/CLAUDE.md` → 个人全局偏好 - 项目根目录 `CLAUDE.md` → 团队共享规范 - `CLAUDE.local.md` → 个人私有指令 - `.claude/rules/*.md` → 按文件类型分类规则 **三级渐进式压缩**: | 层级 | 名称 | 成本 | 触发条件 | |------|------|------|----------| | Layer 1 | MicroCompact | 零 | 时间阈值 / KV Cache 边界 | | Layer 2 | Session Memory Compact | 零 | ≥10,000 tokens 且 ≥5 条消息 | | Layer 3 | Full LLM Compact | 高 | 前两层不足 | - `src/services/compact/microCompact.ts`:COMPACTABLE_TOOLS 白名单(Bash/Read/Grep/Glob),Edit/Write 完整保留 - `services/compact/compact.ts`:`compactConversation` — 强制 9 段式结构化摘要模板 **Memdir 四类记忆**:User / Feedback / Project / Reference + Sonnet 语义检索(`memdir/findRelevantMemories.ts`,最多 5 条) ### Harness Engineering:安全 + 控制 + 钩子 **Permission Engine 三行为模型**:Allow(低风险放行)/ Deny(高危阻断)/ Ask(用户确认)。优先级:settings.json → CLI 参数 → 命令行规则 → session 规则。 **bubblewrap 沙箱**(`sandbox-adapter.ts`,约 986 行):文件系统只读挂载 + Network/PID 命名空间 + 用户权限降级 **async function* 主循环**:`queryLoop` — 6 步 Pipeline,流式反馈,优雅取消 - 上下文超长保护:自动触发三级压缩 - 输出截断自动续写:最多 3 次 `continue` - 网络波动:指数退避重试 **8 类内置 Agent**: | Agent | 用途 | 模型 | 权限 | |-------|------|------|------| | General-Purpose Agent | 万能打工人 | 默认 | tools: ['*'] | | Explore Agent | 代码侦察兵 | Haiku | 只读,不加载 CLAUDE.md | | Plan Agent | 软件架构师 | 父模型 | 只读,输出 Critical Files | | Verification Agent | 质量检验官 | — | 红蓝对抗,5 种验证策略 | | Guide Agent | 使用说明书 | Haiku | dontAsk | | Statusline Setup Agent | 状态栏安装 | Sonnet | 仅 Read/Edit | | Fork Sub Agent | 进程分身 | — | 共享 Prompt Cache,Worktree 隔离 | **20+ 种 Hook 事件**: - 工具:`PreToolUse` / `PostToolUse` / `ToolError` - 会话:`SessionStart` / `SessionEnd` / `SessionPause` / `SessionResume` - 消息:`PreSampling` / `PostSampling` / `UserPromptSubmit` - 文件:`PreFileEdit` / `PostFileEdit` / `PreFileWrite` / `PostFileWrite` Hook 可返回结构化 JSON 数据实现阻断执行、动态篡改、反馈注入。超时:`TOOL_HOOK_EXECUTION_TIMEOUT_MS` = 10 分钟。 ### 彩蛋 - **caffeinate**:macOS 防休眠,每 4 分钟重启进程,5 分钟超时自动退出 - **Anti-Distillation**:`anti_distillation: ['fake_tools']` + 精简输出模式隐藏工具调用链 - **Undercover Mode**:卧底模式禁止 commit 含 "Claude Code" / "Co-Authored-By" - **Dogfooding**:`process.env.USER_TYPE === 'ant'` 区分内部员工 - **用户情绪辱骂检测**:正则匹配负面关键词,弹反馈调查 - **荒诞加载动词**:100+ 疯狂动词列表随机选择 - **Buddy System**:Mulberry32 伪随机,6 种稀有度,5 大属性(DEBUGGING/PATIENCE/CHAOS/WISDOM/SNARK) --- ## 知识关联 - [[concepts/openclaw-architecture]] — OpenClaw 对比参照,同一作者三维度方法论 - [[entities/claude-code-agent-engineering]] — Claude Code Agent 工程设计 - [[entities/hermes-agent]] — Agent 系统设计方法论