Harness Engineering入门基础教程(非常详细),一文搞懂+附报告下载,收藏这一篇就够了!

到底什么是Harness工程?一篇文章从入门到企业落地全解析 随着OpenClaw爆火,Harness Engineering(驾驭工程)成为AI编程时代的热门概念,很多小白对其感到陌生。本文用通俗类比和真实案例,避开复杂术语,从基础定义入手,讲清Harness Engineering的核心逻辑——人类工程师设计“约束系统”(马具),让AI模型(烈马)安全高效地完成代码工作,同时拆解其核心组件、企业落地场景和实战成果,帮小白快速入门,读懂这项能解放人力、提升效率的新技术,轻松掌握它的核心价值和落地思路。 阅读详情

如果你关注 AI 领域,最近一定频繁听到一个新词:Harness Engineering。

2025 年底, Anthropic 将其用于描述 AI Agent(智能体)基础设施,2026 年 2 月 Mitchell Hashimoto 正式提出Harness Engineering,随后 OpenAI、Salesforce、红杉资本等头部企业/机构快速跟进,成为当前最火的AI术语之一。

目前为止,Harness Engineering 尚且没有一个公认的中文翻译。有人翻译为“驾驭工程”,有人更宽泛地翻译为“架构工程”,也有人调侃为“驭码工程”

为什么裸奔的 AI 无法进入生产线?

Harness是行业痛点倒逼出来的产物,简单说,就是AI Agent能力上去了,靠谱度却没跟上。

2025 年底AI Agent的能力迎来了一个小爆发,它们逐渐开始能完成复杂工作,OpenAI用Agent写了100万行代码,Claude Code能完整处理整个代码库,但问题也随之而来:

  • 陷入死循环,反复做无效修改;
  • 长期任务中会忘事,偏离最初的目标;
  • 无视规则,比如修改不该碰的代码、泄露敏感信息;
  • 自信地犯低级错误,比如没运行测试就说代码没问题。

这时大家意识到,瓶颈已经不是“模型能不能做”,而是“怎么让模型安全、可靠地做”。正是在这种Agent有用但不靠谱的阵痛中,Harness Engineering 诞生了。

Harness直译过来是“马具、安全带”,这个名字非常形象,它的核心使命就是给那些聪明却桀骜不驯的AI Agent套上缰绳,既能让它们发挥自身的能力,又能约束它们的行为,避免失控。

就像大神 Andrej Karpathy 说的,现在的编程已经从“人写代码”变成了“AI 干活、人审计”。但如果系统没有自动化的硬性约束,人类根本审不过来。Harness Engineering不改变AI模型本身的设置,不指望模型自己变得完美,而是通过设计合理的运行环境、严格的约束规则、完善的反馈机制,让AI Agent不跑偏、不闯祸,稳定又高效地干活。

三大工程体系:提示、上下文和Harness

为了让模型输出效果更好,人们一直在琢磨各种方法,最开始是提示词工程(Prompt Engineering),后来是上下文工程(Context Engineering),现在是 Harness Engineering 。

  • 提示工程是“问得好”,让AI听懂需求;
  • 上下文工程是“给得准”,让AI有足够的参考;
  • Harness工程是“管得住”,让AI安全、靠谱地把活干完。

提示工程:问什么

提示工程是最原始、最直接的和AI打交道的方式,它核心就是解决“我应该怎么问,AI才能给出我想要的答案”。简单说,就是你写一段话(Prompt),清清楚楚告诉AI你想让它做什么。

提示工程很有效,但天花板也低。模型可以按你的要求输出一段代码、一篇文章,可一旦任务稍微复杂一点,光靠一段提示就完全不够了。原因很简单,提示是一次性的、静态的,而真实的任务是动态的、多步骤的。你不可能一开始就把所有可能出现的情况、所有需要的信息,都塞进一段话里。

上下文工程: 给什么

