Harness Engineering 的三个 Scaling 维度:统一框架下的技术架构深度解析

Harness Engineering:AI部署系统如何实现递归式自我改进 在人工智能工程实践中,部署系统作为模型运行的基础环境,其设计质量直接影响AI应用的实际效能。Harness Engineering通过构建智能化的运行时环境和工作流程,为AI模型提供任务编排、状态管理、工具集成等核心服务,就像操作系统为应用程序提供基础支撑一样。这种系统化方法能够在不修改模型权重的情况下,通过优化执行环境实现AI能力的指数级提升,特别适用于长程任务执行和复杂问题求解。Workflow Automation和文件系统持久化存储等关键技术,使得AI能够突破上下文窗口限制,实现更可靠的自动化处理。 阅读详情

当我们谈论「Harness Engineering」时,究竟在讨论什么?这个看似简单的问题,却揭示了当前AI agent领域最核心的架构挑战。

术语混乱的根源:同一个词,三件完全不同的事

2026年第一季度,OpenAI、Cursor和Anthropic先后发布了各自在agent-first软件开发上的实践报告。三篇文章都被归入同一个术语:harness engineering。但仔细读下来,它们讲的几乎是三件完全不同的事。

这种术语混叠的背后,是三家公司在解决agent系统规模化时,聚焦了三个正交的维度:

  • OpenAI的harness engineering:讲的是环境设计 — — 文档体系、架构约束、可观测性基础设施,让agent在被精心设计过的工作环境里可靠地生产代码
  • Cursor的self-driving codebases和scaling agents:讲的是协调架构 — — 几百个agent同时工作,怎么分工、怎么并行、怎么收敛
  • Anthropic的harness design for long-running apps:讲的是运行时纠偏 — — 一个agent连续跑几个小时,怎么在过程中保持方向和质量

读者群高度重叠,用的术语高度一致,但各自回答的工程问题截然不同。这正是harness engineering这个词在当前讨论中造成混乱的根源:人们用同一个词在讨论不同层面的问题。

地基:三家收敛到的四条共同判断

在展开三个维度之前,值得先看三家在哪些地方达成了一致。这些共识构成了harness engineering的地基。

共识1:人类的核心工作从写代码转向了设计agent的工作环境
OpenAI把这表述为”设计环境、指定意图、构建反馈循环”;Cursor的实验发现”架构和指令比harness本身更重要”;Anthropic发现planner和evaluator的设计比prompt的措辞对产出质量影响更大。三家从不同方向得到了同一个结论:人类的杠杆点在于创造让agent能可靠工作的条件,代码本身由agent产出。

共识2:知识必须版本化、可发现、存在于repo中
OpenAI最直白地说了这件事:Codex看不到的等于不存在。Google Docs里的讨论、Slack上的对齐、团队成员脑子里的隐含知识,对agent来说统统是空白。Cursor从另一个角度验证了同一点:指令中的模糊措辞会被数百个agent同时放大,后果比人类团队里的沟通模糊严重得多。解决方案都是把知识推入repo,用markdown和结构化文档取代口头沟通。

共识3:约束比指令有效
OpenAI用自定义linter强制执行分层架构,lint错误信息本身就是给agent的修复指引。Cursor发现”no TODOs, no partial implementations”比”remember to finish implementations”有效得多。约束是可执行的、确定性的,指令是可解释的、模糊的。在agent的工作方式里,这个区别比在人类团队里更关键。

共识4:完美主义是吞吐量的敌人
OpenAI采用最小阻塞合并,等待比纠错更昂贵。Cursor发现要求每次commit 100%正确会导致系统停滞,一个小错误让整个系统陷入修复循环。两者都接受了”纠错比等待便宜”的权衡。这个判断在人类工程团队里可能引发争议,但在agent的产出速度远超人类注意力的场景下,它是合理的工程决策。

三个Scaling维度:独立却相互依赖

在上述共识的基础上,三家各自在解决一个不同维度的scaling问题。

