Skip to content

懒人AI手册:AI Agent 四层架构完全教程

从看懂概念到动手搭建到诊断排错的系统教程


目录


01. 你为啥总听到这四个词

你打开知乎、刷推特、翻公众号,想学怎么用 AI 真正干活——不是聊天解闷,是让它替你做事。

结果迎面砸过来四个词:prompt、context、harness、loop。

每个词单独看好像都认识,连起来却像天书。更让人崩溃的是,这四个词出现的时候,往往带着一股"你要是不懂这个就落伍了"的味道——"prompt 工程已经过时了""现在都讲 context engineering 了""2026 年的核心是 loop"。

听上去像是四个互相取代的新潮流,谁不知道最新那个谁就 out 了。

这是最大的一个错觉。

四个词不是四代,是四个同时干活的部件

这四个词不是"prompt 死了、context 上位、harness 接班、loop 称王"这种改朝换代。它们是任何一个 AI agent 在干活的任何一个瞬间,都必须同时具备的四个部件。

就像一个人干活,你不会说"手过时了、现在流行用脑子"——手、脑、眼、腿是同时在用的,只是不同的活更吃哪个部件而已。

四词简史

名字是新的,东西是旧的。

  • 2020-2022:prompt 兴起,GPT-3 后 prompt engineering 成为显学
  • 2025 年中:context 被命名。Tobi Lütke(Shopify CEO)→ Karpathy → Simon Willison,八天接力,context engineering 一词扩散
  • 2026 上半年:harness 和 loop 雪崩式被命名。Junyang Huang 公式"Agent = Model + Harness",Addy Osmani 命名 loop engineering
  • 反常识:loop 机制 2022 年(ReAct 论文)就有了,名字 2026 年才来,晚了 4 年

启示:别追名词,看瓶颈往哪走。


02. 一张同心圆看懂四层

四层的关系是嵌套的同心圆

text
LOOP 循环 —— 让它自己一圈圈转
  HARNESS 装置 —— 模型的手脚和护栏
    CONTEXT 上下文 —— 它当下看得见的全部信息
      PROMPT 提示词 —— 你写给它的那段话
        MODEL 模型(大语言模型本体)

一句话:prompt ⊂ context ⊂ harness ⊂ loop。层层嵌套,不是层层取代。

用一台电脑就能讲明白

这个比喻来自 Karpathy(前特斯拉 AI 总监、OpenAI 创始成员):

大语言模型就是一台新型电脑的 CPU;上下文窗口是它的内存;我们这些用 AI 的人,正在扮演这台新电脑的"操作系统"。

同心圆的层在电脑比喻里是一句话
model 模型CPU干"算"这件事的核心,但光有 CPU 是台裸机
prompt 提示词写给 CPU 的指令你这一步具体要它算什么
context 上下文内存(RAM)这一步算的时候,内存里摆着哪些数据
harness 装置设备驱动 + 权限管理把外设接上,管好谁能动什么
loop 循环调度器 + 看门狗决定程序何时启动、何时停止、卡死了怎么办

越往外的层,吃的越是几十年的老工程本事,而不是什么新的 AI 魔法。这也是为什么推动 harness、loop 这些概念的,大多是资深工程师,而不是玩 prompt 玩得花的人。

怎么读这篇教程

区块章节你如果在问
看懂区01-03"这几个词到底啥意思"
动手区04-07"我该怎么搭"
诊断区08-09"搭了但跑不好怎么办"

无代码路线(扣子 Coze / Dify)和代码路线(Python + Claude API)双线并行,你选哪条都行。


03. 四个圈到底是啥

prompt:你说的那句话

prompt 就是你写给 AI 的那段话本身。写得好它就答得好,写得烂它就答得烂。

好的 prompt 示例(小红书文案):

text
【角色】你是一个小红书爆款文案写手
【任务】请为这款防晒霜写一篇种草笔记
【步骤】1.抓痛点(防晒闷痘)2.讲卖点(轻薄透气)3.给场景(夏天通勤)
【约束】字数300以内,口语化,结尾加互动引导
【样例】输入:防晒霜 → 输出:姐妹们!这个防晒我真的会谢...

