AI Agent 工程方法论在过去四年中经历了四次重大范式转移。这四次转移并非简单的术语更迭,而是一条逐步把人从工作流中抽离的演进路径
2023 ─── PromptEngineering"怎么问 AI,它才更容易答对"2024-25 ─── ContextEngineering"给 AI 看什么信息,它才更容易做对"2026 初─── Harness Engineering"AI 在什么环境里运行,才更安全、更稳定、更可控"2026.6 ─── LoopEngineering"你不再 Prompt Agent,你设计 Loop,让 Loop 去 Prompt Agent
关键洞察:这四层不是替代关系,而是叠加与包含关系——每一层都在前一层的基础上解决新出现的瓶颈。你不能跳过 Prompt Engineering 直接做 Context Engineering,也不能跳过 Harness 直接做 Loop。
核心公式演变

一条主线:把人逐步从工作流中抽离
Prompt → 外化了「意图表达」(措辞能力不再靠人反复试探)Context → 外化了「知识获取」(记忆与检索不再靠人塞入每次对话)Harness → 外化了「执行身体」(工具操作与安全约束不再靠人逐条审批)Loop → 外化了「驱动决策」(自主调度与验收不再靠人主动发起下一轮)
四层对比总表

Prompt Engineering —怎么问AI
定义与起源(2023)
Prompt Engineering是最早成熟的AI工程范式。当时模型的上下文窗口只有4K-8K tokens,无法承载大量背景信息,因此"怎么用有限的字数让模型准确理解意图"成为核心技能
核心理念:通过措辞、示例、格式约束和思维引导,让模型在单次调用中产出更准确、更一致的结果
核心技巧

对智能体的影响:单轮精准度决定多轮天花板
在Agent系统中,每一次工具调用的返回结果都会成为下一轮推理的输入。如果单轮Prompt不够精准,错误会在Agentic Loop中逐轮放大,导致Agent偏离轨道
何时使用
编写高质量的 CLAUDE.md / AGENTS.md 指令 设计 Skill 的触发条件和说明 构造子 Agent 的系统提示词
Claude Code中的体现
在 Claude Code 中,Prompt Engineering 渗透在多个层面:<!-- CLAUDE.md —项目级持久 Prompt -->项目约束- 始终使用TypeScript 严格模式- 拒绝any 类型,必须显式定义接口- 测试覆盖率不低于80%- 不引入超过50KB 的 npm 依赖// settings.json — 系统级指令注入{ "systemPrompt": "你是一位专注于代码质量和安全性的高级工程师。", "agents": { "reviewer": { "prompt": "你是一位挑剔的代码审查者。只标记真实的问题,不要提风格偏好。"
Codex中的体现
Codex 通过层级化的 AGENTS.md 体系实现 Prompt 注入:config.toml[instructions]# 最高优先级:developer_instructions直接在 system message 中developer_instructions= "始终使用 Python 3.12+ 语法。禁止使用已弃用的 API。"#AGENTS.override.md 优先级高于 AGENTS.md#$CODEX_HOME/AGENTS.override.md > $CODEX_HOME/AGENTS.md > GitRoot/AGENTS.md > cwd/AGENTS.md
Context Engineering —给AI看什么
当模型的上下文窗口从 4K 爆炸式增长到 200K、1M tokens,"怎么写 Prompt"不再是最紧迫的问题——"往上下文中放什么信息"才是
四大操作

Prompt Caching(提示缓存)
核心原理:将不变内容(系统指令、工具定义、项目文档)放在 Prompt 前缀,模型服务端会对前缀做精确匹配缓存。缓存命中时,处理成本降低 90%
无缓存的推理成本随对话长度呈二次增长 有缓存后降至线性增长 这就是为什么 CLAUDE.md 和 AGENTS.md 必须放在 Prompt 最前面
更改工具定义 切换目标模型 修改沙箱/审批/CWD 配置
对智能体的影响:决定Agent "知道什么"
信息太少 → Agent 做出天真的决定 信息太多 → Agent 在噪音中迷失(Lost in the Middle) 信息组织混乱 → Agent 误解优先级
何时使用
Agent 反复询问已经回答过的问题 Agent 遗漏关键项目约束 单次对话的上下文经常被打满 团队协作需要共享规则和背景
Claude Code实现详解
CLAUDE.md:持久锚点CLAUDE.mdCLAUDE.md 是整个Context Engineering 体系中最关键的单个文件。它不会随对话压缩而丢失——每个 turn 都从磁盘重新读取。## 设计原则1. 手写60 行 远胜机器生成 600 行2. "What NOTto do" 比 "What to do" 更有价值3. 每条规则都应追溯到一次具体的失败经历(Ratchet 原则)4. 不要把CLAUDE.md 写成百科全书——写地图,不是写词典
Progressive Disclosure(渐进披露)
用户输入 "帮我部署到 AWS"↓Skills 元数据常驻(~1%上下文消耗)├── aws-deploy:"安全部署到 AWS ECS Fargate"├── k8s-deploy:"部署到 Kubernetes 集群"├── vercel-deploy:"一键部署到 Vercel"↓Claude 匹配到aws-deploy → 加载完整 Skill 正文↓执行部署流程
Compact四级压缩

