Newshot
Account

AI 系统中常用的 6 个编排框架

AI summary

本周系统设计内容回顾介绍了 AI 系统中 6 个常用编排框架,以及 AI 系统成本优化的 6 大策略。此外还讲解了 SQL 查询在数据库内的执行过程,以及请求如何流经 Claude Code。

Translation(model translation, not the source's own text)

一个最先进、完全组装好的 agent harness(赞助)

在准确率上匹配或超越各类 harness,同时少用 28% 的 token。Strands harness 是开源的,并附带经过基准测试的默认配置,涵盖系统提示词、工具、记忆、会话和上下文管理,因此你可以跳过逐件接线搭建 harness 的过程。

从 CLI 或几行 Python 或 TypeScript 代码即可启动。没有黑箱:可以更换模型提供商、覆盖任何默认值,或直接下探到 SDK 原语,而无需重写。然后在发布前用 25+ 个内置评估器进行验证。

从想法到生产,浪费更少的 token。

本周系统设计精选:

  • AI 系统中 6 个常用的编排框架
  • AI 系统中前 6 大成本优化策略
  • 一条 SQL 查询如何在数据库内部执行
  • 一个请求实际上如何穿过 Claude Code?

AI 系统中 6 个常用的编排框架

Image
Image

AI 系统中的编排负责管理跨智能体的任务、处理失败、共享记忆和上下文。

  • LangGraph:它使用基于图的技术,工作流被表示为节点,边决定状态转换。
  • CrewAI:这里使用的是基于角色的抽象技术。智能体被分配明确的角色和目标,使它们能够按顺序工作,或通过一个管理者智能体来工作。
  • Microsoft Agent Framework:该框架旨在处理组织工作流。它也使用图,并内置分支、检查点以及人工介入暂停。
  • OpenAI Agents SDK:使用 LLM 驱动的运行时方法,由智能体决定它应该将控制权委托给其他智能体,还是保留执行以自行完成任务。
  • Google ADK:使用混合控制方法,开发者定义运行任务的策略,根智能体将任务拆分并分发给子智能体。
  • Claude Agent SDK:不存在单独的编排层。它存在于智能体内部,智能体收集上下文、使用工具、进行评估并持续运行,直到没有剩余调用。

AI 系统中前 6 大成本优化策略

你的 AI 账单可能增长得很快。下图展示了让你的 AI 系统更便宜的前 6 种技术。

提示词缓存:这种技术会缓存稳定前缀,例如系统提示词和工具 schema。这意味着模型可以跳过对具有共享前缀的请求的冗余计算。模型路由:路由器将简单查询发送给小模型,将困难请求发送给前沿模型。由于实践中很多查询都很简单,这可以节省大量资金。批量 API:这种技术通过先批处理请求再发送,来异步处理大型作业。提供商通常会对批量请求提供折扣。语义缓存:我们使用嵌入模型来缓存查询。当命中时,将复用已存储的答案,而不是再次调用模型。裁剪上下文:这种技术会裁剪对话历史。这可以避免每次都发送整个对话,否则可能成本很高。更小的模型:我们还可以使用蒸馏或量化等技术,将大模型转换为更小的模型。轮到你了:这些技术中哪些在生产环境中最有用?

INFER/CON:认识构建 AI 技术栈的人们(赞助)

文章标题:EP232:AI 系统中常用的 6 个编排框架

正文:

11 月 16 日,在旧金山,与 AI 工程师、研究者、创始人和技术负责人相聚 INFER/CON。这场为期一天的会议由 Datadog 召集,汇聚了来自 Anthropic、Together AI、Inferact、Fireworks AI 等公司的演讲者。与正在构建和运营这些系统的人一起,探索推理性能、生产可靠性、评测以及 AI 的经济性。你将收获技术对话、实践视角,以及与面临相似挑战的同行交流的机会。

免费参加,仅限申请;所有申请均需审核通过。

使用专属代码申请:Byte/VIP

申请参加

SQL 查询在数据库内部是如何执行的

Image
Image

解析与校验:数据库解析 SQL,检查其语法是否正确,以及所引用的对象、列和数据类型是否有效。它把 SQL 转换成逻辑查询树。

重写与转换:数据库对查询树进行简化和重构,使其能够被高效执行。

优化并选择计划:数据库评估执行查询的最高效方式。它比较不同的执行计划,并选出据称耗时和资源最少的最佳计划。

执行计划树:数据库执行选中的计划操作,例如过滤、连接和排序,通常从解析树的底部向顶部执行,以产出结果。

访问缓存与存储:执行期间,数据库在缓存可用时从中读取所需数据,不可用时则从存储读取。

返回行:最终结果被格式化并发送回客户端。

一个请求究竟是如何穿过 Claude Code 的?

我们大多数人只是输入一段提示词,然后看着魔法发生。下图基于 Claude Code 的源代码,展示了幕后真正发生的事情。

让我们追踪一个真实的请求:“Fix the failing test in auth.test.ts.”

第 1 步:用户通过自己的界面把提示词发送给 Claude Code。第 2 步:界面(CLI、IDE 或 SDK)为提示词包装上仓库和文件上下文,并作为请求交给 agent loop。第 3 步:agent loop 规划下一步动作,并提出一个操作:Edit(auth.ts, lines 42–58)。第 4 步:权限系统依据规则检查所提出的操作。第 5 步:被批准的操作变成一个工具调用:Edit(auth.ts, patch),被分派给匹配的工具。第 6 步:工具在执行环境(shell、云端或沙箱)中作为真实的系统调用运行。第 7 步:执行结果把工具结果返回给 agent loop。第 8 步:agent 将该轮次持久化到状态中,并把最终消息流式发送给用户。

整个系统就是这样一个循环,反复执行,直到模型不再请求工具。

轮到你了:在构建你自己的编码 agent 时,你认为这个循环中的哪一步最难做对?

The translation is machine-generated and individual terms may be off. Nothing is rewritten or cut; the original is authoritative.

Published by ByteByteGo
This site only summarises and aggregates; copyright stays with the original author. Headlines and summaries follow the source — where they differ, the original wins.
Read the original ↗