context:工作台 / 内存

context 是模型这一步"看得见"的全部信息。不只有你刚写的那句话,还包括之前聊过的、刚查到的资料、上一步的结果。

context 有两个物理限制:

  • 会满:上下文窗口有上限(如 200K token)
  • 会腐烂:东西堆多了 AI 会"变笨",这叫 context rot,大约 3 万 token 开始明显退化

管好 context 的核心不是往里加,而是精准地减

harness:手脚和护栏

模型本质是个"缸中之脑"——没手脚、没记忆、还会高估自己。harness 就是给它配的鞍具缰绳,包含五大件:

  1. 工具(Tools):让它能读文件、搜网页、调 API
  2. 记忆(Memory):跨轮次记住关键信息
  3. 权限(Permissions):谁能动什么、哪些操作要人工确认
  4. 沙箱(Sandbox):限制它的活动范围,防止误删
  5. 护栏(Guardrails):输入输出过滤,防止越界

有句话很锋利:"如果你不是那个模型,那你就是 harness。"

loop:自己转的发条

loop 是让 agent 自己一圈圈转的自治循环:取信息 → 想一步 → 做一步 → 看结果 → 再来一圈,直到达成目标或被叫停。

loop 最要命的不是怎么转,而是何时停

业界真实案例:4 个 agent 没设停止条件,连转 11 天,烧掉 4.7 万美元。

一次干活四层同时在场

text
你输入:"帮我查下今天的竞品价格,整理到表格里"

【loop 启动第1轮】
  → harness 调用浏览器工具,打开竞品网站
    → context 装入:你的指令 + 上一步获取的网页内容
      → prompt 生效:"提取价格信息,整理成表格"
        → model 计算:解析网页,提取价格
      ← prompt 输出结果
    ← context 更新:加入提取结果
  ← harness 工具执行完毕,返回数据
← loop 判断:是否完成?是 → 停止

四层在这一圈内全部参与了。

两组判别测试

prompt vs context:纠结"这句话怎么写才更清楚"是 prompt 的事;纠结"这一步该让它看到哪些信息"是 context 的事。一个管措辞,一个管信息流。

harness vs loop:关掉电脑它还在跑吗?关机就停 → 最多到 harness;关机后云端还在接着转 → 才进 loop。

一句话:关掉电脑还在跑的,是 loop。


04. 日常四层操作

prompt 三个写法

  1. 结构化:用标签组织(【角色】【任务】【步骤】【约束】【样例】)
  2. 给角色:让模型扮演特定身份("你是一个资深数据分析师")
  3. 给例子:少样本提示,但别给多——3-5个够了,多了反而过拟合

context 三个动作

  1. 只喂相关:跟这步无关的信息不要放进来
  2. 压缩可还原:长文档先摘要,保留可追溯的原文链接
  3. 防 context rot:关键信息放两头(开头和结尾),中间放支撑材料

harness 三件事

  1. 配工具:给它能干活的工具,定义好工具的 schema(参数、返回值)
  2. 设权限:哪些操作它可以自己做,哪些必须人工确认
  3. 加可观测:每一步都记日志,出问题能回溯

loop 三道闸

  1. 目标闸:明确什么算"完成"
  2. 停止条件闸(三道硬停)
    • 最大轮次上限(max iteration)
    • 无进展自动停(no-progress,看状态变化不是数步数)
    • 花费/token 上限
  3. 预算上限闸:烧到 X 美元强制停

四层联调

无代码路线(Coze / Dify):

在 Coze 中创建 Bot → 配置 prompt → 上传知识库(context)→ 添加插件(harness)→ 设置工作流循环条件和终止规则(loop)。

代码路线(Python + Claude API):

python
import anthropic

client = anthropic.Anthropic()

