工业级 AI Coding 怎么真正落地

Harness底座驱动的AI Coding Agent工业级落地实践 AI Coding Agent正从概念验证迈向生产可用,其核心在于能否构建确定性、可审计、可回滚的工程化闭环。Harness作为AI Agent实时操作系统,通过快照式上下文隔离、强类型Skill注册与eBPF级资源熔断,解决了多租户并发、工具误调用与异常退化等工业场景关键痛点;结合SDD结构化设计契约与AIDLC全生命周期质量控制,实现从需求描述到安全交付的端到端自治。本文聚焦Harness底座部署、SDD编写规范及AIDLC策略配置,为金融、制造、政务等高合规要求领域提供可复用的AI编码落地路径。 阅读详情

这一篇文章是我上一篇的后续内容,上一篇链接见:我重新理解了一下 AI 写代码真正厉害的不是让 AI 帮你写,而是让它成为一个靠谱的工程伙伴​​​​​​​

一、后来我慢慢发现:AI 写代码真正缺的不是能力,而是上下文

很多时候我们觉得 AI 写代码不稳定,会觉得:

“是不是模型还不够强?”

但实际开发过程中,我发现很多问题并不是模型能力的问题。

而是 AI 根本不知道你的项目背景。

比如你让 AI 修改一个订单接口。

人类开发看到代码,会自然知道:

  • 这个项目用的是 MySQL;

  • 这个服务已经有统一异常处理;

  • 订单状态只能通过状态机变化;

  • 这里不能直接修改数据库;

  • 这个接口需要经过权限校验。

但是 AI 不知道。

它看到的可能只有:

“请修改这个方法。”

于是它按照自己的理解生成了一段代码。

这也是为什么很多人第一次用 AI 写代码觉得很惊艳,但真正进入项目后会发现:

“怎么越用越乱?”

原因很简单:

AI 缺少项目上下文。

所以我现在认为,AI Coding 的第一原则:

不要让 AI 猜项目,而是主动把项目知识交给 AI。


二、项目知识库:让 AI 从“陌生开发者”变成“熟悉项目的新人”

这里就涉及一个现在比较热门的概念:

RAG。

很多文章讲 RAG 会讲得比较复杂。

其实简单理解:

就是给 AI 建一个项目知识库。

里面放:

  • 项目代码;

  • 技术文档;

  • 架构设计;

  • 接口规范;

  • 数据库设计;

  • 历史 Bug;

  • 开发规范;

  • 常见问题。

以后 AI 写代码的时候,不是凭空生成。

而是:

先理解项目。

再根据项目已有规则生成。


举个简单例子。

普通 AI:

你问:

“帮我写一个用户登录接口。”

它可能生成:

User login(String username,String password)

但是你的项目可能:

  • 用户密码必须加密;

  • 登录需要验证码;

  • Token 使用 JWT;

  • 需要记录登录日志;

  • 连续失败需要锁定账号。

如果 AI 不知道这些,很容易写出一个“能运行但是不能上线”的接口。


而有项目知识库之后:

AI 会知道:

“这个项目之前所有登录接口都是:

  • 使用统一 AuthService;

  • 密码使用 BCrypt;

  • 返回统一 Result;

  • 异常使用 BusinessException;

  • 日志必须记录 userId。”

最终生成的代码才更接近真实项目。

所以我觉得:

未来优秀的 AI Coding,不是谁会问 AI。

而是谁能把自己的项目知识整理给 AI。


三、AI Coding 的关键:任务拆分能力比 Prompt 更重要

以前大家研究 AI 写代码,经常讨论:

“怎么写 Prompt?”

比如:

“你现在是一名资深 Java 架构师,请帮我设计……”

这种 Prompt 确实有一定帮助。

但是实际开发后,我发现:

Prompt 不是最核心的问题。

真正影响结果的是:

任务拆分。


很多 AI 翻车,并不是因为不会写。

而是因为任务太大。

比如:

让 AI:

“开发一个类似淘宝的商城系统。”

这个任务对于人来说都太大。

更不用说 AI。

正确方式应该拆解:

商城系统:

↓

用户模块

↓

商品模块

↓

购物车模块

↓

订单模块

↓

支付模块

↓

库存模块

然后继续拆:

订单模块:

↓

订单创建

↓

订单查询

↓

订单状态流转

↓

取消订单

↓

超时关闭

每一个任务:

  • 输入明确;

  • 输出明确;

  • 验收标准明确。

AI 的稳定性会明显提高。


这其实和软件工程里的思想很像:

不要设计一个巨大的函数。

拆成多个小函数。

不要让一个 Agent 做所有事情。

拆成多个专业 Agent。


四、我理解的工业级 AI Coding 流程,大概是这样

如果让我现在设计一个比较可靠的 AI 开发流程,我觉得应该包含下面几个阶段。


第一步:先由人确定规则,而不是让 AI 决定架构

这是最重要的一点。

很多人希望:

“让 AI 自动设计系统。”

但在生产环境,我认为这是危险的。

架构里面包含很多经验:

比如:

  • 为什么选择微服务?

  • 为什么这里不用缓存?

  • 为什么数据库这样设计?

  • 为什么接口这样定义?

这些东西不是简单代码生成。

所以:

架构设计应该由人完成。

AI 负责实现。


这一阶段主要产出:

业务规范

告诉 AI:

系统解决什么问题。

包括:

  • 用户角色;

  • 业务流程;

  • 异常情况;

  • 业务规则。


技术规范

告诉 AI:

代码应该长什么样。

例如:

  • 使用什么框架;

  • 如何分层;

  • 命名规范;

  • 异常处理;

  • 日志规范。


接口规范

比如:

接口:

POST /user/login

明确:

请求:

{
 username:"",
 password:""
}

返回:

{
 code:0,
 message:"",
 data:{}
}

不要让 AI 自己猜。


第二步:AI 根据规范生成代码

到了这里,AI 才真正开始发挥优势。

它非常适合:

  • CRUD;

  • DTO;

  • VO;

  • 接口文档;

  • 单元测试;

  • 基础工具类;

  • 重复业务代码。

这些事情:

人写很浪费时间。

AI 做非常合适。


比如:

你已经定义:

用户表:

user

id
username
password
phone
status
create_time

接口规范:

新增用户

POST /users

那么 AI 可以快速生成:

  • Entity;

  • Mapper;

  • Service;

  • Controller;

  • Test Case。

效率提升非常明显。


第三步:AI 自己检查自己

这里是很多普通 AI Coding 缺失的一环。

很多人的流程:

AI 写完。

人看一下。

觉得 OK。

上线。

但是生产环境不能这样。

应该增加自动检查。

比如:

AI Code Review Agent

专门负责找问题。

检查:

  • 是否符合设计文档;

  • 是否存在安全风险;

  • 是否违反代码规范;

  • 是否遗漏异常处理。


例如:

AI 生成:

String sql="select * from user where id="+id;

普通 AI:

可能觉得没问题。

Review Agent:

马上发现:

SQL 注入风险。

然后要求修改:

使用参数绑定。


五、自动化质量门禁:让“不合格代码”根本进不了主分支

我觉得这是 AI Coding 能不能进入企业最大的区别。

传统开发:

开发人员提交代码。

人工 Review。

合并。

上线。

AI Coding 后:

应该变成:

AI生成代码

↓

自动检查

↓

测试

↓

人工审核

↓

合并


这里一般包括几层:

第一层:代码规范检查

例如:

  • 命名;

  • 格式;

  • 重复代码;

  • 复杂度。


第二层:安全扫描

检查:

  • SQL 注入;

  • 敏感信息泄露;

  • 权限漏洞;

  • 不安全依赖。


第三层:自动测试

AI 根据需求生成测试。

验证:

  • 正常流程;

  • 异常流程;

  • 边界情况。


最后:

只有通过所有检查。

代码才能进入主分支。


这其实改变了一个思路:

以前:

人负责发现 AI 的错误。

未来:

系统负责过滤大部分错误,人负责最终决策。


六、人和 AI 的关系,我觉得应该重新定义