3.1 时间Scalability:让一个Agent连续跑几小时

Anthropic要解决的问题是:一个agent在被精心设计的环境里开始工作之后,怎么在几个小时的连续运行中保持方向和质量。

这个问题之所以独立于环境设计,是因为长时间运行会引发两类环境设计本身无法预防的失败:

  1. 方向漂移:随着上下文窗口逐渐变满,模型的一致性开始衰减,表现为偏离原定方向、遗忘早期约束、在细节中越走越深
  2. 自评失真:agent在工作过程中能发现自己产出里的缺陷,但随后会说服自己这些缺陷可以接受,给出通过判断

Anthropic的解法是一个三角色架构:

  • Planner:把一句话需求扩展成完整的product spec,只做产品层面和高层技术方向的设计,不进入实现细节
  • Generator:按spec实现功能
  • Evaluator:拿着事先协商好的sprint contract,用Playwright操作真实运行的应用来验证产出是否达标

关键创新在于Evaluator和Generator之间没有共享的内部状态 — — 这种独立性是它能纠偏的前提。每个harness组件都是对当前模型能力边界的一个假设,这些假设有不同的过期速度。

实证数据:简化后的系统产出了一个数字音频工作站,运行约4小时,成本124美元,其中generator第一轮连续运行了2小时7分钟。对比基线:同样的prompt用单agent跑20分钟花9美元,核心功能无法正常使用。

3.2 空间Scalability:让几百个Agent并行工作

Cursor要解决的问题是:能否通过投入10倍的计算来获得10倍的有意义吞吐量?

他们选择了从零构建一个web浏览器引擎作为基准任务,用Rust编写,数百个agent并行运行一周,生成了超过一百万行代码。文章真正有价值的部分在于它坦诚记录了四次架构迭代的失败过程。

失败经验教训:

  1. 第一次尝试:所有agent地位平等,通过共享状态文件协调 → agent持锁太久、忘记释放,20个agent的吞吐量退化到1-3个的水平;行为上变得回避风险,只做安全的小改动
  2. 第二次尝试:分离了Planner、Executor、Worker、Judge四个角色 → 改善明显但被最慢的Worker瓶颈住
  3. 第三次尝试:把Planner合并进Executor → 角色过载导致病理行为:随机休眠、停止生成任务、自己动手写代码

最终方案:递归Planner-Worker架构

  • 根Planner拥有整个项目范围,当范围过大时生成子Planner,递归进行
  • Worker从Planner接收任务,在自己的repo副本上独立工作,完成后写一份handoff(做了什么、发现了什么、有什么担忧)提交给请求任务的Planner
  • Worker之间互不感知,也不与其他Planner通信。信息严格向上流动

线性扩展的三个关键点:

  1. 规划层面:递归Planner让规划工作本身可以并行展开,避免单一Planner成为瓶颈
  2. 执行层面:Worker完全隔离,各自在独立的repo副本上工作,消除了锁竞争
  3. 质量层面:移除了集中式的Integrator角色(中央质量控制瓶颈),接受一个小而稳定的错误率,让错误被其他agent自然修复

峰值吞吐量:约1000 commits/hour。当他们把repo从monolith重构为多个独立crate后,编译等待时间大幅缩短,吞吐量成倍提升。

3.3 交互Scalability:让人用最少的介入steer大量Agent工作

OpenAI要解决的问题从harness engineering文章延伸到了Symphony(2026年3月开源):当agent的产出速度远超人类的注意力时,人应该通过什么界面来steer整个系统?

原始交互模式的瓶颈:人还是要逐个写prompt、逐个触发任务。

Symphony的解决方案:一个用Elixir/BEAM构建的持久化守护进程,把项目管理工具(当前默认是Linear)变成了agent的job scheduler。

  • 工程师把需求写成ticket,ticket移到Todo状态时,Symphony自动为它创建独立工作空间(fresh git clone + 隔离的agent session)
  • 派 Codex执行任务,完成后产出Proof of Work(CI结果、walkthrough、有时甚至包括录屏)并开PR
  • 如果agent中途失败,BEAM的supervision tree处理重启和backoff,其他agent继续运行
  • 系统可以管理数百个并发implementation run