随着模型上下文窗口越来越大(从几万 token 到上百万 token),大家发现与其费心思琢磨怎么问AI,不如重点放在给AI什么信息上。这就是上下文工程的核心,解决“我该给AI哪些信息,让它能把活干得更好”。

上下文工程能让AI在更复杂的环境里干活。比如你让它写一个登录功能,不只是告诉它写代码,还给它当前项目的目录结构、已经有的认证模块、相关的数据库结构等,有了这些参考资料,AI写出来的代码就更贴合项目实际。

Harness 工程:怎么跑

Harness 工程不再满足于“问好”和“给够”,它关注的是整个 Agent 系统如何安全、可靠、可控地运行。它把模型视为系统的一部分,而不是全部,围绕模型搭建了一整套基础设施,专门解决所有和安全、靠谱相关的问题:

  • 权限控制:哪些工具能调?哪些操作需要人工审批?
  • 状态持久化:任务执行到一半,怎么保存进度?模型会话断了,怎么恢复?
  • 验证与重试:模型说完成了,怎么证明?验证失败后怎么自动重试?
  • 错误恢复:模型陷入死循环,怎么中断?出了严重错误,怎么回滚?
  • 观测性:每一步发生了什么?花了多少 token?成本多少?
  • 模块化:各个组件(记忆、工具、规划、验证)可以独立替换、升级。

说到底,Harness不负责思考,只负责管理,它接管了 Agent 的全生命周期,包括工具调用、记忆管理、重试机制、人类审批以及安全围栏。

如果觉得还是有点抽象,我们可以用电脑系统来打个比方:

  • 模型 = 电脑的CPU,是核心算力,负责提供原始计算能力,是AI能干活的基础;
  • 上下文窗口 = 电脑的内存,相当于AI的短期记忆,只能暂时存放有限的相关信息;
  • Harness = 电脑的操作系统,核心是管理和控制,负责统筹上下文、初始化AI运行、驱动工具调用、控制操作权限,就像操作系统管着电脑的所有硬件和软件,确保它们有序运行;
  • Agent = 电脑上的应用程序,跑在Harness(操作系统)上,专门用来完成具体任务,比如写代码、做总结,就像浏览器用来上网、Word用来写文档一样,依赖操作系统才能正常工作。

Harness 的六大核心组件

根据 OpenAI、Anthropic 和学术界的共识,一个完整的 Harness 包含六个部分:

  1. 工具集成层

相当于Harness的接口,负责连接模型和各种外部工具,比如数据库、API接口、代码运行环境、自定义工具。它的作用是标准化,不管是什么工具,都通过统一的协议和模型对接,避免Agent调用工具时出现不兼容或权限混乱。

比如Claude Code的Harness,就是通过这个组件连接文件系统、代码编辑器,让Agent能安全地读取、修改代码,而不会误操作其他文件。

  1. 记忆与状态管理

解决模型忘事的问题。模型的上下文窗口是有限的,而Harness会提供多层记忆,包括短期的任务上下文、会话状态,以及长期的任务记录,甚至能通过进度文件、Git历史记录,让Agent在不同会话之间记住之前的工作。

比如Anthropic的Harness,会把Agent的工作进度、修改记录存在文件里,就算会话中断,Agent重新启动后也能继续之前的任务,不会从头开始。

  1. 上下文工程与提示管理

给模型喂正确的信息,不是把所有信息一股脑都丢给模型,而是根据当前的任务状态,动态筛选、整理上下文。就像查找资料,不会一下子把整本书都看完,而是先看目录,需要的时候再翻具体的章节,这就是渐进式披露。

OpenAI的Harness,会给Agent一个目录(比如AGENTS.md),让它根据任务需要,自己去读取相关的文档和代码,避免上下文冗余或缺失。

  1. 规划与任务分解

避免Agent一口吃个胖子。Harness会引导模型把复杂任务拆分成一个个小步骤,按顺序执行,每个步骤完成后再进入下一个,而不是让模型试图一次性完成所有工作,导致混乱和错误。