很多人说:

“AI 会不会替代程序员?”

我的理解是:

未来可能变化的是程序员的工作方式。

以前:

程序员大量时间花在:

  • 写重复代码;

  • 查 API;

  • 改格式;

  • 写简单测试。

这些事情 AI 会越来越擅长。

但是:

真正重要的能力:

  • 理解业务;

  • 设计系统;

  • 做技术决策;

  • 控制风险;

  • 解决复杂问题。

反而更加重要。

所以 AI 并不会简单替代程序员。

更像是:

一个能力很强,但是需要正确管理的新同事。

你需要告诉它:

目标是什么。

规则是什么。

什么事情不能做。

然后让它发挥效率。


下一部分继续:

第三部分:个人/小团队如何落地 AI Coding、我认为未来开发者真正需要培养的能力,以及最终总结。

Agentic AI Coding实战:从目标定义到自动交付的工程化落地 Agentic AI Coding 是当前AI编程范式演进的核心方向,指AI系统基于高层目标(goal)、结构化工具(tool)与自我反思(self-reflection)能力,自主完成代码生成、测试、部署等全链路任务。其技术原理根植于ReAct推理框架、状态图编排(如LangGraph)与沙箱化工具调用,区别于传统补全式Copilot,更强调意图理解、任务拆解与闭环验证。该范式已进入实质生产期,在电商看板自动生成、风控策略编排、设计稿转代码等场景规模化落地。本文聚焦可复现、可审计、可运维的Agentic 阅读详情

相关推荐

LangGraph实战:构建可审计、可干预的工业级AI智能体

AI智能体(Agent)是大模型落地的核心范式,其本质是将自然语言意图转化为结构化、可追溯、可中断的执行流程。LangGraph作为新一代图编排框架,通过State-Node-Edge三元模型,突破传统链式调用的局限,实现状态驱动的动态路由与人在环中的精准干预。相比Vibe Coding等直觉式开发,LangGraph提供工程级保障:结构化状态定义确保数据一致性,Conditional Edge支持多分支决策,Immutable State机制杜绝隐式污染。它广泛应用于供应链预警、客服对话、合同审查等需高可

weixin_29056865的博客 249

Harness底座驱动的工业级AI Coding Agent落地实践

AI Coding Agent是面向企业软件研发的智能体范式,其核心在于任务分解、工具调用、上下文记忆、自修复与结果验证的闭环能力;Harness作为Agent工程化底座,提供可管控、可审计、可回滚的执行基础设施,解决LangChain等轻量框架在生产环境中的稳定性与可观测性短板。该技术显著提升银行、能源、制造等领域的遗留系统演进效率,支撑SDD(软件设计文档)活态化与AIDLC(AI驱动生命周期治理)深度融合,实现需求→设计→代码→测试→合规的端到端自动化。本文聚焦Harness部署、SDD建模与AIDL

weixin_34160277的博客 319

从Vibe Coding到LangGraph:AI应用开发工程化实战指南

LLM应用开发正从提示词驱动的Vibe Coding向状态机编排演进。LangGraph通过状态、节点、边构建有向图,将模型输出纳入确定性流程控制,解决多步推理、条件分支、人工介入等场景下的稳定性问题。其技术价值在于关注点分离:LangChain负责模型调用与工具集成,LangGraph负责流程编排与状态管理,使AI应用具备可观测、可回放、可扩展的工程能力。在客服工单、设备巡检报告处理等场景中,该方案能显著提升自动处理比例并降低人工审核成本。本文深入对比两种范式差异,详解LangGraph核心概念与实操要点

weixin_29054245的博客 152

基于vibe coding,1个人的软件工程学(30+万行代码)

基于AI的vibe coding仍然要走出软件作坊的思维方式,但是和堆人时代的软件开发相比,我们思考的是1个人如何带着N个AI助手进行开发的软件工程学。

iNeuOS工业互联网操作系统 398

AI大厂面试题-第十四章