子Agent上下文隔离
父 Agent(完整项目上下文)├── Fork Agent 1(继承父上下文)→ 处理前端任务├── Fork Agent 2(继承父上下文)→ 处理后端任务└── CoordinatorAgent(零继承) → 综合两个结果
Codex实现详解
AGENTS.md层级覆盖
$CODEX_HOME/AGENTS.override.md ← 最高优先级(用户全局覆盖)$CODEX_HOME/AGENTS.md ← 用户全局默认<GitRoot>/AGENTS.md ← 仓库级<GitRoot>/docs/AGENTS.md ← 文档级<cwd>/AGENTS.md ← 当前目录级
输入组装顺序(最大化Prompt Cache命中)
1. Sandbox 描述(developerrole)—— 仅用于 Codex 内置 shell 工具2.developer_instructions(用户配置)3.AGENTS.override.md → AGENTS.md → project_doc_fallback4. Skills 元数据和使用说明5. 环境上下文(工作目录、用户 shell)6. 用户实际消息← 最后放,是唯一的变量
设计原则:静态内容(1-5)前置,变量内容(6)后置——确保前缀完全一致,Prompt Cache持续命中
auto_compact与/responses/compact
当token数超过auto_compact_limit时,Codex调用专门的/responses/compact端点。返回的压缩结果包含type=compaction项和加密的encrypted_content——保留了模型的潜在理解,而不是简单的文本截断
无状态设计(ZDR合规)
支持 Zero Data Retention(零数据保留) 简化了多 Provider 实现 但也意味着 Loop 能力需要外部调度来弥补
Harness Engineering — AI在哪安全运行
定义与核心公式
七大核心组件

对智能体的影响:决定Agent的能力边界与安全底线
Agent 陷入"复读机"死循环 → 护栏拦截 Agent 越权执行危险操作 → 权限管道拒绝 长任务中上下文膨胀导致模型失焦 → 自动压缩 + 子 Agent 隔离 任务崩溃后无法恢复 → Checkpoint + 快照
何时使用
Agent 开始执行 Shell 命令或写文件 需要多个 Agent 并行协作 需要在 CI/CD 中运行 团队多人共用同一个项目配置
Claude Code Harness六大层面
第一层:Memory(记忆系统)

第二层:Skills(技能库)
SKILL.mdfrontmatter---name: aws-deploydescription: 安全部署到AWS ECS Fargatetriggers: - 部署 - deploy - AWS - ECS---# 正文内容(只在触发时加载)
第三层:Tools & Safety(工具与安全)
用户请求执行 Bash 命令↓Permission Pipeline检查├── allow 列表匹配?→ 放行├── deny 列表匹配?→ 硬拒绝├── 需要用户确认?→ 弹出权限对话框└── 模式转换(Plan/Approve/Auto)
第四层:Multi-agent(多智能体)

第五层:Lifecycle(生命周期)
{"hooks": {"SessionStart": [{"command": "pythonscripts/check_env.py"}],"PreToolUse": [{"matcher": "Bash","command":"scripts/bash-guard.sh \"$CLAUDE_TOOL_INPUT\""}],"PostToolUse": [{"matcher":"Write|Edit","command": "ruff check--fix \"$CLAUDE_FILE_PATH\" 2>&1 | tail -20 || true"}],"Stop": [{"command": "maketest-fast 2>&1 | tail -30"}]}}
Hook信任是全有或全无的:Hook 脚本在主流中执行,exit 2 可以直接阻断 Agent 循环。这是 Harness 中最强的确定性强制机制
Codex Harness架构
config.toml全局配置
[model]provider ="openai"model ="gpt-5.5"[approval]mode ="default"default | never |always[sandbox]mode ="workspace-write" # read-only| workspace-write | danger-full-access[tools]mcp_servers =["github", "slack", "jira"]
Sandbox三级安全

Symphony:多Agent编排器
持续轮询项目管理看板(Linear/Jira) 将 Issue 映射到专用 Agent 工作区 Agent 自主完成完整的 PR 生命周期:编写 → Review → CI → 合并冲突 → Merge 人类只做二元决策(可合并 / 不可合并) 实际效果:团队 PR 落地量提升
Agent-Legible Codebase(Agent可读的代码库结构)
project-root/├── AGENTS.md~100 行导航地图(索引,不是百科全书)├──ARCHITECTURE.md # 顶层领域地图├── docs/│ ├── architecture/LAYERS.md # 层级结构 + 强制规则│ ├── golden-principles/ # DO/DON'T 模式,每条 30-60 行│ ├── SECURITY.md│ └── design-docs/ # 架构决策记录├──tests/architecture/ # 边界强制测试├──scripts/gc/ # 熵垃圾回收脚本└──.github/workflows/ # CI + 每周GC 扫描
Harness实战12条原则

下一篇继续更新循环工程
我是大橘子爱学习期待你的分享
感谢支持
夜雨聆风