投到 AI 软件工程上: 经典软件工程:人在写代码 AI 软件工程:人在设计"AI 写代码的系统" 这是身份的转变,不只是工具的转变。 如果未来真有一本叫"AI 软件工程"的教科书,第一章应该写的就是这件事——它本质上是二阶控制论第一次大规模在认知工程领域工业化。 软件工程 认知回路 拉回 AI 自己纠不回的认知偏差 工程化的进程,本质上就是把人从主回路移到边界监督位的过程。 6.2 历史的接力棒 这恰好接上了第一章末尾那个伏笔:过去五十年软件工程的"失败",反而给 AI 软件工程的"降临"准备好了一件最关键的武器——成熟的自动化验证基础设施。 但当前的 RAG 系统、知识图谱、向量库全都是为陈述性知识设计的——AI 软件工程缺一个"场景化知识"的存储和检索范式。
备注:以下企业内分享转公开本文主题是:AI时代的软件工程-组织重构——跨越冰山陷阱,完成从代码编写者到AI智能体指挥官的组织跃迁首先探讨了在AI浪潮下软件开发模式的深刻转型,提出了从传统流程向AI时代Spec 在传统模式中,程序员往往在编码过程中通过大脑补全大量隐性逻辑,而AI时代则要求将这些设计判断工作重心前移。 这种转变促成了组织分工的重构:产品经理专注于高层业务目标,研发人员负责将规则与约束显性化,而AI则承担具体的执行工作。 最终,软件工程的胜负手不再仅取决于编程效率,而在于团队能否准确地将业务经验与工程约束沉淀为可被AI执行的标准化文档。 其次:提出全栈微单元是一种在 AI 赋能下,通过逻辑与组织的深度闭环打破传统技能沟通隔阂,同时在物理层面保留前后端专业化分层以确保系统高性能的垂直自治应用架构最后:提出AI 虽然能显著放大开发者的产出效率
前言 在全球首位AI软件工程师和人类历史上首位具身智能AI机器人出现后,AI的高速发展已经逐渐在很多方面影响和改变着我们的工作和生活的方式。 与之同时出现了很多开源版本的AI软件工程师,如:Open Devin—一个少编码、多创造的开源AI软件工程师和本文要介绍的Devika—一款代理人工智能软件工程师。 Devika - 代理人工智能软件工程师 重要提示 本项目目前处于非常早期的开发/实验阶段。目前还有许多未实现/损坏的功能。欢迎大家贡献力量,帮助项目进展! Discord服务器[13]•贡献[14]•许可证[15] 关于 Devika是一位高级AI软件工程师,能够理解高级别的人类指令,将其分解成步骤,搜索相关信息,并编写代码以实现给定目标。 AI 规划和推理 Devika 采用先进的 AI 规划和推理算法,将高级目标分解为可执行的步骤。规划过程包括以下阶段: 1.目标理解:Devika 分析给定的目标或任务描述,以理解用户的意图和要求。
每位老师的分享都充满着自己对AI时代软件工程的思考。从中,我们可以看到未来的可能,也可以看到当下的方向。在6位讲师的授权下,我们将当天每位老师的分享PPT做了汇总。大家赶紧点击链接下载保存收藏!
生成式人工智能有望改变一个又一个行业的工作方式,但软件工程的转型还没有结束。 Copilot 利用 OpenAI 的 Codex 模型,可能只是人工智能改变软件工程师工作方式的开始。 您可以关注软件工程师以外的人物角色,如需要提高笔记本书写能力的数据科学家(参见:Hex),或者苦于撰写SQL查询语句而努力奋斗的数据分析师。 并且,GitHub本身刚刚宣布,计划通过GPT-4使Copilot提供更强大的AI功能。但在我们看来,AI可以改变软件工程领域,这是一个重要而巨大的机遇,问题在于谁能抓住它。 本文来自红杉资本官网 BLOG,Eolink 翻译,以大语言模型为核心的 AIGC 技术已经在全球掀起创新风潮,Eolink AI 功能实现全新一代「AI+API」结合,大模型驱动打造 API 研发管理与自动化测试全新体验
这些技术不再是遥不可及的未来,而是真真切切地进入了我们的日常生活和工作中,特别是对软件工程专业的学生来说,这既是一次挑战,也是一场机遇。 试想一下,当你在开发一个项目时,一个“永不疲倦”的 AI 助手随时待命,帮你梳理代码逻辑、优化算法、甚至撰写技术文档,这不仅能大幅降低出错率,还能让你腾出更多时间去思考创新问题,这难道不是软件工程专业学生梦寐以求的福音吗 软件工程项目往往需要多学科、多技能的配合,AI 技术的加入更是如此。你可能需要与数据科学家、产品经理、设计师等多方面的同事紧密合作,共同打造出既符合用户需求又兼具前沿技术含量的产品。 作为软件工程专业的学生,学会批判性地使用工具,既是对自己负责,也是对未来用户负责。你需要在 AI 的输出结果上花费更多心思进行检查和优化,而这恰恰是培养专业技能的重要环节。 当然,AI 的迅猛发展也为我们的职业发展打开了新大门。未来的职场很可能会出现更多关于 AI 交互、数据治理、智能系统集成等方向的岗位,而这些岗位往往需要软件工程与 AI 技术的双重技能。
活人软件工程师被GPT替代后,团队组成可能只剩下两个活人:产品经理和审核。产品经理负责通过提示工程的手段向AI提出各种设想、要求并对成品作验收。 审核者则好歹看一下AI生成的代码(当然,这个时候他可能也没有能力靠“肉眼”去看了,还得借力各种AI工具,但也算是有个人类把关一下吧)。敏捷迭代?什么敏捷迭代?敏捷迭代还需要提吗? 号称AI赋能码农、增强其能力提升其效率的神器 - 各种Copilot,来了。随之而来的是各种“神预测”。“未来的工程师只有两种人,能利用AI的和不能利用AI的”。 “AI是平庸工程师的复仇”。有些技术视频博主如是说。 接下来,牢固掌握原理性知识、理解底层技术有Mechanical Sympathy的人,有机会“进化”成AI世代的软件工程师,而粘贴代码、搞点字节搬运、做做增删改查机械任务的那些,将消失于这个行业。
所以我今天也不准备谈这个问题,而更多的是想谈随着AI和大模型的出现,对整个软件工程和软件构建体系的造成了很大的影响。 1. AI对传统软件工程的重塑 首先我们来讲一下软件工程,因为我们传统的软件工程大家都很清楚,就是需求、设计、开发、测试到最终的部署,它符合基础的软件生命周期。 说的再不好听一点,只要有技术背景,往往以后一个产品经理就能够完成整个软件构建的工作,包括整个AI出现以后,对传统的软件工程也会造成很大的重塑。 好了那问题就来了,那么AI去实现这个软件或者是AI在编码的时候,他一定会严格按照我们传统的软件工程去做概要设计、详细设计、编码测试这么一条软件开发的流水线吗? 我的答案是不一定。 这个也是我一直强调的内容,AI做事情有AI自己做事情的思路,你不要按照传统的软件工程的思路来约束AI,这是我今天想讲的第一个点,即Ai对传统软件工程的重塑。 2.
本周 Signal 是我持续记录 AI 与软件工程变化的栏目。 不追热点,只记录那些正在发生、且值得长期跟踪的变化。 关于交流和关注 最近在关注一些大厂招聘时,发现一个比较明显的变化: AI相关能力开始进入普通软件工程岗位。 系统层 AI开始参与软件系统本身,例如: • AI coding workflow • Agent系统 • AI参与研发流程 这一层已经接近 AI-native software engineering 这些变化可能意味着一个更深的趋势: AI 不再只是一个独立领域,而正在逐渐成为软件工程的一部分。 当 AI 开始参与代码生成、任务执行甚至研发流程时,开发者的能力结构也在随之扩展。 某种意义上,软件工程岗位正在逐步走向 AI-native。
这不是在证明 AI Coding 不行,恰恰相反,它说明 AI Coding 已经用得足够深,真实的软件工程问题开始浮出水面了。 所以这组数字真正揭示的,不是“AI 写代码到底快不快”,而是另一个更关键的问题:当代码生成变得越来越便宜,软件工程里真正昂贵的东西是什么? 软件工程真正难的地方,往往藏在这两者之间。 当 AI Coding 进入真实组织,账就不能只算“代码生成速度”了。 不是 AI 突然变弱了,而是软件工程的复杂度回来了。 Harness 不是时髦词,而是让 AI 产出进入工程秩序 洪定坤在分享里也提到了 Harness。 说得简单一点: AI Coding 到了企业里,拼的不是谁能生成更多代码,而是谁能把 AI 产出纳入一个可控的工程流程。 这也是为什么 AI Coding 用得越深,软件工程反而越重要。
,AI 辅助软件工程(AI4SE)的设计与实施过程会有所差异。 识别痛点和需求:评估当前软件工程流程中的痛点和瓶颈。 选择合适的AI技术:根据业务需求选择合适的 AI 技术,如机器学习、深度学习、自然语言处理等。 AI 工程师可以学习基本的软件工程原则,而软件工程师可以学习如何利用 AI 工具和模型。 协作工具:使用协作工具和平台,如知识库和实时协作软件,帮助团队成员共享信息和进展。 软件工程是 AI4SE 的基础 笔者作为一个典型的工程师,会更倾向于认为软件工程是 AI4SE 的基础。理解软件工程的基本原则和最佳实践,是这个团队必须要具备的能力。 持续改进与技术更新 AI 技术在过去的一年里发展迅猛,新的 AI 工具和模型不断涌现,为软件工程带来了更多的可能性。
1.初识软件工程 1.1 软件的本质特性 定义 软件 = 程序 + 数据 + 文档 程序:计算机可以接受的一系列指令,运行时可以提供所要求的功能和性能。 软件工程发展历史概括如下: 史前时代 --> 瀑布流 --> 面向对象 --> 敏捷开发 ? 1.3 软件工程基本概念 工程 大规模的设计与建造 复杂问题与目标分解 团队协作与过程控制 软件工程 将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护, 即工程化应用到软件上 软件工程过程:从用户需求 --> 软件开发活动 —> 用户满意的产品 软件开发活动 ? 软件工程工具 ?
AI原生软件工程(AI-Native Software Engineering)正在从概念走向实践。 2026年4月的SITS奇点智能技术大会白皮书宣告软件工程从"AI增强"正式迈入"AI原生"纪元——编译器、调试器、测试生成器与部署引擎均被重定义为可微分、可提示化、可协同演化的语言模型代理。 需求即软件:AI Coding的终极图景从Loop Engineering到质量治理,这些短期热点指向的终极问题只有一个:当AI能够自主完成越来越多的软件工程任务,这个学科的最终形态会是什么? 他将演进分为三个阶段:AI先编写90%的代码行数,再完成90%的软件工程任务,最终实现100%的端到端自主交付。 AI-Native软件工程的三层收敛架构。
随着我们不断探索不断发展的技术领域,人工智能(AI)对各个行业产生的深远影响是不容否认的。AI 已彻底改变了运营,实现了任务自动化并提高了效率。然而,尽管有这些进步,AI 仍无法取代软件工程师。 软件工程师的独特性 虽然 AI 擅长自动化重复性任务、处理海量数据,甚至生成高质量的代码片段,但软件工程师的角色远远超出了这些功能。 同样,软件工程师使用 AI 来增强他们的能力,但由于他们独特的创造性思维和解决复杂问题的能力,他们仍然不可替代。 AI/ML 工程师、数据工程师和计算机视觉工程师等专业角色比以往任何时候都更受欢迎。 赋能软件工程师 支持软件工程师 完善他们的基本技能并为高级角色做好准备至关重要。 软件工程师对于技术的持续增长和发展至关重要。虽然 AI 可以增强他们的工作,但它无法取代软件工程师带来的创造力、批判性思维和协作。
因此,AI 时代软件工程的核心问题,不是如何让 AI 写更多代码,而是如何把概率性认知纳入工程化闭环。 一、软件工程史:五十年都在追赶一个从未真正实现的理想 软件工程从一开始就带着某种焦虑感。 四、Cynefin:AI 时代软件工程的新问题分类器 Cynefin 框架非常适合用来重新理解 AI 时代的软件工程。 从“人写代码”到“人设计 AI 写代码的系统” 你原文里说得很准确:经典软件工程是人在写代码,AI 软件工程是人在设计“AI 写代码的系统”。 这句话背后是角色迁移。 这意味着 AI 软件工程不能建立在“相信 AI”上,而必须建立在“审判 AI”上。 传统软件工程把系统看成“设计结果”。 AI 时代的软件工程要把系统看成“演化过程”。 在这个意义上,AI 软件工程更接近生物学、控制论、组织学和复杂性科学,而不再只是计算机科学的分支。
2.简述软件工程的基本原理。 (7)承认不断改进软件工程实践的必要性 软件开发和维护的过程也需要随之改进。要主动采用最新的软件技术,而且还要不断总 结经验和教训、收集历史数据帮助开发人员改进软件工程实践。 6.研究软件工程项目可行性应从哪几个方面分析?/简述可行性研究的 步骤。 答: 1.技术可行性 对要开发项目的功能、性能和限制条件进行分析,确定在现有的资源条件 下,技术风险有多大,项目能否实现。 /简述软件工程中需求分析的基本任务。 (1)确定对系统的综合要求 a.功能性需求b.非功能性需求c.出错处理需求,说明出错时对系统对环境时如何响应。d.逆向需求系统不应该做什么。
软件工程中应用的几种图辨析:系统流程图、数据流图、数据字典、实体联系图、状态转换图、层次方框图、Warnier图、IPO图、层次图、HIPO图、结构图、程序流程图、盒图、PAD图、判定表、判定树、Jackson 图、流图、甘特图、工程网络图 我们先将这几种图按照软件工程中的阶段分类~ 接下来看一下这些图都长什么样子~ 1.系统流程图 2.数据流图 3.数据字典 4.E-R图 5.状态转换图
1.2 软件工程的概念 1.2.1 软件工程的定义 IEEE 定义:应用系统的、规范的、可量化的方法来开发、运行和维护软件。 1.2.2 软件工程的发展 阶段演进: 程序设计时代(1940-1960):机器语言编程,无系统化方法。 软件工程时代(1980 至今):引入瀑布模型、面向对象方法、敏捷开发等。 1.2.3 软件工程的目标和原则 目标:在预算内按时交付高质量软件。 1.5.1 软件工程教育 核心课程: 数据结构与算法 操作系统 数据库系统 软件工程导论 1.5.2 软件工程学科 知识领域(SWEBOK 指南): 软件需求 软件设计 软件构造 软件测试 软件维护 1.6 软件工程开发过程中的职业 1.6.1 软件工具 常用工具: 开发工具:IDEA、VS Code 版本控制:Git、GitHub 测试工具:Postman、Selenium 1.6.2 软件开发环境
软件工程视频最近才看完,大部分的内容都已经用思维导图做了总结,现在对软件工程进行总的介绍 软件工程是一种描述规范。 了解并掌握软件的开发步骤、方法、准则,从而 克服、解决“软件危机”; 改进“软件生产”方法、工具 提高软件的生产率 首先,从大的方面,软件工程有两大部分组成 管理和开发技术 随着时代的进步,软件规模会不断的增大,开发人员也会逐渐增多,开发时间也会变得越来越长,这就加大了工程管理的难度;在软件的开发过程中,有管理失误造成的后果要比程序错误造成的后果更为严重;所以说,软件工程管理真的很重要 软件工程有三目标,质量、成本、进度,这些问题可以通过软件开发技术来解决 ?
别说, 前辈们已经给出了一些项目流程的模型, 既软件工程. 可以简单了解一下, 带动一下我这生了锈的脑子. 为了解决这些问题, 前辈们提出了软件工程.