一个团队把 System Prompt 里的"你应该仔细分析"改成了"你应该深入分析",结果 Agent 从原来的一轮搞定变成了平均多调 2 次工具才完成任务,Token 消耗涨了 40%,排查了两天才定位到是这一个词的变化。代码的生命周期里,“写"只占了不到 20%,剩下 80% 是"读、改、调试、交接”。:审查 AI 代码的核心转变是从"找逻辑错误"转向"找语义偏差"——AI 写的代码往往逻辑自洽、命名规范、异常处理完备,但它做的事情可能根本不是你想要的,这种 Bug 比手写代码的 Bug 更难发现。

技术博客 31

PowerBI参数化实战:3分钟搞定动态数据源切换(附常见错误排查)

本文详细介绍了PowerBI参数化实战技巧,教你3分钟实现动态数据源切换。通过创建参数、改造查询和测试切换三步,轻松应对多环境部署与团队协作中的路径问题,并附上常见错误排查指南,有效提升报表的可维护性和工作效率。

p1q2r的博客 585

别再凭感觉用 AI 写代码了!Spec Coding 才是大厂认可的 AI 工程化写法

摘要: 本文对比了AI编程的两种模式——VibeCoding(模糊聊天式开发)与SpecCoding(规约驱动开发),指出后者是工程化项目的关键。VibeCoding依赖口头需求,适合临时小项目但易失控;SpecCoding则通过标准化文档(需求规约spec.md、技术方案plan.md、任务拆解task.md)提前对齐设计,减少返工。文章提供四步落地流程(Specify→Plan→Tasks→Implement)及GitHub spec-kit工具教程,强调其灵活性与瀑布流的本质区别。适用场景:复杂项目用

m0_67391870的博客 400

开源大模型“去审查化”技术解析:从LLaMA架构到本地部署与伦理边界

大型语言模型(LLM)基于Transformer架构,通过海量数据训练获得理解和生成自然语言的能力。其核心原理在于自注意力机制对上下文关系的建模。为了确保输出内容的安全与合规,主流模型普遍采用基于人类反馈的强化学习(RLHF)等技术进行安全对齐。这一过程旨在使模型行为符合人类价值观,是AI伦理工程实践的关键环节。然而,在特定研究场景下,如对抗性测试或内容安全算法研究,技术人员需要模拟极端对话以评估系统鲁棒性,这催生了针对“去对齐”或“移除护栏”的技术探索。此类技术通常通过对预训练模型进行反向微调或继续训练来

weixin_33743880的博客 585

Vibe Coding与LangGraph:AI编程范式迁移实战指南

Vibe Coding代表人机协同的新编程范式,其核心是将自然语言意图高效转化为可执行逻辑,依赖LLM语义理解与prompt工程化;LangGraph则通过有向状态图重构AI工作流,解决LLM固有的幻觉漂移与上下文坍塌问题,实现可观测、可中断、可回溯的工业级编排。二者共同推动开发重心从‘写代码’转向‘定义状态契约’和‘设计认知流程’,在金融合规、设备诊断、政务问答等真实场景中显著降低需求变更成本与胶水代码量。本文基于三个已上线项目,系统拆解从模糊意图锚定到图谱级可观测落地的完整技术路径。

weixin_30607125的博客 265

如何用ggplot2绘制专业级双侧柱状图展示GO富集结果(附完整代码)

本文详细介绍了如何使用R语言的ggplot2包绘制专业级双侧柱状图展示GO富集结果,包括数据预处理、基础图形构建、高级样式定制和出版级细节调整。通过完整的代码示例和实用技巧,帮助生物信息学研究人员高效可视化高通量数据,提升学术图表的质量和可读性。

weixin_30342209的博客 75

从零到一:uniPush2.0全链路集成与多厂商通道配置实战

本文提供了uniPush2.0从零开始的全链路集成与多厂商通道配置实战指南。详细讲解了DCloud平台配置、uniCloud云函数开发、客户端CID获取与消息监听,并重点攻克了华为、小米、OPPO、vivo等主流厂商推送通道的配置难点与避坑技巧,帮助UniApp开发者实现“一次集成,全端覆盖”的高效消息推送方案。

