以编程方式使用文档

当代理的上下文管理不善时,它们在生产环境中的行为会不一致。 _上下文_ 是代理赖以行动的信息,如系统指令、工具定义和参考资料。 _上下文工程_ 是构建和优化上下文以提升代理性能和能力的实践。

本页面介绍 LangSmith 中上下文工程的核心概念: 技能, 代理, 上下文中心, 版本控制共享.

技能

A _技能_ 是上下文中心中的一个版本化仓库,用于打包代理可调用的可复用能力。

技能仓库通常包含:

通用文件: - SKILL.md 位于根目录中,用于说明和使用指南。 - 可选的支持文件,如参考资料、模板和模式。

示例包括电子邮件格式化、代码审查和网络研究。

代理

An _代理_ 是使用工具、技能和子代理端到端完成任务的 AI 系统。 _代理仓库_ 打包其配置,包括高级指令、链接的技能和子代理,以及工具配置。

代理仓库通常包含:

通用文件: - AGENTS.md 用于系统提示和操作说明。 - 可选文件,如 tools.json 以及链接的 agents/* or skills/* entries.

示例包括电子邮件助手、编程副驾驶或客户支持代理。

在技能和代理之间选择

技能是可复用的上下文模块。代理仓库是定义代理如何运作的顶层捆绑包。

  • - 使用技能来存储跨代理共享的可复用指令、策略或示例。
  • - 使用代理仓库来管理单个代理的操作指令、工具和链接的依赖项。

链接的仓库

上下文中心提交支持三种入口类型 files:

  • - file:内联文件内容。
  • - agent:链接到另一个代理仓库。
  • - skill:链接到另一个技能仓库。

当链接的代理或技能仓库有新提交时,LangSmith 会将该更新传播到引用它的父仓库。

上下文中心与存储后端

LangSmith 中的上下文可以通过两个不同的后端进行管理: **Context Hub** 和 **存储后端**。它们服务于不同的目的,大多数代理同时使用两者。

这个 Context Hub 是您的代理的长期上下文存储。它将每次更改作为提交进行追踪,并支持版本控制、共享和持续改进。

A _存储后端_ 专为运行时状态而构建。它保存代理在运行过程中积累的信息:记忆、对话历史、用户偏好、已学习的知识以及其他随会话或用户变化的数据。

版本控制

对 **Context Hub** 中的代码库进行任何更改都会创建新的提交。提交是不可变的、可浏览的和可比较的,因此您可以:

- 查看两个版本之间代理的具体变化。 - 如果更改导致行为退化,可以恢复到任何之前的提交。 - 标记重要的提交(例如,您在 特定日期)提交的版本,便于参考。 - 将提交提升到 **环境** 如 Staging or Production 以便下游代理拉取稳定版本而不是最新版本 edit.

如果这个工作流程看起来很熟悉,那是有意为之的:Context Hub 将 Git 带给代码的相同规范带到了代理指令中。

共享和权限

这个 **Context Hub** 专为团队设计。每个代码库都位于 工作空间中,访问权限取决于工作空间权限和代码库可见性:

  • 私有 代码库仅在工作空间内可见。
  • 公开 代码库可以被任何人发现和拉取。
  • - 创建提交、添加标签和提升环境需要工作空间中的更新权限。

工作空间级别的共享和可见性控制使 Hub 成为协作和随时间改进代理和技能的理想场所。

后续步骤