Shopify 的 Tangle 与 Tangent:让 AI 自己跑机器学习实验

ROBOT@qwh 2026-09-24 阅读:63 评论:0
机器学习的工作充满循环:提出假设、搭建流水线、跑一遍、看指标、调整、再来。Tangle 是 Shopify 内部跑 ML 实验的地方,给工程师一个共享平台来构建和执行流水线;Tangent 是跑在它上面的自主 Agent,负责决定跑什么、怎...

Tangle 的流水线画布与架构

机器学习的工作充满循环:提出假设、搭建流水线、跑一遍、看指标、调整、再来。Tangle 是 Shopify 内部跑 ML 实验的地方,给工程师一个共享平台来构建和执行流水线;Tangent 是跑在它上面的自主 Agent,负责决定跑什么、怎么跑。

围绕 Tangent,Shopify 还搭了一套基于 Linux 的托管平台,让这些 Agent 能安全地持久化运行、远程工作、访问所需服务,同时全程不持有凭据。做法是容器化隔离、证书签发代理和每实例持久化存储。

项目概览

项目信息
来源Linux.com / Shopify
作者Alexey Volkov、Bo Li、Ben Chen、Maksym Yezhov、Pete Luferenko、Volv Grebennikov
发布时间2026年7月9日
核心组件Tangle(流水线平台)+ Tangent(自主实验 Agent)
授权Apache 2.0(Tangle、Tangent 技能、托管平台、Tangent Shell 全部开源)
关键词ML 实验自动化、Agent 隔离、凭证代理

一、Tangle:开源的可视化流水线平台

Tangle 是一个开源、平台无关的 ML 实验平台,带一个拖拽式的可视化编辑器。用户把组件拖到画布上,把输出连到输入,组成一张流水线图,然后提交执行(本地或云端均可)。

几个值得说的设计:

  • 缓存层:跳过或复用已执行过的步骤,包括仍在执行中的步骤,所以迭代又快又省。

  • 运行记录永久保存:包括图、组件和日志,所以流水线在多年之后依然可复现。- 共享运行与缓存:队友可以在几秒内查看、复制、修改彼此的流水线,不用再克隆一个私有 notebook、祈祷环境能对上。

  • 对比同类工具:Tangle 与 Airflow、Kubeflow Pipelines 等开源工具相似,缓存模型和可视化编辑器是它实现快速实验循环的关键。

  • 组件生态开放:任何容器化的 CLI 程序(任意语言)都能当 Tangle 组件,组件之间用文件交换数据,格式随意(CSV、Parquet、JSON 等)。

  • 组合方式:像 shell 脚本、makefile 和 Unix 管道一样。

更多信息见官网 https://tangleml.com/ ,可以立即试用。

二、Tangent:自己迭代的实验 Agent

八步循环执行截图

Tangent 是跑在 Tangle 之上的自主 ML 工程 Agent,用来加速你的 Tangle 实验工作流。它的思路来自 Andrej Karpathy 最近带火的 autoresearch,但把那个"单卡上的一个训练脚本"扩展成了跑在 Tangle 上的完整实验流水线——带一队专门的子 Agent、门控检查点和持久记忆。

用法是给它一个场景、一个模型、一个要优化的指标、一个数据集,它就开始迭代:分析结果、形成假设、修改流水线、提交运行、监控执行、综合学到的东西。

交多少活给它,你自己定。 Tangent 支持交互式使用,你可以只交办单步(搭这个组件、调试这次失败的运行、分析这批指标),也可以用一条命令把整个循环交出去:

tangent auto

八步循环 + 门控检查点

整个流程是一个八步循环,每一步都有门控检查点,清单上每一项都通过,Agent 才进入下一步。每个关卡还会重新加载指令和上下文,防止长时间运行时跑偏。

内存是持久化的纯文本:

文件作用
MEMORY.md存当前最优配置和经验教训
每日会话日志记录过程细节
每次运行的经验归档到对象存储

三、Tangent 技能:用 Markdown 当大脑

Tangent 的"大脑"是一个技能,用 Markdown 写的。入口是一个单独的 SKILL.md,背后是一队子 Agent 技能:研究员、构建者、调试者、审查者,等等。

因为技能就是文件,所以它们可移植、可以在 PR 里审查、并且与具体 harness 无关——同一套技能能驱动你偏好的任何编码 Agent。

