注册并分享邀请链接,可获得视频播放与邀请奖励。

与「软件工程」相关的搜索结果

软件工程 贴吧
一个关键词就是一个贴吧,路径全站唯一。
创建贴吧
用户
未找到
包含 软件工程 的内容
在人工智能领域激烈的人才竞争与充裕的风险资本双重驱动下,美国初创公司为软件工程师提供的薪酬结构正向高现金模式转变。根据 来源:华尔街日报
显示更多
Anthropic 今天正式致信美国参议院银行委员会和白宫,指控阿里巴巴旗下的通义千问(Qwen)AI 实验室对 Claude 发动了迄今为止规模最大的蒸馏攻击。 根据 CNBC 和 Reuters 获取的信件内容,通义千问关联方在 4 月 22 日到 6 月 5 日期间,通过大约 25,000 个虚假账号与 Claude 进行了超过 2880 万次交互。攻击的目标很明确:Claude 最核心的软件工程和 Agent 推理能力。 这个数字放到上下文里才知道有多夸张。今年 2 月,Anthropic 公开点名过 DeepSeek、MiniMax 和 Moonshot AI 三家,说它们用大约 24,000 个假账号总共产生了 1600 万次交互。阿里巴巴一家的量,接近之前三家加起来的两倍。 所谓蒸馏攻击(adversarial distillation),简单说就是拿别人家的顶级模型当老师,大规模喂它问题,收集回答,再用这些回答训练自己的模型。这样做的好处是可以跳过数百万甚至数十亿美元的独立研发成本,快速接近对手的能力水平。Claude 在中国是不可用的,所以这些操作本身就违反了 Anthropic 的服务条款和地域限制。 Anthropic 在信中写道,这些蒸馏攻击是系统性的、工业化规模的,目的是收割美国 AI 能力,然后重新包装成自己的产品。阿里巴巴对此未予置评。 这件事的时机很微妙。Anthropic 现在跟特朗普政府的关系并不好。就在 6 月 12 日,商务部以国家安全为由下令 Anthropic 停止向所有外国人提供其最新的 Fable 5 和 Mythos 5 模型的访问权限,包括 Anthropic 自己的外籍员工。Anthropic 不得不在全球范围内关闭这两个模型,到现在还没恢复。Anthropic 公开表示不同意这一决定,认为一个"狭窄的潜在越狱漏洞"不应该成为召回已部署给数亿用户的商业模型的理由。 所以 Anthropic 现在的处境相当拧巴:一边在跟华盛顿说中国公司在偷我们的技术,请帮忙,一边在跟同一个政府争论你不该限制我们的模型。 不过国会两党在这件事上倒是有共识。参议员 Bill Hagerty(共和党)和 Andy Kim(民主党)计划在必须通过的国防授权法案中提出修正案,对被发现非法获取美国 AI 模型输出的中国公司实施制裁或列入黑名单。Anthropic、OpenAI 和 Google 三家也已经联合起来,共享蒸馏攻击的情报信息。 Anthropic 目前估值 9650 亿美元,本月已秘密提交了 IPO 申请,最早可能今年秋天上市。蒸馏攻击对一家即将上市的公司来说是实打实的商业威胁,中国竞争对手用极低的成本复制出接近的产品,直接侵蚀市场空间。
显示更多
0
48
89
10
转发到社区
推荐这篇文章,Flask 作者 Armin Ronacher 写了这两天我看到最诚实的 loops 反思。之前两篇都在讲 loop 怎么搭、工程怎么落地,这篇问了一个没人敢问的问题:loop 写出来的代码你真的喜欢吗?如果你在用 AI 写代码,这篇可能会让你停下来想一下。 即将到来的 Loop 我不再给 Claude 写 prompt 了。我跑着一些 loop,它们负责给 Claude 写 prompt 并决定做什么。我的工作是写 loop。 — Boris Cherny 过去几个月,我看到越来越多的人在 coding agent 之上构建一些感觉上跟"直接用 coding agent"有本质区别的东西。模式到处都一样:任务被放进某种队列,机器捡起来、尝试、停下来,然后 harness 判断那是不是真的结束。 如果不是,harness 继续同一个 session、注入另一条消息、用修改过的 context 启动一个新的 session、或者把任务发给另一台机器。任务在模型自己本该说"我做完了"的那个点之后,继续活着。 我想这种 loop 想到自己都不好意思承认。 每个 coding agent 内部已经有一个 agent loop 了。模型调用工具、整合结果、再调用工具、读文件、改文件、跑测试、最终生成答案。那个 loop 我们已经相当熟悉了。另一种 loop 是 harness 级别的 loop:agent loop 之外的 loop。那个 loop 也不是新的。从 Claude Code 早期我们就一直在做各种版本,但那个 loop 在 agentic engineering 中越来越重要,最近几周已经开始主导 Twitter discourse。 我还不擅长这个 我目前的状况是:对于我真正在意的代码,我还没怎么成功用过这种工作方式——而这恰好是我相当大一部分代码。 部分原因是品味,部分原因是控制。我对我想要的代码样子设了一个很高的标准,我想理解我交付的代码。在压力下,或者跟另一个人讨论时,我想能够解释清楚系统做了什么,而不是先让一个 clanker 解释给我听。显然,这种"想理解代码"的愿望是否会在几年后依旧存在,是一个问题。但现在,我还没有越过"理解对我来说很重要"这个阶段。 基于这个愿望,对于没有我关注时写出来的代码,尤其是由 loops 产生的代码,我感觉有些东西缺失了。当前模型倾向于产生过于防御性、过于复杂、推理过于局部的代码。它们避免强不变量。它们添加 fallback 而不是让坏状态变得不可能。它们重复代码、发明糟糕的抽象、用更多 machinery 掩盖不清晰的设计。更糟的是:我几乎看不到这方面有什么进步。如果有什么变化的话,我觉得我们可能还在往错误的方向走。至少以我的品味,当前像 Claude Code with ultracode 这样的无人值守 harness 产出的代码,比去年秋天我们产出的还要差。因为 Claude Code 加 Fable 会连续不停地在一个问题上工作 30 分钟甚至更久,而过去这个过程会有更多人参与。 此外,一个众所周知的问题是模型倾向于观察到某个局部失败然后添加局部防御。Karpathy 提到他们"对异常感到极度恐惧"。在具有重要不变量的系统中,尤其是持久化数据格式或核心基础设施,正确的修复不是"处理每个异常情况"。正确的修复是让异常情况一开始就无法被表达或写入。但即便有大量人工引导,LLM 也不会自然地产生那种代码,而且即使代码自然地像那样产生了,它们仍然会试图处理现在已不可能的错误。 当你把这种行为放到 loops 后面时,你往往会放大它。如果每次迭代都添加一个小防御,系统会慢慢变得更不透明,同时表面看起来更健壮。你越放手,这种情况就越严重。当这样的工具交给没有清晰指导的初级开发者时,它还会教给他们非常糟糕的实践。因为如果你问他们为什么做所有这些,他们会令人信服地论证自己的做法。 Loop 在哪里有效 但与此同时,假装 loop 模式不管用也是不诚实的——它在某些领域已经好得惊人。 代码移植就是其中之一。已经有令人印象深刻的大规模自动化移植案例,包括报道中把 Bun 的部分代码从 Zig 移植到 Rust 的工作。我自己也成功用它把 MiniJinja 移植到了 Go。性能探索是另一个效果惊艳的场景。机器可以尝试实验、跑 benchmark、丢弃失败、继续搜索。安全扫描也自然适合,几乎任何类型的研究也一样:让系统探索一个复杂的问题空间然后汇报回来,不一定要提交持久化的代码。 这些场景的共性是:它们要么不生成新代码,而是转换已有代码;要么产生的代码有意不需要长期存活。它们要么产出 PoC 或想法,要么呈现发现,或者更像机械性的转换。 我相信,产出不需要长寿的 artifacts 的 loop,或者产出某种可清晰验证的机械性翻译的 loop,比 harness 机械性地衡量某个目标的一般能力更重要。很多成功的 loop 应用用另一个 LLM 作为 judge 或 orchestrator。机械性翻译场景可以用二元测试用例验证,但它也可以用 LLM 来评判! Claude Code 在创建完整的实验性工作流并执行它们方面,变得越来越好。当然,它生成的代码是 slop,但那更多是模型的问题,而不是 harness 不能很好地判断工作流中的某一步是否带来了净改进或完成。 Harness 只需要一些信号让它能继续。不需要客观或二元——只需要足够有用来驱动下一次迭代。 我非常喜欢那些能把我日常中的无聊部分拿走的 loops——做实验、测量、给我灵感。 软件作为有机体 另一方面,用同样的 loop 方法来写持久化的代码,我还不觉得舒服。我喜欢的比喻是:从软件作为确定性机器,到软件作为有机体。 我成为一名软件工程师的环境鼓励我理解机器。总有一层你可以剥开来加深理解。不展现确定性可观测行为的机器也许被接受,但一般不被认为是最优的。在软件架构上,我认为追求更多的确定性而不是更少是可取的。同样,理解代码的能力一直是一个不可否认的目标。实践中并不总是可能,但我们仍然以写出好的代码为荣,使得即使是新工程师也能通过巧妙的架构在复杂的代码库中导航。在设计良好的系统上,总有一些工程师知道不变量在哪里,哪些部分是承重的,哪些改动是安全的。理想情况下所有这些都是有良好文档的。在缺乏这种理解的地方,通常被认为是需要改进的事情。 显然,那个理想一直都很紧张。许多软件系统,尤其是非常成功的系统,在工程师能让它保持干净的时期过后,常常变得太大、太动态、太依赖外部服务,无法装进任何人的脑袋。即使没有 LLM,我们在诊断分布式系统时也已经有点像医生了:观察症状、提出假设、"开更多检查"、尝试一些补救措施、再次观察。 但有了 LLM,我们正在沿着这个方向走得更远更快。我们用它们来写代码,也用它们来诊断和治疗。已经有大量工程师生活在这样一个世界里:生产问题发生后的第一步是让 clanker 读日志、提出根因、主动提出 patch。结果 patch 通常被另一台机器捡起来审查,有时甚至没有任何人工监督就合并到了 main。 显然这很强大,我不能否认它听起来很诱人。但屈服于这个想法,特别是随着人类监督越来越少,意味着接受我们可能无法再以同样的方式理解整个系统。我们治疗它、监控它、稳定它,但我们不一定理解它。 我毫不怀疑对于某些软件来说,这没问题。不是每一行代码都值得人类作者身份,而且过去也可能写过更差的代码。 但我希望所有软件都这样写吗? 你无法完全退出 非常令人不安的是,选择退出这个全机器驱动的未来可能不是一个选项。 安全是最清晰的例子。即使你不用 loops 来构建你的软件,别人也会用 loops 来攻击你的软件。攻击者会持续运行机器,即使不是攻击者,安全研究人员也会,而其中一些自动化工作会产生大量噪音但也会发现真正的问题。信号和噪音都会以如此大的规模涌向你,以至于你几乎不得不也扔一台机器来处理。 Daniel Stenberg 关于 curl 的 summer of bliss 的帖子是一个很好的例子,展示了维护者已经承受的压力。据我所知,AI 在 curl 的核心开发中并没有扮演重要角色。但尽管如此,维护者还是被报告淹没了——其中大部分是 AI 生成的。 如果攻击者和报告者都在 loop,防御者最终也需要 loop 才能跟上。也许不是直接写 patch,也许只是用来 triage 和复现——但压力会增加。 竞争也是一样。有些团队会通过原始速度超越其他团队。有些项目会突然加速,因为一个小团队搞清楚了如何有效编排机器。有些 startup 可以用五个人做到过去需要五十个人的事。有些人可能会直接把一台机器放在一个 loop 里对着你的产品,告诉它"把它做得像那个一样"。而如果他们的用户很开心,这真的重要吗? 不是所有软件都会受到同等影响。有些领域会惩罚草率,要求信任和责任,但很多软件生活在一个原始速度、快速实验和大面积覆盖至关重要的世界里。 建立新的依赖 最可怕的部分是,我们以新的方式变得依赖于这些新机器。软件一直依赖工具。我还记得我不得不为编译器付费的时候。这些新工具让人回想起那些创造软件需要真实成本的日子。但现在不再是一次性付款了——它是一种持续的依赖。不只是对钱包的依赖,还有认知依赖。 如果一个代码库由 loops 产生、由 loops 审查、由 loops 打补丁、由 loops 维护,当你不再能访问同等级别的系统时会发生什么?当某些贸易限制剥夺了对最强模型的访问时?如果只是成本变得不可接受呢?如果你和你的团队只是丧失了不用机器理解代码的最后一点能力呢? 我们可能会创建出不仅人类难以维护、而且把机器参与作为其维护模型前提的代码库。这已经在发生了!不是在所有地方都发生,甚至可能不是以被视为有问题的方式在发生,但我们看到越来越多。人们越来越多地合并他们不能完全解释的代码。人们失去了创建 issue 报告或在聊天中讨论事情的能力,而不借助 clanker 增强或改写他们的消息。太多人越来越依赖机器来总结或提供上下文。我越来越多地遇到通过 LLM 这个中间人与我交流的人。 再说一次,也许这甚至不一定是错的,但它对我们做事的方式是一个巨大的改变。 未来的 Harness 我毫不怀疑这就是方向,但朝着这个方向走需要我们在所有地方都改善我们的工具,而不只是在 coding agent 里。 仅仅编排更多的 loops 是不够的。更好的变更可视化或编排或 agent 不会恢复我们的理解。要么我们需要找到巧妙的方法把人拉回 loop,让 loop 的变更长期可读,要么我们需要找到更好的方法来组合这些越来越复杂的系统。 这也是我对 Pi 的角色的想法在变化的地方。Pi 一直很谨慎,我认为这种谨慎是好的。我不希望一个每一次交互都变成不受控制的机器 swarm、做出我无法跟上的变更的未来。我不希望 Pi 为了赢得"软件自己写自己"的竞赛而变成一个不可维护的混乱,我也不希望 Pi 推广这类工程。但与此同时,Pi 是一个 harness,而 harness 正处在人们运行这些新型实验的中心。 编码任务的任务队列、agent 编排、子 agent、持久化 session 会变得越来越重要。即使是我们这些有保留意见、没有盲目拥抱 loops 的人,也必须要开始做这些实验了。因为我们需要理解如何让这个未来有边界、可生存。 控制 Loop 正如你从这篇文章中读到的,我对这个未来非常不安。不是因为恐惧,而是因为基于对这项技术至今的经验而产生的谨慎。 采用 harness loop 的想法意味着 harness 决定工作何时完成。在 agent loop 中,模型最终说"完成"然后我审查。即使在那之前,我通常也在沿途引导。我参与其中,我喜欢在学习中前行。在 harness 操作的 loop 中,我不确定我的角色到底是什么。甚至"完成"信号也失去了所有意义,只是变成了传递给另一台机器进行评判的信息。我的角色被简化为一个信使。 今天,我不喜欢我看到的那种用这种方式构建的系统产生的代码,我也不喜欢与太多用 AI 辅助构建的软件交互。Loop 很强大,但它越来越多地移除责任,至少在当下它非常鼓励我们向机器投降。 然而,我毫不怀疑这个 loop 化的未来就是我们的未来——尽管我目前对此感到反感。我已经看到惊人小的团队以不可能的速度在构建,我看到代码库正在变成越来越模糊和混乱的有机体,只能由更多机器来诊断。这些代码库同时既有用又混乱。 所以我想我开始接受一个事实:问题不是我们会不会 loop——显然我们会的。也许问题是:在一个 loops 的未来里,我们如何不放弃判断,如何在其中保留良好工程的原则,如何确保负责任的人能够继续监督,如何重新思考我们架构代码的方式以在其中保持清醒。 原文:Armin Ronacher, "The Coming Loop", 2026-06-23 链接: #AI# #Loops# #软件工程# #反思#
显示更多
Skills For Real Engineers:基于经典软件工程方法论的代码Skill 每个技能设计为小型可组合指令,适配任意模型,基于《The Pragmatic Programmer》、《Domain-Driven Design》、《Extreme Programming》等经典软件工程著作和作者软件经验,适合真实生产环境写代码使用。 Github:
显示更多
知识工作 = 决定做什么 → 执行 → 交付并负责 🥪 AI 压缩了执行,但判断和问责得自己来!一旦某个决定能交给 AI,它就不再是优势,价值会往上迁移一层。写代码从来不是瓶颈,决定写什么和为结果负责才是🤔 推荐这篇「为什么 AI 替代不了软件工程师」 Vibe coding ≠ Agentic engineering,真正的智能体工程师要保持控制和问责。软件实施的价格变便宜,依然需要工程师做决策、交付与问责,这会让传统公司都开始雇佣软件工程师(或者是 Builder),因为杰文斯悖论导致衍生需求增加,所有未来可能软件工程师需求会增加👀
显示更多
@liangde_li40657 🙏谢谢支持,软件工程也是挺有用的,只是没 AI 那么流行
黄仁勋跟红杉聊了一场很深的对话,把AI产业的底层逻辑讲得特别清楚 他提了一个概念:过去60年的计算机行业本质上就干了一件事——检索。写代码、拍照片、录音乐,存成文件,用的时候再调出来。数据中心说到底就是一个大硬盘 现在不一样了。AI不是从硬盘里找旧数据,是实时生成新内容。这是完全不同的计算范式,他管这叫"AI工厂" 然后他画了一个"五层蛋糕"来解释AI产业的结构: 最底层:能源。AI工厂需要巨量电力 第二层:芯片和计算。英伟达在这里 第三层:基础设施。土地、电力接入、建筑、融资 第四层:模型。OpenAI、Anthropic 在这里 最顶层:应用。创业公司和终端用户在这里 每一层都是万亿级别的市场 关于AI取代工作,他反驳得很干脆:AI消灭的是任务,不是职业。放射科医生没有因为AI看片子更准就失业,反而需求增长了。软件工程师也是,代码越容易写,能解决的问题越多,需要的工程师反而更多 你们觉得这个"五层蛋糕"的框架,哪一层机会最大?
显示更多
0
9
181
55
转发到社区
Meta 这波裁员,还是遭到反噬了。 在本周 Meta 内部的一次千人线上会,一名员工突然开麦,喷某个 AI 部门高管就是个傻叉。 而背后原因,是 Meta 今年为了押注 AI,大规模进行裁员和重组。大约 6500 名工程师和产品经理,被强塞进一个叫 Applied AI 的部门。 很多原本做 Ins、Facebook、基础设施开发等工作的创造性员工,现在却被要求每天重复给 AI 出题、写测试题、做数据标注,配合验证模型结果。 不少员工觉得,自己明明是软件工程师,结果却变成了数据标注员,每天做着重复低能的活。 这导致部分员工,觉得工作内容被变相降级,不知道自己在做什么,看不到未来前途。 甚至连 Meta 产品负责人,都在会上骂道,这几个月离谱死了。
显示更多
0
177
462
32
转发到社区
有了 AI 以后,很多人会产生一种错觉:它无所不能,任何需求说出来,第二天就能像魔法一样出现在屏幕上。但这恰恰是最大的误区。 质量、效率、成本,这个经典的不可能三角,在 AI 时代依然有效。 AI 确实让软件开发变快了,但不能把变快理解成变简单。 一个复杂系统里,写代码往往只占很小一部分时间。真正耗费精力的是理解业务、识别边界、处理例外情况,以及对未来变化做出预判。这些工作不会因为 AI 出现而消失。 很多 AI 生成的项目都有一个特点,前几天进展惊人,后面越来越难改。功能做出来了,问题也跟着一起被做出来了。速度提升的同时,一部分思考过程被跳过,而这些思考原本就是软件工程最有价值的部分。 AI 带来的变化,没有让复杂问题消失,而是让人更快进入到复杂问题领域。🐶
显示更多
0
116
156
20
转发到社区
这篇论文让我感觉,我们对「AI 会取代程序员」这件事的讨论方向可能全错了。 核心观点:AI Agent 的出现不是让软件工程师工作效率更高,而是让「把决策逻辑永久编码进软件」这件事本身变得越来越不必要。 作者说的是一个更根本的范式变化:传统软件工程的本质是,人类把判断逻辑「固化」成代码——if-else、状态机、算法,这些都是把人类决策「提前写死」的方式。但在以 LLM 为核心推理引擎的 Agent 系统里,代码变成了「临时生成、用完即扔的工具」,每次任务,Agent 动态生成需要的代码,执行完就不需要了。决策不再被预先编码,而是在运行时由 LLM 推理循环动态产生。这不是增量改进,而是软件生产范式的结构性替换。 我觉得这个观点里最值得注意的细节是:这不只是生产力工具的升级,而是「软件」这个概念本身的角色在变。以前代码是「系统的中心」,Agent 框架是外壳。现在 LLM 推理循环是中心,代码变成了外壳里的临时辅助。如果这个趋势持续,软件工程的核心能力可能不再是「写出好代码」,而是「设计出可靠的推理约束边界」。 以前我们关注写出可维护的代码,以后可能更要关注设计出可靠的推理边界。
显示更多
0
163
1.4K
297
转发到社区