# prompt
system_prompt = """你是一个资料整理助手。
步骤:1.读取文件 2.提取关键信息 3.整理成表格
约束:只输出表格,不要解释。"""

# loop 骨架
max_iterations = 10
no_progress_limit = 3
budget_limit = 1.0  # 美元

for i in range(max_iterations):
    # harness: 调用工具
    result = client.messages.create(
        model="claude-sonnet-4-20250514",
        max_tokens=4096,
        system=system_prompt,  # prompt 层
        messages=current_context,  # context 层
        tools=tool_definitions,  # harness 层
    )
    
    # loop: 检查停止条件
    if is_task_complete(result):
        break
    if cost_so_far > budget_limit:
        break
    if not has_progress(result, last_state):
        no_progress_count += 1
        if no_progress_count >= no_progress_limit:
            break

05. 从零搭建一个 Agent

开工 checklist

决策项选项建议
路线无代码 / 代码第一次做选无代码(Coze),需要灵活控制选代码
模型Claude / GPT / DeepSeek工具调用首选 Claude,性价比选 DeepSeek
工具读文件 / 搜网页 / 调 API按任务需要配,别一上来全配
停止条件三道硬停一个都不能少

按四层依次搭建

第1层 prompt:写好系统提示词,明确角色、任务、步骤、约束、输出格式。

第2层 context:设计信息流——每一步该让模型看到什么。做减法比做加法重要。

第3层 harness:配工具(定义 schema)、设权限(哪些自动执行、哪些要确认)、加日志。

第4层 loop:装三道硬刹车——最大轮次、无进展检测、预算上限。

错层修复诊断

你观察到的症状病灶层对症处方
理解错任务 / 格式跑偏 / 答非所问prompt把意图/角色/步骤/约束写明,关键规则放结尾
答得对但用错信息 / 一长就变笨 / 忘了前文context做减法、压缩、剪枝,关键信息放头尾
编造参数 / 读不到文件 / 越权乱删 / 失忆harness查工具 schema、权限、沙箱、日志——别改 prompt
停不下来 / 烧钱 / 原地打转 / 假装完成loop装三道硬刹车,"完成"保留人工审查

一条铁律:改 prompt 改了三次还不见好,停手,往外一圈查。

完整失败案例:死循环烧 $2,847

一个开发者做了个"自动修 bug"的 agent,完成条件定义成"所有测试通过"。但代码库里有个测试因环境问题永远不可能通过。

没装最大迭代 → 跑了 4 小时 没装无进展检测 → agent 反复改同一处代码 没装预算上限 → 烧掉 $2,847

三道闸任何一道单独存在都能把 $2,847 的灾难缩小成一次小麻烦。


06. 三个真实案例

案例一:自动整理资料的 Agent(成功)

任务:每天自动读取 10 个行业新闻源,提取关键信息,整理成日报。

配置要点
prompt"你是行业分析师,提取关键信息整理成结构化日报"明确输出格式
context当天新闻原文 + 历史日报模板只放当天 + 模板,不放历史新闻
harness网页抓取工具 + 文件写入工具 + 日志写入需人工确认
loop最大3轮、预算$0.5/天跑完即停

结果:稳定运行 3 个月,日均成本 $0.3,人工只做最终审阅(约2分钟)。

案例二:自动改 Bug 的编码 Agent(翻车 → 修复)

初始配置:完成条件 = "所有测试通过"。

翻车:有个测试因环境问题永远过不了。agent 反复修改代码,越改越乱,4小时烧 $2,847。

修复

  • 完成条件改为"核心测试通过 + 非核心测试跳过"
  • 加最大迭代 15 轮
  • 加无进展检测:连续 3 轮代码没变化就停
  • 加预算上限 $5
  • 改完后日均 $0.8,成功率 85%

案例三:一人公司内容流水线 Agent

任务:自动完成"选题→研究→初稿→配图→排版"全链路。