MetaGPT的Harness,会让Agent先做需求分析、系统设计、任务拆分,再开始写代码,每个环节都有明确的输出物,确保不跳过关键步骤。

  1. 验证与护栏

这是Harness的安全核心,相当于给Agent套上紧箍咒。它会设置各种验证规则:代码是否通过 lint 检查、任务是否符合要求、操作是否安全,一旦发现问题,就触发重试、人工审核,或者直接阻止危险操作。

OpenAI的Harness,会用自定义的 lint 工具检查代码架构,一旦Agent修改了不该碰的代码,就会被拦截,同时提示Agent修正错误。

  1. 模块化与可扩展性

Harness的各个组件都是可插拔的,可以根据需求启用、禁用或替换某个组件,不用整体重构。比如你想更换Agent的验证工具,只需要替换“验证与防护栏”组件,其他部分不用动,降低维护成本。

实战中的 Harness:三层循环模型

为了更直观地理解,我们可以把 Harness 看作三个嵌套的循环。

外层循环:项目级治理

这是 Harness 的宏观层面,主要解决“意图”和“环境”的问题,人类定方向,自动化工具有执行力。

案例:OpenAI——用Harness写100万行代码

OpenAI 的一个团队曾用 Agent 编写了超过 100 万行代码,且没有一行是人工手写的。他们的 Harness 做了三件关键事:

  • 把所有规则(架构、命名规范、验证标准)都编码成自动化工具,Agent写的代码必须通过这些工具的检查,否则无法提交;
  • 用渐进式披露管理上下文:没有给Agent一个巨大的指令文件,而是用一个简短的AGENTS.md作为目录,让Agent按需读取相关文档;
  • 设置背景清理Agent:定期扫描代码库,修复Agent留下的小问题(比如冗余代码、格式错误),防止代码库“腐烂”。

最后,团队效率提升了10倍,Agent能稳定完成从需求到代码的全流程,而不会出现失控或大面积错误。

中层循环:编排与流程

这是 Harness 的战术层面,主要解决“协作”和“流程”的问题,每个特性都要经历:需求 → 设计 → 任务拆解 → 逐个实现 → 验证。规划不完成,不准写代码。

案例:MetaGPT——用Harness解决Agent传错话的问题

很多Agent协作时,会出现传错话的问题:一个Agent 虚构一个需求,另一个Agent基于这个错误需求继续工作,最后整个任务彻底跑偏。

MetaGPT的Harness解决了这个问题,它搭建了一个流水线式的编排loop,让每个Agent只负责一个环节,且必须输出明确的文档,供下一个Agent使用,比如产品经理Agent输出需求文档,架构师Agent基于需求文档输出设计文档,工程师Agent再基于设计文档写代码,每个环节都有明确的约束,避免虚构需求。

内层循环:任务级验证

这是 Harness 的微观层面,主要解决“准确性”和“验证”的问题,关键在于不让 Agent 自己骗自己。

案例:Superpowers——用 Harness 驯服 Agent 的自信谎话

Agent 有一个经典毛病,它经常自欺欺人。Superpowers 采用了 “子 Agent 驱动开发” 的架构。一个控制 Agent 负责任务分发,每次只交给一个干净的子 Agent 做一件事。每个子 Agent 启动时上下文都是全新的,只带当前任务描述、必要的架构约束和代码目录,不带任何历史噪音。每个任务必须 TDD(测试驱动开发),而且不能光说不练。Agent 必须遵循五步铁律:写出证明你主张的命令 → 运行它 → 读取完整输出 → 验证匹配 → 才能宣称完成。最后,它还会派一个独立的评审子 Agent来专门挑刺。这个评审者被设定为绝对不信任实现者,哪怕它们是同一个模型家族的。

最后

Harness 不是什么炫技之作,而是 AI Agent 走向生产环境的必然。它把工程师的精力从反复给模型擦屁股中解放出来,让他们可以把时间花在定义规则、设计环境、构建护栏上,这些才是真正能决定 Agent 能否稳定创造价值的地方。

