托管深度智能体可以按照 cron 计划运行智能体。在 schedules/ 目录下添加一个计划文件,导出一个命名的 schedule �明,mda deploy 会在部署上线后将其配置为 LangSmith cron。
托管深度代理目前处于私有测试阶段,仅在LangSmith Cloud的美国区域提供。加入等待列表以申请访问权限。

添加计划

在 schedules/ 目录下为每个计划创建一个文件。文件名将成为托管计划的名称。完整的项目布局请参阅 CLI 项目文件参考。 计划模块必须导出一个命名的 schedule 声明。

配置计划输入

每个计划必须精确地定义以下其中一项:
  • prompt:一个自然语言提示。当 cron 触发时,MDA 会将其转换为用户消息。
  • input:一个结构化的 LangGraph 输入对象。当您需要传递自定义图输入而非单一提示时,请使用此项。
cron 必须是标准的五个字段的 cron 表达式:分钟、小时、日、月和星期几。如果省略 timezone,LangSmith cron 将使用 UTC。

选择线程行为

计划默认使用临时线程。MDA 为每次运行创建一个新线程,并在运行完成后要求 LangSmith 删除该临时线程。 仅当计划运行需要跨调用累积持久线程状态时,才使用持久线程。

将结果发送到 Slack

设置 deliver_to / deliverTo 以通过配置的 Slack 频道发布最终响应。请使用 Slack 频道 ID,因为计划运行没有原始线程。
计划投递需要 managed-deepagents>=0.4.0。
Slack 机器人必须能够访问目标频道。关于频道设置和所需的密钥,请参阅 Slack。

使用静态声明

计划声明在编译时被提取。请保持计划配置为静态可序列化:
  • 使用字面量、数组、对象以及对顶层字面量常量的引用。
  • 不要读取环境变量、调用函数、展开对象、使用 **kwargs 或动态计算计划值。
  • 请将动态行为放入智能体、工具、中间件或运行时上下文中。

部署计划

使用 mda dev 在本地测试项目,然后使用 mda deploy 进行部署。在 LangSmith 中打开部署追踪,以检查模型调用、工具调用、错误和延迟情况。 当部署状态变为 DEPLOYED 时,mda deploy 会搜索部署在的智能体服务器上现有的 MDA 拥有的 cron 作业,删除它们,并为当前 schedules/ 目录中的声明创建 cron 作业。删除一个本地计划文件并重新部署,将会移除对应的托管 cron。
如果您使用 --no-wait 部署,CLI 会触发远程构建并在部署达到 DEPLOYED 之前退出,因此在该次调用期间它不会协调计划。在添加、更改或移除计划时,请不带 --no-wait 运行 mda deploy .。

故障排除

  • must export a named schedule declaration:请从 schedules/ 中的每个文件导出一个顶层的 schedule。
  • must define exactly one of prompt or input:添加 prompt 或 input 其中之一,但不能同时添加两者。
  • cron must be a standard 5-field expression:使用五个 cron 字段,而不是基于秒的 cron 语法。
  • schedule is not static:将计算值替换为字面量或顶层字面量常量。
  • failed to create cron for schedule:在 LangSmith 中打开部署 URL,并确认已部署的智能体服务器运行正常。

后续步骤

部署智能体

部署并协调计划变更。

CLI 参考

查询 mda deploy 标志和故障排除方法。