配置
prompt每个环节独立 prompt(选题 prompt / 研究 prompt / 初稿 prompt)
context选题库 + 风格参考 + 品牌指南
harness搜索工具 + 图片生成工具 + 飞书文档写入
loop5 步固定流程,每步独立 loop,完成后人工审阅再进下一步

关键设计:不是一个大 loop 跑完全程,而是拆成 5 个小 loop,每步完成都暂停等人工确认。控制可以外包,判断不能外包。

三案例共性

  1. 每个成功的 agent 都有明确的停止条件
  2. 每个翻车的案例都死在 loop 没装刹车
  3. 人工审阅是最后一道关——不省

07. 搭你的 AI 知识库(RAG 实战)

知识库 = context 工程的极致

RAG(检索增强生成)的本质就是:在 context 层做工程——把海量信息存到外面,每一步只把相关的片段喂给模型。

RAG 完整流程

text
准备资料 → 清洗/切块 → 嵌入向量 → 存入向量库

用户提问 → 查询向量库 → 取回相关片段 → 塞进 context → model 生成回答

第一步:准备资料

  • 收集:PDF、网页、视频字幕、内部文档
  • 清洗:去掉页眉页脚、重复内容、格式噪音
  • 切块:按语义切(不是按字数),每块 200-500 字为宜

切块的黄金法则:一块讲清一件事。别为了凑字数把两个主题拼一块。

第二步:建检索

  1. 嵌入(Embedding):把文本块转成向量(一串数字),语义相近的文本向量也相近
  2. 向量库:存入向量,支持相似度搜索
  3. 查询:用户提问也转成向量,在库里找最相似的文本块

第三步:接进 context

把检索回来的文本块塞进 context,让模型基于这些信息回答。

关键问题:

  • 喂多少:3-5 个最相关片段,不要贪多(防 context rot)
  • 怎么喂:放在 prompt 之后、问题之前,用标签包裹
  • 防噪声:检索回来的不一定都相关,可以让模型自己判断

第四步:加 Agent 层(进阶)

让 agent 自己决定查不查、查什么、查几次

text
用户提问 → agent 判断是否需要查知识库
  → 需要:生成查询 → 检索 → 看结果够不够
    → 不够:换个关键词再查(loop)
    → 够了:整理回答
  → 不需要:直接回答

工具选型对比

工具类型费用适合场景
Dify开源平台免费/付费快速搭建 RAG,可视化
Coze平台免费零代码快速验证
LangChain代码框架免费灵活控制,需要编程
LlamaIndex代码框架免费专注 RAG,文档丰富
自建代码免费最大灵活度,维护成本高

RAG 翻车三件套

症状原因修复
检索不准切块太粗/嵌入模型差调切块策略、换嵌入模型
context 塞爆取回太多片段限制 top-k(3-5个),加相似度阈值
答非所问检索回来的是噪声加 rerank(重排序),让模型自己判断相关性

番外:Agent Skills 入门

Skill 是"跨 prompt + context + harness 的打包模块"——把一套完整的工具使用流程封装好,可以跨 agent 复用。

比如"搜索网页并总结"可以封装成一个 Skill,多个 agent 都能调用。这是 agent 工程的模块化方向。


08. 诊断与避坑总表

症状 → 层 → 处方总诊断表

症状病灶层处方
理解错任务 / 格式跑偏 / 答非所问prompt把意图/角色/步骤/约束写明,关键规则放结尾
答得对但用错信息 / 一长就变笨 / 忘了前文context做减法、压缩、剪枝,关键信息放头尾
编造参数 / 读不到文件 / 越权乱删 / 失忆harness查 schema、权限、沙箱、日志——别改 prompt
停不下来 / 烧钱 / 原地打转 / 假装完成loop三道硬停,"完成"保留人工审查

四层避坑总清单(12 个坑)

prompt 层(3 个坑):

  1. 没写输出格式 → 模型自由发挥,每次都不一样
  2. 关键规则放中间 → 被"遗忘"效应吃掉,放结尾
  3. 给太多例子 → 过拟合,3-5 个够