Harness Engineering,就是给千里马套上的那副缰绳!既能让千里马放开蹄子奔跑,又能确保它不偏离赛道,朝着既定的目标,稳步前行。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

在这里插入图片描述

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

【人工智能】AI 智能体驾驭工程(Harness Engineering)全解析 OpenAI将Harness定义为让Agent能完成有用工作的系统工程,Harness Engineering则是持续设计、实现、迭代这套系统的方法论;Anthropic将其概括为「让模型真正成为可靠Agent的基础设施」;Martin Fowler/Thoughtworks则将其定义为「控制Agent各层循环的规格、质量检查与工作流指导体系」。强大的AI模型是一匹爆发力极强的烈马;Prompt Engineering是「对马喊话的技巧」,Context Engineering是「给马看的地图」; 阅读详情

相关推荐

harness-engineering

harness-engineering1

从Vibe Coding到可控生产力:Harness Engineering的实践启示

摘要:OpenAI提出的Harness Engineering(工程化治理)理念为AI Agent时代的软件工程提供了关键方法论,旨在解决代码高产出下的质量闭环、上下文管理等核心矛盾。其三大目标包括重构工程师角色、将AI纳入可控体系、实现低成本纠错,通过六大举措(如角色重构、机械化约束、反熵机制等)重构工程流程。该理念与vibe coding高度互补,既保留灵感驱动的敏捷性,又通过工程化体系保障稳定性,最终推动工程师从"代码生产者"升级为"工程体系设计者"。

小程故事多的博客 4400

《Harness Engineering完全指南》,基于Claude Code源码的系统性教科书,AI Agent基础设施设计·驾驭工程完全指南,50万行Typescript源码逆向工程

第一章:Harness Engineering 定义 & 三大支柱 第二章:Claude Code 架构全景(技术栈、目录结构) 第三章:Agent Loop(7 个 Continue 站点、四级压缩管道) 第四章:Tool System(43+ 工具、权限管道、并发编排) 第五章:Permission Model(六层纵深防御、YOLO 分类器) 第六章:Hooks System(26 事件 × 4 类型) 第七章:Sandbox & Security(文件系统/网络/进程隔离) 第八章:Context Engineering(四级压缩、CLAUDE.md、记忆系统) 第九章:Settings & Configuration(7 级层级) 第十章:MCP Integration 第十一~十六章 + 附录

Harness Engineering:2026年最被低估的工程革命

2026年2月,OpenAI的工程师Ryan Lopopolo在官方博客发布了一篇看似平淡的技术文章。文章描述了一个内部实验:一个3人小组,用5个月时间,构建并上线了一个拥有百万行代码的生产级产品。

xx_nm98的博客 1089

Truncated SVD for faster dection

Truncated SVD方法最先被提出在《Fast R-CNN》论文中,用于降低全连接层的运算量,提升模型的速度。在卷积神经网络的分类任务中,FC层的运算速度远远大于CONV层,而在Fast R-CNN的目标检测任务中,大多数的运算时间发生在FC 的运算中,是因为针对每张输入图片,只进行一次卷积操作,而要对生成的Region Proposal,大致两千个,进行全连接操作进行分类与Bounding...

weixin_35747666的博客 1535

MATLAB MinGW-w64 C/C++ 编译器 手动安装配置

根据Matlab版本与MinGW版本对应关系,手动安装、配置并测试MinGW

zjh2883的博客 7342

Harness Engineering工程化教程(非常详细),AI Agent复杂长任务从入门到精通,收藏这一篇就够了!

OpenAI 的一个团队在五个月内用 Codex 写了一百万行代码,三个工程师平均每天合并 3.5 个 PR,没有一行代码是工程师手写的。Anthropic 的 Claude Code 能连续工作数天构建完整应用。LangChain 的 Coding Agent 在 Terminal Bench 2.0 上从 52.8% 跃升至 66.5%,却**只改了 harness,模型没动**。

Python_cocola的博客 7214

RPN 解析

