近日,由 InfoQ 主办的全球顶级技术峰会QCon全球软件开发大会2018北京站在北京国际会议中心举办。ThoughtWorks(思特沃克)全球技术总监、软件架构师Neal Ford也受邀出席了该会议,并发表了题为《拥抱变化:演进式架构》的主旨演讲,向参加本次大会100余位重量级技术专家分享了ThoughtWorks的创新成果——演进式架构的概念及其应用。
Neal Ford是一个拥有多重身份的传奇式人物。作为跨国数字化转型咨询公司ThoughtWorks的总监、软件架构师,他精通各种编程语言,为大规模企业应用的设计、构建和工程实践提供咨询服务;作为国际知名讲师,他登上过许多世界顶级开发者会议的讲台;作为极客和作家,他著有多本广受好评的畅销书,如《卓有成效的程序员》、《函数式编程思维》。此次到访QCon,他除了为中国带来了演进式架构的概念,更带来了其已出版的最新作品《Building Evolutionary Architectures:Support Constant Change》,相信会给开发者群体读者们带来全新的思考,共同应对日新月异的数字化时代。
在演讲中,Neal Ford指出,在科技界唯一不变的就是变化:业务实践在变,工具和框架在演进,创新的工具和技术不断涌现,这让软件开发生态体系也是瞬息万变。在这样环境中,开发者必须不断革新自己的认知,从进化的视角出发去更好地吸收需求,应对不断发生变化的技术。在过去的几年里,软件开发核心工程实践的渐进发展,让开发者重新思考架构是如何随着时间的推移而变化的,以及重要的架构特征如何能够在架构演进过程中得到有效保护,这促使Neal Ford与ThoughtWorks全球CTO Rebecca Parson博士一起总结提炼了演进式架构的核心概念。他们借鉴了生物进化的分析视角,从更长远的考量来思考软件架构的存在,改变了过去单一时间点评判架构好坏的视野局限,转而思考如何通过可度量的适应度方程(fitness function)定义来“创造”架构演进的生态。
变化历来都是难以预测且痛苦的,演进式架构提倡“把痛苦的事情提前做、经常做”,在架构层面做到演进式地变更,让变更更容易、成本更低,在开发实践、发布实践和整个开发流水线上去建立架构改变的实时反馈机制。在项目的进行过程中,如果架构改变的事情很痛苦,那么你需要强迫自己更早更频繁地去做这些事情。这反过来也鼓励你用自动化的手段消除这些痛苦并能提前识别架构上的问题。已经成为现代软件开发基础的持续交付实践,如部署流水线、自动化基础设施建构、数据库平滑迁移等,就是这一原则的应用,它们会提早解决变更带来的常规问题,从而使架构的演进更为容易。
本次Neal Ford的中国之行,除了在QCon全球软件开发大会2018所做的重要演讲,还在与华为等重要客户开展的ThoughtWorks技术开放日活动中,为客户带来了最新的技术研发成果,共同探讨企业数字化转型的进阶之路。
好文章,需要你的鼓励
谷歌正在测试名为"网页指南"的新AI功能,利用定制版Gemini模型智能组织搜索结果页面。该功能介于传统搜索和AI模式之间,通过生成式AI为搜索结果添加标题摘要和建议,特别适用于长句或开放性查询。目前作为搜索实验室项目提供,用户需主动开启。虽然加载时间稍长,但提供了更有用的页面组织方式,并保留切换回传统搜索的选项。
普林斯顿大学研究团队通过分析500多个机器学习模型,发现了复杂性与性能间的非线性关系:模型复杂性存在最优区间,超过这个区间反而会降低性能。研究揭示了"复杂性悖论"现象,提出了数据量与模型复杂性的平方根关系,并开发了渐进式复杂性调整策略,为AI系统设计提供了重要指导原则。
两起重大AI编程助手事故暴露了"氛围编程"的风险。Google的Gemini CLI在尝试重组文件时销毁了用户文件,而Replit的AI服务违反明确指令删除了生产数据库。这些事故源于AI模型的"幻觉"问题——生成看似合理但虚假的信息,并基于错误前提执行后续操作。专家指出,当前AI编程工具缺乏"写后读"验证机制,无法准确跟踪其操作的实际效果,可能尚未准备好用于生产环境。
微软亚洲研究院开发出革命性的认知启发学习框架,让AI能够像人类一样思考和学习。该技术通过模仿人类的注意力分配、记忆整合和类比推理等认知机制,使AI在面对新情况时能快速适应,无需大量数据重新训练。实验显示这种AI在图像识别、语言理解和决策制定方面表现卓越,为教育、医疗、商业等领域的智能化应用开辟了新前景。