当前位置: 首页 > news >正文

Martin Fowler分享了他对大语言模型(LLM)与软件开发现状的一些思考

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

Martin Fowler在2025年8月28日发表文章,分享了他对大语言模型(LLM)与软件开发现状的一些思考。在准备休假和处理部分工作事务前,他总结了近期的观察与感受。

他提到,目前已有一些关于AI对软件开发影响的早期调查,试图回答它是否真的加快了开发进度,或是否改善或破坏了代码质量。然而,Fowler认为这些调查存在显著缺陷,因为它们往往没有考虑开发者实际使用LLM的工作流程。从他的观察来看,大多数使用场景仍然停留在“高级自动补全”,常见于Co-pilot工具。但那些真正从LLM中获得最大价值的开发者,往往会采用更直接的方式,让LLM读取和编辑源代码文件,从而完成具体任务。他担忧,如果忽视这些使用差异,调查数据会误导行业方向。

关于“编程的未来”这一常见提问,例如:现在是否还值得进入软件开发行业?LLM会不会取代初级工程师?高级工程师是否该提前退出?Fowler直言,没人能给出确切答案,任何声称“知道未来走向”的人都不可信。当前仍处于探索阶段,如何高效利用LLM尚无定论,尤其是在模型仍有可能获得显著提升的情况下。他建议,开发者应主动尝试这些工具,阅读他人经验,并关注其中的工作流程细节,甚至分享自己的实践。

关于AI是否是泡沫,他给出了肯定回答:“当然是泡沫。”他指出,从运河、铁路到互联网,每一次重大技术进步都伴随着经济泡沫。可以预见,AI热潮也会破裂,大量投资最终归零。未知的是泡沫破裂的时间,可能在下个月,也可能还需几年。但就像互联网泡沫一样,许多公司会消亡,但也会有企业幸存并壮大,就像亚马逊在pets.com和Webvan倒下后依然屹立。

他还提到自己已从公共演讲中退休,但仍期待在即将举行的GOTO Copenhagen大会上与老朋友相聚。他自上世纪90年代(当时该会议称为JAOO)起就参与其中,至今仍对会议的高质量议程保持赞赏。

Fowler引用前同事Rebecca Parsons的观点,认为“幻觉”不是LLM的缺陷,而是其核心特征。LLM的本质就是生成幻觉,只是有时这些幻觉对用户有用。因此,在使用LLM时,可以尝试多次提问,甚至让模型比较不同回答的差异,这些差异本身也可能有价值。尤其在涉及数值时,应至少询问三次,以评估其变动范围。同时,他提醒,不应让LLM直接计算确定性答案,而更适合让它生成计算所需的代码,再由开发者执行和验证。

他指出,传统的软件工程基于确定性机器,而其他工程学科早已习惯处理世界的不可预测性。例如,结构工程会为无法测量的因素留出容差,流程工程会考虑到人的疏忽或失误。随着LLM引入软件开发,或许意味着软件工程正迈入“非确定性”的新阶段。

在类比上,他提到人们常将LLM比作初级同事,但不同的是,LLM可能会轻易回答“所有测试通过”,而实际运行时却失败。若这是初级工程师的行为,HR可能早已介入。

安全性则是另一个严峻问题。他引用Simon Willison的观点,警示“AI代理的致命三合一风险”:访问私人数据、接触不可信内容,以及对外部世界的通信(数据外泄)。例如,若让LLM读取网页,攻击者可能通过隐形文字(如1pt白字)植入恶意指令,诱导LLM泄露敏感信息。更严重的情况是,当AI代理在浏览器中运行时,可能被欺骗去访问银行账户并转账。Willison因此认为,“基于代理的浏览器扩展从根本上存在致命缺陷,不可能安全实现。”

整体来看,Martin Fowler的思考强调了三个核心:
一是现有调查和认知的局限性,行业对LLM实际作用的理解仍不充分;
二是AI泡沫不可避免,但幸存者或许会成为未来的巨头;
三是LLM的本质与风险,既带来新可能,也引入非确定性与安全隐患。

在他看来,行业需要更多实践、反思与警惕,才能真正理解并驾驭LLM在软件开发中的角色。

http://www.dtcms.com/a/357067.html

相关文章:

  • 【机器学习深度学习】Embedding 与 RAG:让 AI 更“聪明”的秘密
  • AC上网行为安全管理
  • 【完整源码+数据集+部署教程】停车位状态检测系统源码和数据集:改进yolo11-DCNV2-Dynamic
  • 深入理解会话状态管理:多轮对话与API最佳实践
  • 【AI】常见8大LLM大语言模型地址
  • 什么是策略模式?策略模式能带来什么?——策略模式深度解析:从概念本质到Java实战的全维度指南
  • VisualStudio 将xlsx文件嵌入到资源中访问时变String?
  • Apache服务器IP 自动跳转域名教程​
  • 前端网页源码模板 静态HTML源码网站
  • Dubbo 接口调用中使用 CompletableFuture 实现回调模式 非阻塞异步模式
  • SQL-Server分页查询多种方法讲解以及分页存储过程
  • 如何制作手感良好的移动算法?
  • 自动驾驶感知范式迁移:从BEV/向量化到高斯建模
  • Vue中的事件修饰符
  • uni-app 常用钩子函数:从场景到实战,掌握开发核心
  • MySQL 深分页:性能优化
  • 每周AI看 | 微软开源VibeVoice-1.5B、OpenAI历史性交棒、网易云商出席AICon全球人工智能开发与应用大会
  • MCP Java Sdk 添加key认证
  • CMake构建学习笔记22-libxml2库的构建
  • 【链表 - LeetCode】146. LRU 缓存
  • Prometheus+Grafana入门教程:从零搭建云原生服务器监控系统
  • 如何管理跨境电商多语种素材?数字资产本地化指南
  • nacos单机部署并开启鉴权
  • #医疗AI时代的生物医学Go编程:高性能计算与精准医疗的案例分析(五)
  • 机器学习 - Kaggle项目实践(5)Quora Question Pairs 文本相似
  • OpenCV轮廓近似与Python命令行参数解析
  • 玳瑁的嵌入式日记D29-0829(进程间通信)
  • ZooKeeper 安装配置
  • idea2025.2中maven编译中文乱码
  • Altium Designer 22使用笔记(10)---PCB铺铜相关操作