RPN全称是Region Proposal Network,Region Proposal的中文意思是“区域选取”,也就是“提取候选框”的意思,所以RPN就是用来提取候选框的网络; 1. RPN的意义 RPN第一次出现在世人眼中是在Faster RCNN这个结构中,专门用来提取候选框,在RCNN和Fast RCNN等物体检测架构中,用来提取候选框的方法通常是Selective Se

lanran2的博客 10万+

Harness Engineering入门基础教程(非常详细),收藏这一篇就够了!

模型是 Anthropic 训练的,你管不了。**Harness 是模型之外的一切**——文件系统、工具链、沙箱、验证闭环、Hooks、压缩机制、记忆系统。你的 CLAUDE.md、settings.json、Skills、MCP 配置,加在一起就是你的 Harness。

m0_59163425的博客 1444

BLE天线设计避坑:NRF52832官方50欧姆阻抗匹配的3个常见误区

本文深入解析NRF52832蓝牙SoC天线设计中的常见误区,重点探讨50欧姆阻抗匹配的3个关键问题:PCB板材介电常数差异、匹配元件寄生参数及VSWR测试。通过实测数据和优化方案,帮助工程师规避设计陷阱,提升BLE通信性能。

beer8的博客 214

一文看懂—Agent多智能体协作

多智能体协作已成为AI应对复杂任务的关键范式,通过模拟人类团队分工,实现专业化、高效化和纠错能力。本文系统阐述了多智能体协作的核心概念(智能体分工、工作流编排、工具使用)、与产品规划的关联(任务拆解、错误处理、组织架构设计),以及典型应用场景(报告生成、客服工单、学习规划)。同时剖析了常见陷阱(循环卡死、信息失真、成本失控)及解决方案,并提供了实用工具模板(角色定义卡、工作流画布、成本仪表盘)。最后通过市场竞品分析和旅行规划两个实战案例,展示了多智能体协作的实际价值。该技术正推动AI从单点智能迈向系统智能,

lee006006的博客 1033

Harness Engineering 实战指南(非常详细),AI 写代码从入门到精通,收藏这一篇就够了!

你不是在编写智能,你是在构建智能运行的世界。

weixin_58753619的博客 4009

YOLOv13改进策略【Backbone/轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块

本文记录的是。StarNet设计简洁,没有复杂的设计和精细调整的超参数,仅是一个 4 阶段的分层架构。并且其中能够在低维空间计算的同时考虑极高维的特征这一特性,进而提高模型精度。本文在替换骨干网络中配置了原论文中的starnet_s1starnet_s2starnet_s3和starnet_s4七种模型,以满足不同的需求。

Limiiiing的博客 670

Harness Engineering入门基础教程(非常详细),从零理解到动手实践,收藏这一篇就够了!

Harness Engineering = 给 AI Agent 设计“缰绳 + 马鞍 + 跑道护栏 + 反馈镜子”的工程方法。

xx_nm98的博客 1116

AutoSAR MemMap模块概述及配置参数详解

这个模块是干啥的?它是用来配置Memory Mapping and Compiler Abstraction module。

4508

将 AMDP Function Implementations 讲透:从 SAP CDS View 表函数到 AMDP 方法的完整实战与最佳实践

AMDP函数实现:连接ABAP与HANA的高效桥梁 本文面向ABAP开发者,详细解析AMDP函数实现技术,帮助在SAP HANA环境中充分发挥数据库算力。核心内容包括: 技术价值:解决复杂计算场景(窗口函数、跨表聚合等)中Open SQL和CDS的局限性 两种实现类型:内部复用函数与CDS表函数实现,对比其声明规则和用途差异 关键语法要点:FOR TABLE FUNCTION绑定、只读约束、参数与返回类型自动生成机制 实战应用:以采购订单聚合为例,展示AMDP在实时报表中的性能优势 完整示例:提供基于航线数

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 386

AI Agent 时代工程范式革命全解(非常详细),Harness Engineering 从入门到精通,收藏这一篇就够了!