交互范式的转变:
从”写prompt并触发” → 到”写ticket并移动状态”

  • 上游:写ticket和维护harness(文档、测试、架构约束)
  • 下游:review Proof of Work和PR
  • 中间:执行过程完全自主

反馈循环的重心从纠正agent的具体产出,转向改进harness本身:更好的测试、更好的文档、更好的约束。这些改进在所有未来的agent run中复利。

三个维度之间的关系:理解依赖比理解每个维度更重要

最关键的依赖:空间scaling会放大时间scaling中的问题

当你有一个agent在跑,方向漂移和自评失真的后果局限在一个PR里。
当你有几百个agent同时跑,每个都在漂移、每个都在自我合理化,错误会以并行度的倍数积累。

Cursor在实践中确实遇到了这个问题:他们发现agent在长时间运行中会丧失焦点,需要定期scratchpad重写和contextsummarization。但他们的解法偏向接受一个稳定的错误率并让系统自然收敛,而非引入独立的evaluator。这两种策略哪个更优,目前还没有定论。

反过来:交互scaling依赖于时间和空间scaling的成熟度

Symphony之所以能让人通过写ticket来steeragent,前提是:

  • 单个agent run足够可靠(时间维度)
  • 系统能同时管理大量run(空间维度)

如果每个run都需要人中途干预,ticket驱动的模式就退化成了手动触发的批处理。

跨维度的共同发现:模型选择对角色的适配比预期更重要

  • Cursor发现GPT-5.2在长时间自主运行中表现优于Opus4.5(后者倾向于提前停止和走捷径)
  • Anthropic记录了从Sonnet4.5到Opus4.6三代模型上harness组件的演化路径

这意味着harness engineering的一部分工作是为不同角色匹配不同模型,这个匹配会随着模型迭代持续变化。

这个框架能帮你做什么:看清harness engineering到底在讨论什么

用这个框架去看,当有人说harness engineering时,先问:它在解决哪个维度的scaling?

  • 是让agent跑更久(时间)?
  • 还是让更多agent一起跑(空间)?
  • 还是让人更省力地steer(交互)?

三个维度的工程问题不同,解法不同,trade-off也不同。把它们混在一起讨论,注定混乱。

判断市面上二手讨论质量的工具

如果一篇文章在讨论harness engineering但连这三个维度中的任何一个都没有触及,它大概率是在讨论更基础的东西:

  • 传统的multi-agent协作协议
  • 两年前流行的AI虚拟团队概念
  • 或者只是在用一个时髦的词包装已有的实践

这些讨论有其价值,但它们和OpenAI、Cursor、Anthropic正在做的事情处于不同的层面。

互补的方向:context infrastructure

还有一个容易被忽略的维度。这三家讨论的scaling都在优化agent怎么工作:工作更久、同时工作更多、人更省力地管理。但agent工作的质量上限,很大程度上取决于它拿到了什么样的context。

同样的模型、同样的工具、同样的prompt,接入一套经过一年积累和分层精炼的认知框架后,产出的性质会从”正确的废话”变成”有判断力的分析”。这个方向和harness engineering互补:

  • harness解决的是agent的工作方式和协调
  • context infrastructure解决的是agent的认知密度

应用边界:不是所有场景都需要极致scaling

最后值得指出一个边界。这三个维度的scaling解决的都是偏头部的需求:

  • 极复杂的系统
  • 大型基础设施
  • 有实验性质的AI能力边界探索

对更广大的普通开发者和企业来说,他们的软件可能根本不需要几百个agent并行,也不需要一个agent连续跑6小时。AI对软件的更深远影响,可能在另一个方向:让软件本身变得更简单、更一次性、更贴合具体使用者的需求。