onion的博客 431

Al for Industry|用自然语言完成工业级应用生成

👇点击链接或复制至浏览器立即体验:

BLUETRON的博客 22

Verilog实现FIR滤波器

1、FIR滤波器简介 不追究FIR滤波器的深层含义,我们只关注如何实现;可以看出,FIR滤波器的本质就是延迟、系数相乘与求和,如下图: 2、设计 基于以上分析,按照三级流水实现FIR滤波器设计:信号延迟-系数相乘-求和 `timescale 1ns / 1ps module fir( input clk, input rst_n, input [3:0]din, output reg [9:0]dout ); // data reg reg [3:0]din1; reg [3:.

CLL_caicai的博客 1万+

Vibe Coding与LangGraph:AI时代的新编程范式

Vibe Coding并非替代编程,而是一种以自然语言驱动AI协同开发的认知范式,其核心在于意图精准表达与状态化流程编排;LangGraph作为支撑该范式的底层框架,通过有向无环图(DAG)与状态机双模型,实现复杂AI工作流的可调试、可审计与可扩展;技术价值体现在大幅降低认知负荷、加速需求到交付周期,并提升系统可观测性与业务迭代效率;典型应用场景包括智能客服、工业Agent、教育SaaS等需多跳决策与人工协同的领域;本文聚焦Vibe Coding落地实践与LangGraph工程化要点,涵盖意图压缩、stat

weixin_29050513的博客 148

机器人控制基础:电机编码器常见类型

电机编码器是测量电机位置、速度和方向的传感器,主要分为光电、磁性和旋转变压器三类。光电编码器精度高但需防尘,适用于伺服系统;磁性编码器耐环境性强,常用于汽车电机;旋转变压器适应极端环境,多用于军工领域。按信号类型可分为增量式(成本低)和绝对式(断电保留位置)。选型需综合考虑精度、环境适应性及成本。

start_up_go的博客 475

Ubuntu Rtx3090 Cuda11.7 安装 pytorch3d

pytorch ubuntu pytorch3d 安装

G果的博客 2270

从Vibe Coding到LangGraph:AI编程工程化实战指南

大语言模型驱动的代码生成正在改变软件开发方式,Vibe Coding让开发者通过自然语言快速生成可运行代码,大幅提升原型验证效率。然而,当AI应用需要多步骤推理、状态管理和人工介入时,线性链式调用难以支撑复杂流程。LangGraph通过图结构建模有状态工作流,以节点、边和检查点机制实现流程的可编排、可暂停与可恢复,为AI编程从探索期走向工程化提供了关键基础设施。在智能客服、代码审查、自动化报告等场景中,这种范式让AI应用具备生产级的可控性与可扩展性。

weixin_42520661的博客 211

innovus:ccopt_design分段长tree操作

这步don't touch保证后面完整cts尽量不会动到已经长过的tree。需要给sub tree手写一个spec,参考create_ccopt_clock_tree_spec -file的写法,只写create_ccopt_clock_tree和skew group部分就行。

m0_61544122的博客 1674

AI日报 2026-10-16

今天的信号收敛为一条主线:AI 的竞争重心正从"模型谁更聪明"彻底下沉到"能不能可控、可负担、可规模地干活"——coding 侧 Meta 把开放权重推上 Mac 桌面、英特尔因 agent 沙箱需求重估 CPU,决策模型被单独拆出来打成本战,而 Anthropic agent 失控升级把安全从选项变闸门;具身侧工博会收官交出"可售成熟品 + 数字孪生防幻觉"的答卷,张江与济南把场景运营权交给开发者与商业服务。两条赛道在同一句话里汇流:下一阶段的赢家不靠参数,靠工程化落地与可信治理的双轮。

能源星球的博客 581

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

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

2026最新 STEM 留学生求职规划指南!关键节点拆解「蒸汽求职分享」

站在 2026 年的求职节点,AI 工具的普及与海外招聘市场的精细化彻底改变了科技与工程岗位的招聘规则。盲目海投和纯刷题时代已经过去,如何制定**2026流行的STEM求职规划方案**?针对 2026 级与 2027 级 STEM 留学生,本文深度拆解从 OPT 申请时间线、最新投递窗口期,到 DE/AE、SRE、Cloud Engineer 及 AI 应用层岗位的避坑指南,为你提供一份通往终面 Offer 的完整 STEM 路线图!

StemCareerGroup的博客 189

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

从Vibe Coding到LangGraph:AI应用工程化演进与实战

在AI应用开发中,Vibe Coding以快速原型见长,但缺乏工程约束。LangGraph通过图结构显式编排节点、边和状态,实现可调试、可复现的工作流。这种工程化方法提升了AI智能体的可靠性和可维护性,适用于多Agent协作、人在回路等场景。本文深入解析LangGraph核心概念,并完整实操搭建工作流,助你掌握从探索到交付的演进路径。

weixin_29052717的博客 150

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【三年面试五年模拟】2026-08-09_影石创新_AI Agent一面面经全解析

影石创新 AI Agent 一面完整问答,覆盖 Spec Coding、Harness、Agent 容错与自动恢复、记忆和上下文压缩、Prompt 与幻觉治理、Skill、Java 线程池、JVM、MySQL 日志与两阶段提交及算法题。

Rocky Ding相信人工智能、数据科学、商业逻辑、金融工具、终身成长以及顺应时代的潮流会赋予我们超能力。 344

一份 Agent 工程岗 JD,暴露了市场真正想要什么样的人

最近刷到一份 Agent 工程师的岗位 JD,跟以前的前端岗位完全不一样了。看完我意识到一件事:现在 AI Agent 领域真正缺的,不是 “谁会调 Prompt” ,而是谁有能力把 Agent 工程化落地。这份 JD 本质上就是一张 AI Agent 工程师的技能树。我决定把它彻底拆开,整理成一份完整的学习路线,帮助自己成长(因为我目前也在这条路上走呢),顺便分享给所有想往这个方向走的朋友。不感兴趣的就算了哈.....

2601_96189255的博客 209

拆解Claude Code源码:生产级AI Coding Agent的工程骨架与设计逻辑

大语言模型驱动的AI Coding Agent正成为软件开发领域的热门实践,但要让模型从“生成代码”进化为“独立完成任务”,关键在于外层的工程骨架。理解Agentic Loop的感知-规划-行动-观察闭环,是构建自主智能体的基础;而对工具调用、上下文管理与权限控制等机制的把控,则决定了其能否在真实代码仓库中稳定工作。本文以业内热议的Claude Code源码设计为参考,从Agent循环、工具系统、上下文压缩、安全防护等通用视角展开,帮助开发者掌握生产级Agent的核心能力,并理解其与玩具Demo的本质区别,

weixin_28221501的博客 256

收藏!小白程序员轻松入门大模型,带你快速上手并斩获Offer!

本文分享了作者从本科阶段如何通过实习和项目经验,成功在大模型领域获得腾讯Offer的心得。文章强调实习的重要性,建议尽早开始海投,并指出实习期间能接触到业界顶尖资源。同时,作者还介绍了简历制作、面试准备等方面的经验,如注重业务相关经历、算法比赛和论文,以及LeetCode和GPA的重要性等。最后,作者鼓励读者积极学习大模型相关知识,并通过实战提升自己的能力。

优快云_224022的博客 515

OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生

AI 领域最近又在整活,既 MCP、Skills 之后,又诞生一 AI 流行黑词:**Harness**! 那么这个 Harness 是什么呢?我认为***他是在对其他所有模型(不包括 Claude 与 Google)做嘲讽***,大概意思是:**傻了吧,让你们还傻乎乎的 all in 模型训练,哥我在 AI 工程应用的路上越走越远了!

m0_59164520的博客 361
上一篇: 我重新理解了一下 AI 写代码:真正厉害的不是让 AI 帮你写,而是让它成为一个靠谱的工程伙伴
下一篇: 个人/小团队如何落地 AI Coding、我认为未来开发者真正需要培养的能力,以及最终总结。
EVEDensity
博客等级 码龄2年 5粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值