文章
本文为调整传统命令行界面以适应新兴的 AI 代理生态系统提供了全面的指南。文章强调,精心设计的命令行界面对于人类用户和自主代理都至关重要,并提倡确定性行为和可靠的交互。作者提出了五个关键的设计原则:首先,加入“应急方案”(显式标志、环境变量、语义退出码)来禁用以人为中心的功能,以适应自动化需求;其次,将命令行界面输出格式视为具有稳定版本控制的应用程序编程接口协议,以防止工作流程中断;第三,优先采用模型上下文协议(MCP)来实现 AI 代理的动态能力发现;第四,通过早期验证、实时进度报告和优雅终止来加强反馈循环,以优化代理资源消耗;最后,通过收集明确的遥测数据来了解代理的使用模式,从而实现持续优化。正如所说,不要靠猜测,要靠遥测数据。文章强调,命令行界面正日益成为人类与自主 AI 协作的通用应用程序编程接口层,因此需要积极改进设计以适应这一趋势。
这篇 InfoQ 播客的文本记录是资深顾问 Elisabeth Hendrickson 讨论将系统思考应用于常见的软件交付挑战。她认为,大多数问题源于系统各部分之间复杂的关联,而不是孤立的故障,因此主张使用因果关系图和“五个为什么”等工具进行整体分析。Hendrickson 将质量工程重新定义为一种普遍的责任,包括可持续地交付价值的所有活动,远远超出传统的质量保证团队。她批判性地考察了为什么“左移”(即尽早开始质量保证活动)举措经常失败,将其归因于组织政策与根深蒂固的文化之间的冲突,强调由激励和认可塑造的文化始终占据主导地位。最后,她谈到了 AI 的影响,将其比作一个“机甲套装”,可以放大人类的能力,但使人工验证和确认比以往任何时候都更加重要,因为 AI 生成的代码不能被自主信任。这次讨论为在软件交付方面面临挑战的领导者和实践者提供了深刻的见解。
本文是 IDEO 的 Savannah Kunovsky 的演讲稿,指出在新兴领域如人工智能中,过度关注技术可行性常导致产品失败,即使投入大量研发也无济于事。Kunovsky 认为,优秀的设计通过整合技术可行性与用户真实需求,从一开始就应用设计思维来弥合这一差距。她以苹果鼠标为例,强调设计如何赋能技术。转向生成式人工智能,演讲探讨了当前不成熟的交互范式,以及 IDEO 与 Z 世代的合作研究,旨在构想更以人为中心的创新方法。研究的主要见解包括“强化连接,避免割裂”和“尊重人性的复杂性”原则,指导创造更真实的 AI 体验。这些原则随后应用于 Ethiqly 的设计,这是一个利用生成式人工智能加强高中写作教育的教育科技项目,展示了设计如何将 AI 能力转化为有价值、以用户为中心的解决方案。
本文介绍了一种系统方法——后端 FinOps,旨在帮助工程团队将财务规范融入微服务的设计、部署和运营中。它强调持续的反馈循环,以实现持续的成本节省。文章详细说明了资源碎片化、无服务器冷启动开销和孤立资源等核心挑战,并量化了它们的隐藏成本。实证基准测试表明,编程语言的选择(Java、Golang、Python、.NET)和部署模型(Kubernetes/EKS、AWS Lambda、Azure Functions)如何显著影响成本和性能,其中 Golang 表现出卓越的效率,而 Java 则产生较高的冷启动成本。然后,本文概述了跨开发生命周期的可行 FinOps 模式:设计时策略(服务粒度、平台对齐)、运行时优化(动态自动伸缩、资源调整、跨云数据管理)和策略驱动的自动化(使用 IaC(基础设施即代码)进行标记和约束)。最终,它为工程师提供了主动管理和优化云支出的实用策略。
OpenAI 发布了 gpt-oss-120b 和 gpt-oss-20b,这是自 GPT-2 以来首个完全开源权重的语言模型,现在以宽松的 Apache 2.0 许可提供。这些模型专为高性能推理、高效的工具调用和高效的本地部署而设计。较大的 gpt-oss-120b 采用混合专家架构 (MoE),每个 token 激活 51 亿个参数,其性能与 o4-mini 等专有模型媲美或更优,同时在单个 80 GB GPU 上高效运行。更紧凑的 gpt-oss-20b 针对消费级硬件进行了优化,仅需要 16 GB 内存,使其适用于端侧推理和无需云依赖的快速迭代。这两种模型都支持高级用例,如思维链推理和结构化输出,利用了 OpenAI 的 o 系列模型中的技术,并支持 128k 上下文长度,在编码、健康、数学和代理基准测试中表现出强大的性能。OpenAI 还进行了广泛的风险评估,包括对抗性微调和红队演练,确认这些模型未达到高风险能力水平。这些模型可在 Hugging Face 和各种部署平台上获得,微软还通过 ONNX Runtime 将 20B 模型集成到 Windows 中。
本文是 Stripe 的 Ruby 基础设施团队的 Jake Zimmerman 的演讲稿,详细介绍了他们重构大型、顽固的遗留代码库的策略,解决了常见的抱怨,如缺乏模块化、过时的依赖和僵化的数据库假设。其核心理念是坚信重构总是可能的,并且最好由一个集中的团队来推动。与分散的工作相比,这种方法集中了专业知识,促进了自动化,并大大提高了项目完成的可能性。确定了这些集中式迁移的两个关键成功因素:对代码库的“杠杆效应”(小力气,大影响)和“渐进式推进机制”(防止倒退的机制)。文章以 Stripe 采用 Ruby 类型检查器 Sorbet 为例,展示了这些原则的应用。Sorbet 充当了一个“杠杆”点,通过改进代码理解、加速反馈循环(减少对缓慢 CI 的依赖)和消除整个类别的生产错误,从而解决了开发者的不满。“递增”机制是 `typed:` 注释,允许逐步采用并通过代码审查阻力防止回归。“好的递增机制”的特点是文件级别、渐进式和可操作,避免了基于文件夹或覆盖率百分比指标的陷阱。文章强调,构建语言级工具(如类型检查器)通常比想象的更可行。
TypeScript 5.9 是 Microsoft 推出的 JavaScript 超集的最新力作,聚焦于开发者体验、新功能和性能提升。其关键亮点在于支持 ECMAScript 提案中的 `import defer` 语法,实现了模块及其依赖项的延迟加载,这对于优化大型库应用程序的启动时间至关重要。此外,该版本还简化了 `tsc --init` 命令,根据开发者反馈生成更精简的 `tsconfig.json` 文件,从而简化了初始项目配置。对于 Node.js 用户,新增的 `node20` 模块解析模式与 Node.js v20 的行为保持一致,为现有 `nodenext` 模式之外提供了更高的稳定性。开发者体验通过 VS Code 等 IDE 中可扩展的类型预览功能得到进一步增强,开发者无需导航至定义文件,即可轻松浏览深度嵌套的类型。性能优化方面,包括缓存映射器上的实例化和改进的文件存在性检查,从而显著提升了大型项目的速度。文章还简要提及了未来计划,包括将 TypeScript 编译器移植到 Go 语言,预计将在 7.0 版本中实现,而 6.0 版本将作为过渡。
本文基于 Erin Doyle 在 InfoQ Dev Summit Boston 的演讲,阐述了同理心驱动的平台团队在软件开发中的关键作用。文章追溯了从传统 IT 运维到 DevOps 的演变,指出在赋予开发团队更多权力的同时,也带来了显著的认知负荷。这种负荷体现在决策不一致、成本管理不善和安全漏洞等问题上。核心在于,平台团队通过理解和体谅产品开发者面临的日常挑战,可以有效减轻这些负担。Doyle 建议平台工程师采取实际方法培养同理心,包括临时或永久嵌入开发团队,直接体验缓慢反馈循环、技术债务等问题。虽然嵌入有益,但也存在平台工程师被拉入产品工作,或开发团队过度依赖他们的风险,因此需要谨慎实施。另一种策略是指定一名隶属于平台团队,但同时支持产品团队的平台工程师,以建立持续的合作关系。除技术解决方案外,文章还强调团队内外心理安全的重要性,鼓励坦诚沟通。这种方法,加上平台团队高度的客户服务意识,旨在营造协作环境,减少信息孤岛,最终提高开发者生产力,创建更健壮和可扩展的应用程序。
人工智能模型的爆炸式增长驱动了对专用 AI 硬件的需求,本演示文稿详细阐述了当前专有 GPU 解决方案面临的挑战,包括高昂的成本、有限的可用性、巨大的功耗以及由于 NVIDIA 的 CUDA 等专有软件栈导致的厂商锁定。Rivos 的 Ludovic 提出 RISC-V——一种开放标准的指令集架构 (ISA)——作为一种可行、模块化和可扩展的替代方案,能够覆盖从物联网设备到超级计算机的各种应用。本次演讲强调了 RISC-V 国际 (RVI) 和 RISC-V 软件赋能 (RISE) 基金会在为 RISC-V 培育全面的开源软件生态系统方面的合作努力。以线性代数和 OpenBLAS 为例,讨论说明了 RISC-V 的可定制性如何为特定 AI 工作负载带来高度优化的硬件,从而为紧迫的 AI 硬件瓶颈提供可持续的长期解决方案。
.NET Aspire 9.4 的发布标志着微软云原生应用程序开发堆栈的一次重大更新,重点关注开发者体验和部署自动化。主要增强功能包括 Aspire CLI 的正式发布,它提供了一个独立的命令行工具,用于创建、配置和部署 Aspirified 应用,并提供用于发布和部署的预览命令。此外,.NET Aspire 仪表盘获得了重大改进,例如外部参数和连接字符串的可见性、自动升级通知以及增强的对等互联可视化和跟踪。新的“交互服务”运行时组件支持来自仪表盘和 CLI 的丰富交互式工作流程,支持输入收集、确认和验证回调。此更新还扩展了对外部服务、非 localhost 端点配置和持久容器网络的支持,并与 Azure AI Foundry 和 GitHub 托管的 AI 模型集成。其他 Azure 增强功能涵盖 Cosmos DB、密钥库以及改进的 Docker Compose 和 Azure 应用服务部署。该文章还指出了一些重大更改以及迁移指南,并提到了对 .NET 10 的支持以及未来开发的公共路线图。