当交付物从成品软件变成支撑AI生成个性化应用的Generative Kernel时,harness engineering解决的问题重要性会下降,因为需要被harness的系统复杂度本身在降低。

这两个方向并行存在,服务于不同的场景。Harness engineering的讨论覆盖的是其中一端,但读者值得知道它的适用边界在哪里。

结语:架构思维的升级

Harness engineering不仅是一套技术实践,更是一种架构思维的升级 — — 从关注”如何让AI写好代码”转向”如何设计让AI可靠工作的系统”。

在这个过程中,我们看到了:

  • 角色专业化的力量(Planner/Generator/Evaluator)
  • 解耦带来的可扩展性(递归架构)
  • 反馈循环的转移(从产出纠错到系统改进)
  • 模型角色匹配的动态性
  • 约束胜于指令的范式转变

真正的架构师不仅要解决当前的问题,更要预见系统在不同规模下的行为变化。而harness engineering提供的这个三维框架,正是理解和设计下一代AI-agent系统的钥匙。

在AI时代,我们不再只是构建软件,我们是在构建能够构建软件的系统。而这个系统的设计,才是真世的竞争优势所在。

学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%免费】

在这里插入图片描述

Mythos Preview:AI安全能力跃迁与工程范式重构 大语言模型正从文本生成工具演进为具备自主规划、工具调用与闭环执行能力的智能代理。其核心原理在于长上下文理解、多步推理状态管理及通用知识基座驱动的专业能力涌现。这种技术价值不仅体现于SWE-bench、Terminal-Bench等基准的显著提升,更在于将网络安全从依赖人力经验的艺术,转化为可调度、可复现、可量化的系统工程。典型应用场景包括自动化漏洞挖掘、软件供应链深度审计与AI原生SOC构建。Claude Mythos Preview正是这一趋势的标志性实践,它标志着AI安全已进入以‘系统工程’和‘测试时计 阅读详情

相关推荐

Agent Runtime 正在归零:从 sandbox 到 event log 的基础设施迁移

Agent runtime 不再是独立技术栈,而是现代 AI 应用的底层操作系统——它正经历虚拟化时代曾有的‘水电煤化’进程。其核心原理在于将状态管理(session)、执行逻辑(harness)与安全边界(sandbox)解耦,使模型上下文退化为计算缓存,事件日志成为可审计、可回放、可治理的事实源。这一演进显著降低调试成本、提升资源利用率,并推动安全模型从‘防御漏洞’转向‘策略即代码’。典型应用场景覆盖金融合规尽调、销售线索自动化、医疗索赔验证等强监管、多系统协同领域。Anthropic Managed

weixin_30732487的博客 332

Vibe Coding、Spec Kit、Harness Engineering 三种编码方式深度对比

三种编码方式的核心定位、核心理念及人机角色分工存在显著差异,具体如下表所示,清晰呈现三者的本质区别与定位差异:编码方式核心定位核心理念人类角色AI角色典型产出质量氛围编程(快速原型)直觉驱动,快速验证想法意图表达者、验收者意图理解、代码生成、迭代优化Demo级(可运行但缺健壮性)Spec Kit规格驱动开发(规范落地)规格先行,结构化约束规格定义者、审查者按规格实现、自验证、可追溯生产级(功能完整、可维护)驾驭工程(生产自治)构建运行时约束系统,保障Agent自治。

weixin_57345889的博客 966

AI Agent Runtime 正在成为新操作系统:从托管沙箱到会话日志范式

AI Agent Runtime 不再是简单的执行环境,而是面向智能体应用的操作系统级基础设施。其核心原理在于将状态管理从易失性上下文窗口迁移至持久化、可审计的事件日志系统(Session-as-Event-Log),并通过无状态执行器(Harness)与牲畜化沙箱(Sandbox as Cattle)实现高可靠、可伸缩的工程化落地。这一范式带来显著技术价值:降低运维复杂度、提升调试与合规能力、支撑金融/医疗等强监管场景。典型应用场景包括智能客服、投研分析、运单预警等需多步工具协同与严格审计的生产系统。本文