如果你最近在关注 AI 编程领域,一定刷到过这个词:Harness Engineering。 这个新概念正在以惊人的速度取代 Prompt Engineering 和 Context Engineering,成为 AI Agent 工程优化的正解。

m0_59235945的博客 546

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

深入浅出 Harness Engineering:2026年最热 AI 工程范式,一文彻底搞懂!

摘要: Harness Engineering(驾驭工程)是2026年兴起的AI工程范式,核心是通过系统化约束提升AI Agent的可靠性,而非单纯依赖模型能力。它针对AI的五大缺陷(如记忆焦虑、Prompt脆弱性、多Agent污染等),提出六大支柱解决方案:结构化上下文架构避免信息过载、代码化架构约束替代软性Prompt、自验证循环强制AI自我审查、上下文隔离防止协作污染、熵治理对抗系统混乱,以及安全护栏阻断危险操作。OpenAI实验证明,3人团队5个月生成百万行代码的关键不是模型强度,而是这套驾驭系统。

qq_31142761的博客 3891

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Harness Engineer工程开发范式实战教程(非常详细),从入门到精通,收藏这一篇就够了!

Harness Engineering** 是 OpenAI 提出的 AI 原生开发方法论,核心思想是:

xx_nm98的博客 2173

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

OpenClaw架构入门基础教程(非常详细),收藏这一篇就够了!

2026 年初,OpenClaw 彻底出圈,在技术圈乃至大众层面掀起了一场“全民养虾(🦞)热”。但在各种“跑通 Demo”和“安装攻略”的狂欢背后,我们更应该冷静下来,透过源码去剖析这只“小龙虾”的骨架。

m0_59235245的博客 476

终于讲透了!Harness Engineering重塑工程师核心竞争力(非常详细),Agent时代进阶必看,收藏这一篇就够了!

关注 AI 的同学大概率对这两个词已经不陌生了:提示词工程(Prompt Engineering)和上下文工程(Context Engineering)。前者教你怎么跟模型说话,后者教你往模型的上下文窗口里塞什么内容。但从 2026 年初开始,一个新的词开始在工程圈里流传——**Harness Engineering**。

Python_cocola的博客 1107

Meta-Harness实战入门基础教程(非常详细),彻底搞懂整套Harness自动进化,收藏这篇就够了!

这篇工作要解决的问题很直接:在 LLM 系统里,真正决定效果的往往不只是模型权重,还包括外围的 **harness**(记什么、检什么、怎么喂给模型的代码)。作者提出的 Meta-Harness,不再依赖手工改规则,而是让 coding agent 在完整历史日志上自动搜索更优的 harness 实现,最终在文本分类、数学推理、Agent 编程三个场景都取得了显著收益。

Python_cocola的博客 789

OpenHarness 新一代框架实战教程(非常详细),大模型 Harness 构建从入门到精通,收藏这一篇就够了!

如果之前看过我写的 Harness 相关内容,那这篇我就不再重复解释“什么是 Harness”了。

m0_59163425的博客 8005

Harness Engineering深度指南(非常详细),软件工程转型控制系统设计,从入门到精通,收藏这一篇就够了!

George 提到 **Harness engineering** 这种模式已经出现了三次: * 第一次是在 18 世纪 80 年代,詹姆斯·瓦特(James Watt)发明了离心调速器(Centrifugal governor)。 * 第二次是在 Kubernetes 出现。 * 第三次是 OpenAI 提出的 Harness engineering。

m0_59235945的博客 1034

零基础搞懂Harness Engineering(超详细保姆级教程),告别AI胡说八道,收藏这一篇就够了!

2026年第一季度,大模型应用层最具统治力的热词,绝对是「Harness」。

m0_59163425的博客 1388
上一篇: Harness工程搭建入门到精通:手把手教你搞定Claude Code智能体,看这篇就够了!
下一篇: 文档分类与邮件撰写智能体开发(非常详细),全流程代码实战从入门到精通,收藏这一篇就够了!
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2835原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值