context 层(3 个坑): 4. 全塞进去 → context rot,变笨 5. 不做压缩 → token 浪费、变慢、变贵 6. 关键信息放中间 → 头尾效应,放两头

harness 层(3 个坑): 7. 工具 schema 模糊 → 模型编参数 8. 没设权限 → 越权操作(删文件、发邮件) 9. 没有日志 → 出问题无法回溯

loop 层(3 个坑): 10. 没装最大迭代 → 死循环 11. 完成条件定义不清 → 假完成或永不完成 12. 没装预算上限 → 烧钱

三层嵌套 loop 调试法

agent 出问题时,先判断是哪个层级的 loop 出了问题:

层级是什么典型症状
L1 工具调用环单次工具调用→结果→下一步工具调用失败、参数错误
L2 任务环完整任务的多步执行原地打转、跳步、重复
L3 编排环多个 agent 之间的协作死锁、互相等待、无限传递

修复原则:从 L1 往上查。L1 没问题再查 L2,L2 没问题再查 L3。

什么时候不用全四层(可裁剪)

你要做的东西需要点亮的层为什么
纯问答 / 单次生成prompt + context没有动手也没有循环
会调工具的助手+ harness需要手脚和安全边界
长时间自主跑的系统+ loop需要自己转和刹车

不是每个任务都需要全四层。简单任务用两层就够了,别过度工程。


09. 持续精进

四层之外的新词归位

新词归到哪一句话
memory 记忆context 的时间延伸让模型跨轮次记住关键信息
eval 评估横切四层的质量维衡量每层做得好不好
tool 工具harness 的零件给模型配的某个具体外设
RAG 检索增强context 的装填手段从外部知识库取信息塞进 context
skill 技能跨 prompt+context+harness 的打包模块可复用的完整工具使用流程
fine-tuning 微调四层之外的另一条路改模型本身,不是四层架构内的事

模型变强四层怎么变

模型越强,内两层(prompt + context)的技巧占比会变薄——因为模型自己理解能力更强了,不需要你把每句话都写得那么精确。

但外两层(harness + loop)的安全部分会加固——因为模型能做的事更多了,风险也更大了,约束和刹车更不能省。

给一人公司的真心话

控制可以外包,判断不能外包。

你可以把"按下一步"外包给循环,把"动手干活"外包给装置和模型,把"怎么说"外包给越来越强的模型。

但"该不该按下一步""这活干对了没""该信任什么""该在哪儿叫停"——这些判断,外包不出去。

继续学资源地图


附录:术语小词典

术语英文一句话本质
提示词prompt你写给模型的那段话
上下文context模型这一步看得见的全部信息
装置/挽具harness模型之外的一切:工具、记忆、权限、护栏
循环loop让 agent 自己一圈圈转的自治循环
上下文窗口context window模型一次能看多少 token
上下文腐烂context rot信息太多导致模型变笨
检索增强生成RAG从外部知识库取信息塞进 context
嵌入embedding把文本转成向量,用于相似度搜索
向量库vector store存向量的数据库,支持相似度搜索
工具tool给模型配的具体外设(搜索、读写文件等)
技能skill跨 prompt+context+harness 的打包模块
记忆memory让模型跨轮次记住关键信息
评估eval衡量每层做得好不好的方法
微调fine-tuning改模型本身的参数,不在四层架构内
最大迭代max iterationloop 的第一道硬刹车
无进展检测no-progress detectionloop 的第二道硬刹车
预算上限budget limitloop 的第三道硬刹车
沙箱sandbox限制模型活动范围的隔离环境
护栏guardrails输入输出过滤,防止越界
编排orchestration多个 agent 之间的协调管理

最终心法:别追名词,去补瓶颈,守住判断。


© 2026 懒人AI手册

想获取更多深度内容?加入【懒人专属群】会员,解锁完整情报库与实战手册。

加入【懒人专属群】会员

© 2024-2026 LazySo Team. Built for the Automation Economy.
Data & Tools verified by LazySo Insider Community.