weixin_30363981的博客 385

从Vibe Coding、Spec Coding,到Harness Engineering

提出者:Andrej Karpathy(2025年2月)核心理念感觉驱动,快速试错。用自然语言描述模糊需求,AI 自由生成代码,人负责验收与迭代。人类角色:提需求、看效果、调方向(不写代码)。AI 角色:猜意图、写代码、快速迭代。产出质量Demo 级,适合原型、MVP、快速验证想法。适用场景:需求模糊、创意探索、快速原型、个人小工具。快速出原型,凭感觉和 AI 对话。先写说明书,AI 按图施工。搭好运行环境,让 AI 自己干活。

Mamba的博客 2125

AI Agent Runtime:从上下文寄生到事件日志驱动的操作系统级抽象

AI Agent 运行时(Runtime)正经历一场类似操作系统诞生的范式迁移——它不再依赖模型上下文缓存状态,而是通过结构化事件日志(event log)、无状态执行器(harness)和按需沙盒(sandbox)实现资源抽象与状态解耦。这一架构变革源于对 context window 本质的重新认知:它本质是高速缓存,而非持久存储。技术价值在于保障长周期、多工具、高并发场景下的状态一致性、安全隔离与弹性伸缩;典型应用于企业级销售助手、财务审计流程、内部知识工单等需‘不丢记忆、不泄密、不中断’的生产系统。

weixin_30411239的博客 363

大模型技术全景与核心概念解析:从基础原理到AI智能体架构(实时更新中)

本文系统解析了大模型技术的核心概念与架构。首先介绍了LLM(大语言模型)、LLMOps(模型运维)、AIGC(生成内容)、AGI(通用AI)等基础概念,重点阐述了大模型的工作原理,包括预处理、推理和后处理三个阶段。深入讲解了Token分词、FLOPs计算、Embedding向量表示等关键技术,并分析了LoRA微调、MoE架构等前沿方法。文章还探讨了AI智能体的发展前景,为理解大模型技术提供了全景视角。

算法工程师 1238

基于RAG的企业智能客服项目,已拿70万offer!

基于 RAG 构建一套企业智能客服系统📖。

m0_59164520的博客 1445

npu-smi info 华为昇腾NPU 状态监控工具解读

用于查询所有设备的基本信息。

Lixora's DB Home 2488

AI Coding 正在重写软件工程:从 Vibe Coding 到 Harness Engineering

AI 编程范式演进全景图 本文系统梳理了AI编程领域涌现的9大方法论,揭示其背后的工程逻辑: 核心转变:从"如何写代码"到"如何组织需求、上下文与验证闭环" 方法论分层: 探索层:Vibe Coding(快速原型) 规格层:SDD/OpenSpec/Spec Kit(结构化需求) 执行层:TDD/Claude Team/superpowers(协作流程) 环境层:Context/Harness Engineering(精准上下文与执行环境) 发展趋势:从碎片化探索到系

qq_44848928的博客 2180

电影台词预测类型:NLP小样本多标签分类实战

电影类型预测本质上是短文本语义建模问题,核心在于从高度碎片化、低语义密度的台词(平均仅12.7词)中挖掘隐含的类型学编码规则。其技术难点在于:需应对省略主语、倒装、拟声词等非规范表达;处理Drama与Comedy等类型强共现的多标签耦合;并克服领域迁移障碍——维基文本预训练模型在台词上性能骤降0.11。解决方案聚焦RoBERTa微调、类型感知注意力机制与标签平滑策略,兼顾小样本鲁棒性与业务可解释性,广泛适用于影视元数据标注、智能推荐系统及NLP教学实践。

weixin_33309048的博客 288

Win11专业版破解RDP限制:实现多用户远程桌面协同办公

本文详细介绍了如何在Windows 11专业版上破解RDP限制,实现多用户远程桌面协同办公。通过使用RDPWrap工具,用户可以绕过微软的授权限制,允许多个用户同时登录同一台电脑,提高硬件利用率和团队协作效率。文章包含详细的安装配置步骤、性能优化技巧及常见问题解决方案,适用于需要远程协作的办公场景。

