Skip to content
LangSmith 文档版本 跟随上游 源快照 7fc59c57 更新于 2026-10-18

工作负载隔离

LangSmith 使用层级结构来组织你的工作:组织、工作区、应用和资源。这种结构让你在协作与访问控制之间取得平衡,从而根据团队需求选择合适的隔离级别。

LangSmith 权限系统建立在此层级结构之上。通过基于角色的访问控制(RBAC),用户权限的范围限定为一个或多个工作区,从而强制实施工作区之间的隔离。通过更细粒度的基于属性的访问控制(ABAC),可以根据工作区内的标签或应用等属性进一步限制或授予访问权限(例如,仅允许用户访问开发资源,或仅访问与特定应用关联的资源)。

本页介绍根据团队的隔离需求组织工作区的三种常见方法:

TIP

有关设置组织和工作区的详细信息,请参阅设置层级结构。

以团队为中心的工作区

WARNING

这是默认模式,也是大多数客户推荐的选择。

此模式(每个团队一个工作区)使用单个组织作为顶层边界。在组织内,使用多个工作区隔离不同的团队或业务部门。每个工作区代表特定团队的逻辑边界,并管辖该团队可以访问哪些数据和资源。在工作区内,团队使用多个应用将支持同一智能体的资源分组。一个应用还可以包含不同的资源,例如用于开发和生产环境的独立追踪项目。

graph LR
    Org[Organization]

    WS1[Workspace: Team A]
    WS2[Workspace: Team B]

    App1A[Application]
    App1B[Application]

    DevA[Dev Tracing Project]
    ProdA[Prod Tracing Project]
    DatasetA[Dataset]

    DevB[Dev Tracing Project]
    ProdB[Prod Tracing Project]
    DatasetB[Dataset]

    Org --> WS1
    Org --> WS2

    WS1 --> App1A
    WS2 --> App1B

    App1A --> DevA
    App1A --> ProdA
    App1A --> DatasetA

    App1B --> DevB
    App1B --> ProdB
    App1B --> DatasetB

    classDef orgStyle fill:#B2DEFF,stroke:#006DDD,stroke-width:2px,color:#030710
    classDef wsStyle fill:#E5F4FF,stroke:#006DDD,stroke-width:2px,color:#030710
    classDef appStyle fill:#F6FFDB,stroke:#6E8900,stroke-width:2px,color:#2E3900
    classDef resourceStyle fill:#F2FAFF,stroke:#40668D,stroke-width:1px,color:#2F4B68

    class Org orgStyle
    class WS1,WS2 wsStyle
    class App1A,App1B appStyle
    class DevA,ProdA,DatasetA,DevB,ProdB,DatasetB resourceStyle
  • **优点:**单一工作区允许共享所有团队资源,使团队内的协作和迭代变得简单。它还简化了从开发到生产的晋升。例如,同一个提示词可以通过标签进行版本管理并晋升到生产环境,而无需复制或重复。
  • **缺点:**主要权衡是同一团队不同环境之间的隔离有限。开发、测试和生产资源共存于同一应用中,因此团队必须依赖标签和约定来避免对生产环境造成意外影响。RBAC 的范围限定在工作区级别。ABAC 通过基于资源属性限制访问,在工作区内提供更细粒度的权限,例如仅允许用户访问开发资源。

协作工作区

在此模式(每个工作区多个团队)中,多个团队共享组织内的单个工作区,并使用应用和 ABAC 来分离资源并管理访问。因此,提示词和部署等共享资源可以跨团队复用,而对追踪和数据集等敏感资源的访问则仅限于所属团队。

graph LR
    Org[Organization]

    WS[Shared Workspace]

    AppA[Application: Team A]
    AppB[Application: Team B]

    TracesA[Traces: Team A]
    DatasetA[Dataset: Team A]
    PromptA[Prompt: Shared]

    TracesB[Traces: Team B]
    DatasetB[Dataset: Team B]
    PromptB[Prompt: Shared]

    Org --> WS

    WS --> AppA
    WS --> AppB

    AppA --> TracesA
    AppA --> DatasetA
    AppA --> PromptA

    AppB --> TracesB
    AppB --> DatasetB
    AppB --> PromptB

    classDef orgStyle fill:#B2DEFF,stroke:#006DDD,stroke-width:2px,color:#030710
    classDef wsStyle fill:#E5F4FF,stroke:#006DDD,stroke-width:2px,color:#030710
    classDef appStyle fill:#F6FFDB,stroke:#6E8900,stroke-width:2px,color:#2E3900
    classDef restrictedStyle fill:#F8E8E6,stroke:#B27D75,stroke-width:1px,color:#634643
    classDef sharedStyle fill:#FDF3FF,stroke:#7E65AE,stroke-width:1px,color:#504B5F

    class Org orgStyle
    class WS wsStyle
    class AppA,AppB appStyle
    class TracesA,DatasetA,TracesB,DatasetB restrictedStyle
    class PromptA,PromptB sharedStyle
  • **优点:**提示词和部署等公共资源可以跨团队共享和复用,从而提高协作并减少重复工作。与以团队为中心的工作区模式不同,协作不限于单个团队,可以跨越工作区内的所有团队。
  • **缺点:**团队和环境之间的隔离弱于多工作区模式,并且依赖于正确使用 ABAC。标签或策略配置错误可能会将敏感的追踪或数据集暴露给其他团队,而跨多个团队管理权限会增加运维复杂性。

项目隔离工作区

INFO

仅当需要严格隔离时才应使用此方法。

在此模式(每个团队多个工作区)中,通过为单个团队创建多个工作区来提高隔离性。工作区可以按项目或环境组织,例如独立的开发和生产工作区。每个工作区完全隔离,拥有自己的用户、数据和资源,访问严格限定在该工作区内。

graph LR
    Org[Organization]

    WSDev[Workspace: Dev]
    WSProd[Workspace: Prod]

    AppDev[Application]
    AppProd[Application]

    TracesDev[Traces]
    DatasetDev[Dataset]
    DeploymentDev[Deployment]

    TracesProd[Traces]
    DatasetProd[Dataset]
    DeploymentProd[Deployment]

    Org --> WSDev
    Org --> WSProd

    WSDev --> AppDev
    WSProd --> AppProd

    AppDev --> TracesDev
    AppDev --> DatasetDev
    AppDev --> DeploymentDev

    AppProd --> TracesProd
    AppProd --> DatasetProd
    AppProd --> DeploymentProd

    classDef orgStyle fill:#B2DEFF,stroke:#006DDD,stroke-width:2px,color:#030710
    classDef wsStyle fill:#E5F4FF,stroke:#006DDD,stroke-width:2px,color:#030710
    classDef appStyle fill:#F6FFDB,stroke:#6E8900,stroke-width:2px,color:#2E3900
    classDef resourceStyle fill:#F2FAFF,stroke:#40668D,stroke-width:1px,color:#2F4B68

    class Org orgStyle
    class WSDev,WSProd wsStyle
    class AppDev,AppProd appStyle
    class TracesDev,DatasetDev,DeploymentDev,TracesProd,DatasetProd,DeploymentProd resourceStyle
  • **优点:**团队、项目和环境之间具有强隔离。仅能访问开发工作区的用户无法查看或访问生产数据或任何生产资源,从而降低意外更改或跨环境误用的风险。
  • **缺点:**资源无法跨工作区共享。复用提示词、数据集或实验,即使是将智能体从开发晋升到生产,也需要在工作区之间手动复制,这会带来摩擦和重复。为减少这种开销,你可以使用 LangSmith Data Migration Tool 在工作区之间复制提示词、数据集或实验。

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。