8_Harness驾驭工程实践:企业级落地与OpenAI案例解析

news2026/3/27 7:42:15
8_Harness驾驭工程实践企业级落地与OpenAI案例解析关键字企业级落地、OpenAI、Ryan Lopopolo、Codex、Harness Engineering、Citi Bank、Ancestry、Ulta Beauty、Agent-First开发、部署策略、自托管、成本优化、迁移路径、最佳实践、0行手写代码、百万行代码一、企业级落地的正确姿势1.1 一个典型的失败模式很多企业在引入DevOps平台时犯一个共同错误一上来就全面铺开试图替代所有现有工具。结果通常是迁移成本超出预期、团队抵触情绪大、新平台功能用不起来、半年后回到老工具。正确的做法是渐进式引入让价值驱动推广。1.2 四阶段落地路径企业级落地四阶段 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 阶段1试点第1-2个月 │ 目标验证平台能力建立信心 │ 选择标准 · 1-2个关键业务系统不是边缘项目 · 团队愿意尝试新技术 · 当前CI/CD流程有明显痛点 │ 实施范围 · Harness CI替换Jenkins/GitHub Actions · 启用Test Intelligence · 基础的CD流水线蓝绿部署 │ 成功标准 · 构建时间缩短30% · 测试时间缩短50% · 团队反馈正面 阶段2扩展第3-4个月 │ 目标从试点扩展到多个团队 │ 新增模块 · Feature Flags渐进式发布 · Cloud Cost Management成本可见性 · 持续验证部署后自动检查 │ 关键动作 · 建立内部最佳实践文档 · 培训DevOps Champion每团队1-2人 · 制定流水线模板标准 │ 成功标准 · 3-5个团队完成迁移 · 发布频率提升50% · 部署失败自动回滚成功率90% 阶段3深化第5-8个月 │ 目标全功能使用打通全链路 │ 新增模块 · 混沌工程韧性验证 · Security Testing Orchestration · OPA策略执行 · SLO管理 │ 关键动作 · 混沌工程纳入CI/CD流水线 · 安全策略自动化执行 · 成本优化成为常规工作 │ 成功标准 · 80%团队完成迁移 · 韧性评分70分 · 安全漏洞修复SLA缩短60% 阶段4优化第9-12个月 │ 目标AI深度集成数据驱动决策 │ 重点 · AI Agent网络全面启用 · 软件交付知识图谱积累足够数据 · 基于数据的持续优化 · Agent-First开发模式探索 │ 成功标准 · 自然语言交互覆盖50%操作 · MTTR减少70% · 云成本优化节省15%1.3 工具链集成清单工具链集成矩阵 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 代码托管 GitHub ✓ GitLab ✓ Bitbucket ✓ Gitness ✓ Azure DevOps ✓ 项目协作 Jira ✓ Linear ✓ Asana ✓ 通讯工具 Slack ✓ Microsoft Teams ✓ PagerDuty ✓ OpsGenie ✓ 监控/APM Datadog ✓ New Relic ✓ AppDynamics ✓ Prometheus ✓ Splunk ✓ 云平台 AWS ✓ GCP ✓ Azure ✓ Kubernetes ✓ Docker ✓ 制品仓库 Docker Hub ✓ ECR ✓ GCR ✓ Artifactory ✓ Nexus ✓二、OpenAI案例0行手写代码构建百万行系统2.1 实验背景2025年8月OpenAI工程师Ryan Lopopolo发起了一项极限实验实验参数 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 约束条件不允许任何人手写任何一行代码 工具 CodexOpenAI的AI编码Agent GPT-5 时间 5个月2025年8月 - 2026年1月 团队 最初3人后扩展至7人 起点 完全空的Git仓库 结果 · 代码量100万行 · PR数量约1,500个合并PR · 频率人均每天3.5个PR · 效率约为纯人工开发的1/10时间 · 用户数百名内部用户有稳定日活2.2 核心方法论Harness Engineering“Har Engineering这个词源自马具”——你给AI Agent套上马具约束和规范让它能高效地帮你拉车干活而不是在草地上瞎跑产出垃圾代码。Ryan Lopopolo提炼的四个核心技能Harness Engineering 四大核心技能 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 技能1持久执行Persistent Execution │ 问题Agent上下文窗口有限长时间任务会被截断 方案 · harness-tasks.json记录执行计划和任务队列 · harness-progress.txt记录操作日志和进度 · git log用Git历史作为状态恢复源 · 效果10秒内恢复会话支持25小时连续运行 │ 示例 # harness-tasks.json { tasks: [ {id: T1, status: done, desc: 创建数据库Schema}, {id: T2, status: done, desc: 实现认证模块}, {id: T3, status: in_progress, desc: 实现支付模块}, {id: T4, status: pending, desc: 集成测试}, {id: T5, status: pending, desc: 部署配置} ] } 技能2闭环测试Closed-Loop Testing │ 问题Agent写的代码有没有Bug谁来验证 方案 · V1阶段内部路径验证API调用是否返回正确状态码 · V2阶段外部回调验证调用真实外部API并验证响应 · V3阶段完整证据包请求、响应、数据库快照一起验证 │ 效果测试不是看退出码而是看业务不变式是否成立 技能3架构约束Architecture Guardrails │ 问题Agent的自由度太大可能破坏系统架构 方案 · 自定义Linter强制分层规则Controller不能直接访问DB · 结构测试验证模块依赖关系 · Ratchet策略存量问题加入白名单新增代码必须合规 │ 示例规则 # 不允许Controller直接注入Repository Rule(Controller层不能直接访问数据库) def no_direct_db_in_controller(): violations [] for file in controller_files: if Inject Repository in file.content: violations.append(file.path) return violations 技能4运行策略Marathon Rules │ 问题Agent长时间运行容易卡住或走偏 方案——三定律 1. 工作耗尽前不停机持续供给任务队列 2. 零决策点提前准备好API密钥、测试数据等 3. 防上下文退化进度文件维持状态一致性 │ 防僵局机制 · 同一文件编辑超6次 → 触发警报 · 同一文件编辑超12次 → 强制暂停等待人工介入2.3 Agents.mdAgent的工作说明书Harness Engineering中最关键的文件是agents.md——它不是百科全书式的项目文档而是一个精简的Agent导航地图!-- agents.md 示例约100行 -- # Project: Payment System ## Architecture - 后端: Spring Boot (Java 17), PostgreSQL, Redis - 前端: React TypeScript - 部署: Kubernetes, Helm Charts ## Code Location - API层: src/main/java/com/pay/api/ - 业务逻辑: src/main/java/com/pay/service/ - 数据访问: src/main/java/com/pay/repository/ - 测试: src/test/java/com/pay/ - 数据库迁移: src/main/resources/db/migration/ ## Key Commands - 构建: mvn clean package -DskipTests - 测试: mvn test - 格式化: mvn spotless:apply - 本地启动: mvn spring-boot:run -Dspring.profiles.activedev ## Architecture Rules - Controller → Service → Repository (严格单向依赖) - 禁止在Controller层使用Transactional - 所有外部调用必须通过CircuitBreaker ## Testing Rules - 新增代码必须包含单元测试覆盖率80% - 集成测试使用TestContainers - Mock外部服务调用 ## Done Criteria - mvn spotless:check 通过 - mvn test 通过 - mvn verify 通过包含集成测试 - 无新增SonarQube CRITICAL/HIGH问题关键设计原则精简约100行、实时更新、只写Agent需要知道的信息。太长的文档会浪费Agent的上下文窗口过时的文档会误导Agent的决策。2.4 实际成果与性能指标OpenAI实验关键指标 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 开发效率 · 总代码量1,000,000 行 · 合并PR数~1,500 · 人均日PR3.5个 · 效率提升约10倍对比纯人工开发 Agent性能 · 单任务通过率~80% · 最长单次运行25小时 · 失败原因分布 - 需求描述不清40% - 架构约束冲突25% - 外部依赖不可用20% - Agent能力不足15% 协作模式 · Codex负责开发与PR提交 · Claude Code负责代码审查 · 利用模型差异提升代码质量 人类角色变化 ┌────────────────────────────────────────────┐ │ 传统模式 Agent-First模式 │ │ │ │ 写代码 设计Agent工作环境 │ │ 写测试 定义测试标准和Done Criteria │ │ 调Bug 审查Agent的PR和架构决策 │ │ 部署 管理部署策略和安全策略 │ │ 监控 定义SLO和分析业务指标 │ └────────────────────────────────────────────┘三、行业客户案例3.1 Citi Bank分钟级发布与治理下放Citi Bank 案例 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 背景 · 全球领先的金融服务机构 · 超过20,000名工程师 · 复杂的合规要求SOX、PCI-DSS · 之前的部署需要数小时到数天 实施方案 · 替换手动部署流程为Harness CD · 采用蓝绿部署 金丝雀发布策略 · 使用OPA策略引擎实现治理自动化 技术架构 ┌──────────────────────────────────────────┐ │ 平台团队治理层 │ │ · 定义OPA策略模板 │ │ · 设置部署标准和安全基线 │ │ · 管理全局配置 │ └────────────────┬─────────────────────────┘ │ ┌────────────────┴─────────────────────────┐ │ 应用团队执行层 │ │ · 在策略约束内自由设计CD流水线 │ │ · 自主选择部署策略蓝绿/金丝雀/滚动 │ │ · 按需配置环境 │ └──────────────────────────────────────────┘ 核心成果 · 部署时间从数天缩短到7分钟 · 发布频率大多数团队每天多次生产部署 · 繁琐操作大幅减少人工操作 · 合规性100%的部署都经过OPA策略验证Citi案例最有价值的洞察是在高度管制的金融行业灵活性与控制不是非此即彼的选择。通过OPA策略引擎平台团队可以强制推行合规标准同时应用团队保留了足够的灵活性来自主设计交付流程。3.2 Ancestry80:1的开发者效率提升Ancestry 案例 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 背景 · 全球最大的族谱和基因检测服务 · 处理数十亿历史记录和DNA数据 · 多个微服务团队各自维护独立的CI/CD流程 痛点 · 每个团队都在重复配置类似的流水线 · 安全扫描和测试流程不统一 · 新功能部署到所有服务需要数周 解决方案 · 使用Harness模板系统标准化流水线 · 利用一次实现自动扩展的能力 · Feature Flags实现功能渐进式发布 核心成果 · 开发者效率提升80:1即1个人能完成原来80个人的配置工作 · 这不是夸张——之前每个服务都需要单独配置流水线 现在通过模板系统一次配置自动应用到所有服务3.3 Ulta Beauty电商平台时间节省Ulta Beauty 案例 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 背景 · 美国最大的美妆零售商之一 · 高流量电商平台促销期间流量激增 · 季节性发布压力大美妆产品随季节变化 痛点 · 新功能上线需要等待发布窗口 · 手动测试和部署流程容易出错 · 促销期间的系统稳定性难以保证 解决方案 · Harness CD Feature Flags组合 · 持续验证确保促销期间系统稳定 · 混沌工程验证系统韧性 核心成果 · 电商平台上线时间节省月度级 → 天级 · 促销期间零重大故障 · 功能发布频率从月度提升到周度四、Self-Driving Codebases另一种实现路径4.1 Harness平台 vs Cursor模式OpenAI的Harness Engineering和CursorAI IDE代表了两种不同的AI编码方向两种AI编码模式的对比 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 维度 Harness Engineering Cursor模式 ──────────────────────────────────────────────────── 核心理念 Agent自主执行 人机协同 运行环境 终端/云原生沙盒 IDE内嵌 交互方式 人类定义约束和目标 人类持续引导 代码所有权 Agent生成 人机共同 适用规模 百万行级项目 单文件/模块级 人类角色 架构师/约束设计者 开发者/审阅者 典型场景 大型项目从零构建 日常编码辅助 两者不是替代关系而是互补关系 · 大型项目的架构和骨架 → Harness Engineering · 日常编码和细节打磨 → Cursor/Copilot4.2 LangChain的开源项目实践LangChain团队也采用了Agent-First的开发模式利用AI Agent改造了开源项目的工程流程将Issue自动转化为PR用AI生成测试用例补充覆盖率文档更新与代码变更同步依赖升级的自动化处理他们的实践验证了一个判断Agent-First不仅适用于从零开始的项目也可以用于现有项目的维护和改进。五、最佳实践清单5.1 流水线设计流水线设计最佳实践 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✓ DO · 使用模板标准化流水线避免每个团队各搞一套 · 启用Test Intelligence不是每次都全量跑测试 · 在部署后配置持续验证不是部署完就不管了 · 用OPA策略自动执行安全检查 · 配置合理的冻结窗口 ✗ DONT · 在生产环境直接滚动更新没有验证 · 忽略测试环境/预发布环境的资源浪费 · 把所有步骤串行执行能并行的并行 · 跳过Feature Flags直接全量发布新功能 · 安全扫描结果只看不处理5.2 Agent-First开发建议给正在探索Agent-First的团队的建议 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1. 从小任务开始 不要一上来就让Agent写整个微服务 先从修复这个Bug添加这个测试重构这个函数开始 2. agents.md是最重要的文件 花80%的准备时间写好agents.md 它决定了Agent的工作质量上限 3. 建立反馈循环 Agent的PR必须有人审查 审查不是看代码风格而是看架构决策是否正确 4. 测试是生命线 没有自动化测试Agent的代码无法自证 投资在测试上永远不会亏 5. 接受不完美 Agent的代码不需要完美 能用 有测试覆盖 符合架构约束就够了 后续可以渐进优化六、总结这八篇文章覆盖了Harness平台从架构到实践的全景。如果要用一句话总结Harness的核心价值那就是它不是一个更好的CI/CD工具而是一个AI原生时代的软件交付操作系统。传统的CI/CD解决的是怎么把代码搬到生产环境Harness解决的是怎么让软件交付这件事本身变得更智能、更安全、更高效。当你把测试选择、部署验证、故障诊断、成本优化都交给AI来做的时候DevOps工程师就可以把精力放在真正有价值的决策上——架构设计、安全策略、可靠性工程、成本优化。而OpenAI的Harness Engineering实验告诉我们这个趋势已经从平台层面延伸到了代码开发层面。未来的软件工程师可能不是写代码的人而是设计AI工作环境的人。Harness平台和 Harness Engineering方法论恰好从两个维度回答了同一个问题当AI变得足够强大工程范式会发生什么变化答案是变化不是AI替代工程师而是工程师的角色从执行者变成设计者。CI/CD平台需要适应这种变化工程师也需要适应这种变化。这也是这八篇文章想传达的核心观点。系列导航1-架构全景 | 2-AI层 | 3-CI层 | 4-CD层 | 5-Feature Flags | 6-可靠性层 | 7-安全与成本层 | 8-企业实践

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2453725.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…