weixin_33806300的博客 466

Agent 时代的第一工程能力:Harness Engineering

2026年2月,一个名词在AI工程圈子里突然火了起来——Harness Engineering。

m0_59235245的博客 339

定制PYNQ的overlay

一、用HLS生成一个定制IP(加速器)(1)首先打开vivado hls,本人的版本是2017.2,点击创建一个新工程。(2)设置工程名和路径,顶层函数设置为add,创建一个新的C++程序,名字叫做adder.cpp,不用在testbench中添加文件。选择板子的时候搜索xc7z020clg400-1,这是PYNQ的板子号,选择完成。             (3)在左侧的菜单栏里选择Sourc...

bramblewalls的博客 1万+

使用 lm-evaluation-harness 评测 MMLU-Pro:任务配置、CoT 提示与 14 科目实现解析

> 本文以仓库内 [mmlu_pro 任务说明文档](https://link.gitcode.com/i/d35e39c672859327eba67c2574815f0e) 为主体,结合其 YAML 任务配置与 `utils.py` 源码,完整讲解如何用 lm-evaluation-harness 复现 MMLU-Pro 评测:从分组结构、提示模板、10 选项生成式打分,到 14 个科目的过滤与

gitblog_01133的博客 353

yolo自动化项目实例解析(九) 导航

比如我们经常使用的导航,说白了就是寻找两点之间最近的路径,也就是所谓的寻路,我们需要想办法让程序知道他要去哪里,路径包含(起点、轨迹、路径)

默子昂 1996

Bybit面经

这段总结描述了求职者在Bybit面试过程中的经历和相关问题,包括面试内容、求职者向面试官提问的问题以及关于Bybit的信息

郑泽洲的博客 2580

从 Transformer 到 Vibe Coding:我的大模型词汇地图

从 Transformer 到 Vibe Coding:我的大模型词汇地图

taozibaby的博客 392

别再写前端了!用Gradio 3.x + HuggingFace Spaces,5分钟把你的Python算法变成网页应用

本文介绍如何利用Gradio 3.x和HuggingFace Spaces快速将Python算法转化为网页应用,无需前端开发经验。通过5行代码和简单的Git命令,即可实现专业级Web界面部署,大幅提升算法展示效率。特别适合算法工程师和数据科学家快速分享模型成果。

weixin_33443333的博客 332

全文 - Building AI Coding Agents for the Terminal: Scaffolding, Harness, Context Engineering, and Less

AI 编程辅助的格局正在经历一场根本性转变:从复杂的 IDE 插件转向通用的、终端原生的智能体(agent)。直接在开发者管理源代码版本控制、执行构建和部署环境的终端中运行,基于 CLI 的智能体为长程开发任务提供了前所未有的自主性。本文介绍OpenDev——一个专为这一新范式打造的开源命令行编程智能体。有效的自主辅助需要严格的安全控制和高效的上下文管理,以防止上下文膨胀和推理退化。

eloudy的专栏 455

【Cursor+Playwright-MCP 实现 AI 自主功能测试】含实例代码脚本+保姆级教程

本文档详细介绍了如何使用 Cursor(AI 编程助手)和 Playwright-MCP 库实现基于 GPT 模型的自动化功能测试。文档从环境搭建开始,逐步指导读者如何通过 Playwright 进行浏览器自动化,并利用 Playwright-MCP 集成 GPT 模型生成测试计划、执行测试步骤及生成测试报告。核心步骤包括安装依赖、配置 OpenAI API 密钥、编写代码实现 AI 驱动的测试流程,以及生成详细的测试报告。通过本文档,读者可以快速掌握从 0 到 1 实现 AI 自主功能测试的全流程。

Dreams°的博客 2893

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【LLM】第一章:大模型进化史+AI知识体系框架概览

大模型,具体说就是大语言模型,LLM,large language model,这个领域其实就是NLP,所以本专栏也是NLP专栏的延续,是NLP的高阶内容。

因为热爱所以坚持 487

深度学习工具包 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")

Agent Harness 设计哲学与十条设计原则

大语言模型(Large Language Model,LLM)的单步能力在持续提升,但长程任务的成功率越来越取决于模型之外的运行时系统。本文将 Agent Harness(智能体驾驭层,简称 Harness)界定为把模型推理转化为可执行、可恢复、可审计任务的运行时层,并指出现有工程实践在循环控制、工具契约、上下文管理、执行隔离与评测反馈之间存在结构性割裂。本文提出“有界自主”作为 Harness 的核心设计哲学:在风险、成本与可验证性约束下最大化智能体的有效自主性。

AI天才研究院 403

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Deep Agents 框架-基础篇

DeepAgents是LangChain生态中的高级API,构建于LangChain核心智能体模块和LangGraph运行时之上,旨在简化复杂智能体的开发。它提供任务规划、文件系统管理、子智能体生成等内置功能,适用于长期运行的多步骤任务。然而,DeepAgents并非独立框架,仍需依赖LangChain和LangGraph,学习成本较高。文档详细介绍了其核心能力、与LangChain/LangGraph的差异、配置方法及最佳实践,强调其在处理复杂任务时的优势,但也指出工程化选择需谨慎考虑其依赖关系和实际需求

yanghuashuiyue的专栏 442

Mythos Preview:通用大模型如何重塑网络安全工程范式

大型语言模型(LLM)正从文本生成工具演进为具备自主推理与工具调用能力的智能体。其核心原理在于长上下文理解、多步任务规划及跨工具闭环执行能力,技术价值体现在将传统依赖专家经验的安全分析转化为可调度、可复现的自动化工程。典型应用场景包括软件供应链漏洞挖掘、终端环境渗透测试与CI/CD安全门禁。Claude Mythos Preview作为前沿代表,以SWE-bench Pro 77.8%通过率和Terminal-Bench 2.0 82.0%通过率为标志,首次在真实系统中实现端到端漏洞发现与利用自动化,标志着

weixin_30596023的博客 391

AI工程师必备:高信息密度的可操作技术简报解析

在AI技术快速迭代背景下,‘可操作性’与‘信息密度’已成为工程师筛选技术资讯的核心标准。本文围绕一份聚焦模型、工具、数据集、论文与冷知识的实战型AI简报展开,深入剖析其‘三筛机制’(时效性锚点、可操作性验证、认知差补位)如何保障每条信息均可落地验证。结合llama.cpp、vLLM、litellm、Qwen2、Phi-3等高频热词,揭示从GitHub commit验证、GGUF量化实测到LoRA设备分配修复等真实工程链路。适用于需要快速评估新技术引入成本、规避部署坑点、提升本地推理效率的算法工程师、MLOp

alexhill2009的博客 335

GPT-5.5不存在:大模型版本命名逻辑与真实演进路径解析

大语言模型(LLM)的版本演进并非线性数字叠加,而是由架构范式、训练方法和工程基座共同定义的技术跃迁。所谓‘GPT-5.5’并不符合OpenAI官方命名体系,其本质是传播失真或商业包装产物;真实迭代如GPT-4到GPT-4o,体现为多模态融合、128K上下文支持与推理优化等可验证能力升级。理解模型版本背后的架构逻辑(如MoE稀疏激活、YaRN位置编码)和技术价值(低延迟、高稳定性、强工具调用),比追逐虚构编号更重要。本文聚焦GPT-4o等当前主流模型的实际能力边界、验证方法与落地策略,帮助开发者与决策者穿透

weixin_30851867的博客 404
上一篇: 20260406_191417_普林斯顿大学最新研究:首次用分布式系统理论破解LLM多Age
下一篇: Harness工程可视化入门基础教程(非常详细),拿捏Vibe Coding看这篇就够了!
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2835原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值