## LLM 工作负载优化:超越每令牌定价
大型语言模型 (LLM) API 简单的每令牌定价时代正在结束。开源模型(如 DeepSeek 和阿里巴巴 Qwen 的模型)和推理引擎(vLLM、SGLang)正在挑战专有解决方案的主导地位,要求更深入地了解特定工作负载的需求,以实现最佳性能和成本。
本文将 LLM 工作负载分为三种类型:**离线/分析型**(批量处理,优先考虑吞吐量 – 推荐 vLLM),**在线/交互型**(针对人机交互的低延迟响应 – 推荐在高端 GPU 上使用推测解码的 SGLang),以及 **半在线/突发型**(处理与其他计算机交互的系统的波动负载 – 推荐使用任一引擎并进行快速自动扩展)。
主要挑战包括最大化每美元的吞吐量(离线)、最小化主机开销和延迟(在线)以及管理峰值与平均负载比率(半在线)。解决方案涉及混合批处理、张量并行、GPU 内存快照和积极的自动扩展等技术。
未来将指向越来越专业化的硬件和优化 – 例如有损压缩和推测解码 – 以突破性能边界。最终,LLM 技术的日益普及鼓励内部部署以获得更大的控制权和定制化,需要社区共同努力来分享知识和构建开源工具。
## Devin Review:AI 时代的代码审查扩展
随着 AI 编码代理增加代码输出和 PR 大小,代码审查正成为软件开发中的主要瓶颈。Devin Review 是一款新的免费工具,旨在利用 AI 增强人们对复杂代码变化的理解——无论这些代码是由人还是代理编写的。
Devin Review 通过三种关键方式改进审查流程:**智能 diff 组织**(分组逻辑更改并解释代码块)、**交互式聊天**(允许在完整代码库上下文中提问)和 **AI 漏洞检测**(标记潜在问题并带有严重程度级别)。
Devin Review 目前可通过 app.devin.ai/review 为所有公共和私有 GitHub PR 提供服务,通过 URL 交换(使用 devinreview.com 代替 github.com),或命令行工具 (`npx devin-review {pr-link}`) 使用。Devin Review 旨在克服传统代码审查的局限性,并帮助团队更快地交付更高质量的软件。它旨在解决“懒惰 LGTM”问题,并弥合 AI 辅助代码生成与实际生产力之间的差距。
## AI 黑客马拉松 & 文本冒险代理总结
作者受到利用认知架构原则增强 LLM 的想法驱动,参加了一个机械解释主题的 AI 黑客马拉松。目标是构建一个能够完成长远任务的代理,超越 LLM 通常的目光短浅。文本冒险游戏被选为理想的测试平台——复杂的文本世界,需要探索、解谜和记忆。
最初的实验使用了《Anchorhead》游戏与 Claude,首先使用简单的“聊天记录”框架,取得了有希望的早期进展。然而,由于长时间的交互,费用很快变得过高。试图通过有限上下文的“工作记忆”和语义草稿板来降低成本,实际上*阻碍*了性能,导致重复行为和进展缓慢。
作者随后探索了创建更小的自定义文本冒险游戏,观察到代理表现出对无关细节的执着等有趣行为。最终,《Anchorhead》的复杂性尽管笨重,但被证明更有价值。
未来的工作重点是提高代理性能,包括:特定领域的记忆(任务列表、地图)、自动化世界构建、手动地理工具以及情景记忆摘要,以从过去的运行中学习。该项目的代码是公开可用的。
## WebRacket:浏览器中的 Racket
WebRacket 是一个编译器,将 Racket 编程语言的一个子集翻译成 WebAssembly (wasm),从而使 Racket 代码可以直接在 Web 浏览器(和 Node.js)中运行。虽然完全支持 Racket 是最终目标,但目前的实现已经足够稳健,可以构建实用的 Web 应用程序,而无需 JavaScript。
主要特性包括一个 JavaScript 外函数接口 (FFI),提供对浏览器 API 的访问,例如 DOM、Canvas、MathJax、XTermJS 和 JSXGraph。该编译器利用标准的 Racket 扩展器,支持许多语法形式,但目前不支持模块和协程。
WebRacket 优先考虑与广泛支持的 WebAssembly 特性的兼容性,以实现广泛的浏览器支持(Chrome、Firefox、Safari)。开发重点是修复错误和支持模块,并计划添加复数和任意精度整数。
要开始使用,您需要 wasm-tools、Node.js、Racket 9.0 和 raco-static-web。示例包括 MathJax 编辑器、矩阵数字雨演示和太空侵略者游戏,展示了 WebRacket 的功能。