这种可移植性很重要,因为 Tangent 跑在开放的 Agent harness 上,而不是某个专有客户端。要加一个能力,就写一个 Markdown 文件并提交,没有二进制要构建或分发。选 Markdown 而不是配置格式或 DSL 是有意为之:它在普通 PR 里可 diff、不需要 schema 或解析器来校验、人与编码 Agent 都能原生阅读。技能文件本身就是它自己的文档。

# Tangent
A skill is just Markdown. This file is the entry point; each subagent is
its own Markdown file, loaded on demand.

## Commands
tangent <subagent>   Read agents/<subagent>.md and follow it.
tangent auto          Run the autonomous 8-step experiment loop.

## Subagents                Agent file
tangent builder             agents/builder.md
tangent debugger            agents/debugger.md
tangent researcher          agents/researcher.md
tangent reviewer             agents/reviewer.md
tangent reporter            agents/reporter.md

## Auto Mode - the loop
0 Initialize -> 1 Analyze -> 2 Hypothesize -> 3 Submit ->
4 Monitor -> 5 Evaluate -> 6 Synthesize -> 7 Decide -> (loop)

Each step has a gate. The agent won't advance until every item on the
step's checklist passes - and it re-reads its instructions at each
gate so it doesn't drift over a long run.

四、Agent 托管平台

Agent 托管架构图

Tangent Agent 托管平台帮用户部署持久的 Tangent 实例,这些实例与 Tangle、云服务商和其他外部服务通信。

每个 Tangent 实例是一个多 Agent 空间:一台基于 Linux 的 VM/容器,可以托管多个 Agent 应用(TUI、API、WebUI)。因为每个 Tangent 组件都作为标准 Linux 进程跑在容器里,Tangent 直接继承了成熟的 Linux 网络、存储和隔离原语,而不需要引入自定义运行时。实例数据(如 Agent 会话和记忆)在重启后持久保留,另外还有跨实例的共享记忆。

Auth Proxy(证书签发代理)

Agent 需要访问服务,但总存在 Agent 读到凭据、再泄露给 AI 服务商的风险。Tangent 的解法是在单独的容器里跑一个系统级代理:

  • 代理拦截并修改来自 Agent 工具的 HTTP 请求

  • 自动加上认证头

  • 可以改写请求 URL(比如把 api.aicompany.com 重定向到某个 AI 代理)

  • 要改 HTTPS 请求,就动态签发新的 SSL 证书,Agent 容器的操作系统和程序通过生成好的证书颁发机构(CA)信任这些证书

实现细节

Kubernetes 版本里,每个实例是一个 StatefulSet:一个跑着 Agent、应用和代理的容器 Pod,背后挂一个每实例的 PersistentVolume,加上一个共享内存卷挂载。

五、Tangent Shell

为了原生操作 Tangle,Shopify 做了定制的 Agent Host 镜像——Tangent Shell。

它让 Agent 远程运行,重启后保留记忆和会话,合上笔记本也能继续干活。Tangent Shell 编排多个 Agent:把请求拆成切片、分派给并行的子 Agent、通过一个持有会话的 Prime agent 来协调结果。

Tangent Shell 是照着 ML 专家的需求建的:每个会话启动时就预装了 Tangent 技能工具包和 Tangle API 工具,并被指示协助基于 Tangle 的 ML 实验——构建和优化 ML 训练流水线、测试假设、消融研究、超参数优化等。借助触发器(webhook、定时器、调度),Tangent Shell 能监控流水线执行、执行深度实验计划。Agent 知道如何在丰富的 UI 里操作,也知道如何渲染可视化产物(Markdown、PNG、HTML)。

Shell 是开源的。Agent Bundles(把提示、工具、技能、工作流、触发器打包成套)可以在不改核心代码的前提下扩展它。

六、一个真实案例

Shopify 用 Tangent 端到端重建了一个大型 reranking(重排)模型。一位工程师设定方向(试哪些特征、加什么训练数据),并在每一步审查结果;Tangent 负责构建、运行和分析实验。走完整个循环,它尝试了一连串改动,并把每一项都与上一个最好结果做对比:

步骤Agent 改了什么R@90% 精度R@95% 精度R@97% 精度
旧的流水线之前的蒸馏训练、标准特征和数据集67.3%54.4%33.6%
+ 标准化流水线迁移到可复现的训练器(效果持平,但支持快速迭代)69.5%51.9%35.2%
+ 更丰富的产品特征加入结构化元数据、分类法、文本描述和预测属性(单项提升最大)71.3%58.7%48.5%
+ 更多更难的训练数据加入搜索派生、采样和难负例对75.6%60.2%43.9%

七、开源与参与

Tangle、Tangent 技能、托管平台和 Tangent Shell 全部以 Apache 2.0 授权发布。开发在 GitHub 上公开进行,项目接受新子 Agent 技能、Agent Bundle 和核心修复的 PR。

Tangle 由它的创建者 Alexey Volkov 维护,Shopify 是项目的初始赞助方和基础设施托管方。如果你做了觉得对他人有用的子 Agent 技能或 Agent Bundle,欢迎提 PR。

八、在哪里找到 Tangle 和 Tangent


原文来源: Linux.com
https://www.linux.com/news/shopifys-tangle-and-tangent/
作者:Alexey Volkov, Bo Li, Ben Chen, Maksym Yezhov, Pete Luferenko, and Volv Grebennikov – Shopify

*本文由内容创作助手整理。*

版权声明

本文仅代表作者观点,不代表本网站立场。
本文系作者授权本网站发表,未经许可,不得转载。

发表评论
热门文章
  • 康普顿未来智慧农场

    康普顿未来智慧农场
    康普顿未来农场,使用更少的水和1%的土地,即可实现与产统农业相同产量....
  • 一种自动确定计算机游戏状态中可能动作的方法

    一种自动确定计算机游戏状态中可能动作的方法
    由于手动彻底测试视频游戏软件非常困难,因此需要拥有能够自动探索不同游戏功能的人工智能代理。此类代理的关键要求是玩家动作的模型,代理可以使用该模型来确定不同游戏状态下的可能动作集,以及对代理策略选择的游戏执行选定的动作。目前使用的典型游戏引擎不提供这样的动作模型,导致现有的工作要么需要人工手动定义动作模型,要么不精确地猜测可能的动作。在我们的工作中,我们通过为游戏中存在的用户输入处理逻辑开发最先进的分析方法来演示程序分析如何有效解决该问题,该分析可以使用离散动作空间自动建模游戏...
  • 拆解 OpenAI 的新董事会

    拆解 OpenAI 的新董事会
    在人工智能和技术领域掀起波澜的惊人事件中,人工智能领域的领先实体 OpenAI 最近的领导地位发生了重大转变。以萨姆·奥尔特曼 (Sam Altman) 戏剧性地重返首席执行官职位以及随之而来的董事会改组为标志,这些变化代表了该组织的关键时刻。OpenAI 以其在人工智能研究和开发方面的开创性工作而闻名,包括广泛认可的 ChatGPT 和 DALL-E 模型,站在人工智能进步的最前沿。因此,董事会的重组不仅仅是人员的变动,还标志着人工智能领域最具影响力的组织之一的方向、优先事...
  • HierSpeech++:通过零样本语音合成新架构

    HierSpeech++:通过零样本语音合成新架构
    基于大语言模型(LLM)的语音合成已广泛应用于零样本语音合成中。然而,它们需要大规模数据,并且具有与以前的自回归语音模型相同的局限性,包括推理速度慢和缺乏鲁棒性。本文提出了 HierSpeech++,一种快速、强大的零样本语音合成器,用于文本到语音(TTS)和语音转换(VC)。我们验证了分层语音合成框架可以显着提高合成语音的鲁棒性和表现力。此外,即使在零样本语音合成场景中,我们也显着提高了合成语音的自然度和说话人相似度。对于文本到语音,我们采用文本到向量框架,该框架根据文本表...
  • 使用众包反馈来帮助训练机器人

    使用众包反馈来帮助训练机器人
    为了教人工智能代理一项新任务,比如如何打开厨房柜子,研究人员经常使用强化学习——这是一种试错过程,在该过程中,代理会因采取更接近目标的行动而获得奖励。在许多情况下,人类专家必须仔细设计奖励函数,这是一种激励机制,赋予代理人探索的动力。当智能体探索并尝试不同的动作时,人类专家必须迭代地更新奖励函数。这可能非常耗时、效率低下,并且难以扩展,尤其是当任务复杂且涉及许多步骤时。来自麻省理工学院、哈佛大学和华盛顿大学的研究人员开发了一种新的强化学习方法,该方法不依赖于专门设计的奖励函数...