LangChain: 您可以为Managed Deep Agents添加计划。在schedules/中添加一个包含cron表达式和提示的部署文件…

X AI KOLs Timeline 工具

摘要

LangChain为Managed Deep Agents引入了计划功能,允许使用cron表达式和提示自动化执行AI代理。

您可以为Managed Deep Agents添加计划。在schedules/中添加一个包含cron表达式和提示的文件部署 ...然后代理自动运行文档: https://docs.langchain.com/langsmith/python/managed-deep-agents-schedules… 来自@ndrezn的演示
查看原文
查看缓存全文

缓存时间: 2026/09/23 22:14

你可以为托管深度代理添加调度。将调度文件放入 schedules/ 目录,其中包含 cron 表达式和提示信息。部署后,代理将自动运行。

文档:https://docs.langchain.com/langsmith/python/managed-deep-agents-schedules

来自 @ndrezn 的演示


为托管深度代理添加调度 - LangChain 文档

来源:https://docs.langchain.com/langsmith/python/managed-deep-agents-schedules

托管深度代理可以按 cron 计划运行代理。部署项目时,mda deploy 会在部署完成后将每个调度配置为 LangSmith cron 任务。

项目结构

调度声明文件位于项目级 schedules/ 目录中,每个文件对应一个调度:

添加调度

文件名即为托管调度的名称。调度模块必须定义一个名为 schedule 的声明。

schedules/daily_digest.py

配置调度输入

每个调度必须明确定义以下两者之一:

  • prompt:自然语言提示。当 cron 触发时,托管深度代理会将其转换为用户消息。
  • input:结构化 LangGraph 输入对象。当需要传递自定义图输入(而非单一提示)时使用此方式。

schedules/nightly_sweep.py

cron 必须是标准五字段 cron 表达式:分钟、小时、每月第几天、月份和星期几。如果省略 timezone,LangSmith cron 将使用 UTC 时区。

选择线程行为

调度默认使用临时线程。托管深度代理会为每次运行创建新线程,并在运行完成后要求 LangSmith 删除该临时线程。仅当计划运行需要跨调用积累持久线程状态时,才应使用持久线程。持久线程 ID 必须是部署中已存在的线程 UUID。托管深度代理会直接将该值传递给代理服务器,任何非 UUID 格式的 ID 都会被拒绝。

创建持久线程

在部署调度前创建线程。在 LangSmith Studio(https://docs.langchain.com/langsmith/studio)中打开部署,创建新线程并复制其线程 ID。mda deploy 会打印部署 URL,LangSmith 也会在部署页面显示该信息。托管深度代理和 mda 命令行工具都不会创建线程,因此每个持久调度都需要执行一次手动创建。

声明持久调度

在调度声明中使用该线程 ID。

schedules/nightly_memory.py

向 Slack 发送结果

将 deliver_to 设置为通过已配置的 Slack 频道(https://docs.langchain.com/langsmith/python/managed-deep-agents-channels-slack)发送最终响应。由于计划运行没有原始线程,请使用 Slack 频道 ID。

schedules/monday_greeting.py

Slack 机器人必须有权访问目标频道。

使用静态声明

调度声明在编译时提取。请保持调度配置可静态序列化:

  • 使用字面量、列表、字典以及对顶层字面常量的引用。
  • 不要读取环境变量、调用函数、使用 **kwargs 或动态计算调度值。
  • 将动态行为放在代理、工具、中间件或运行时上下文中。

本地测试调度

mda dev 会编译 schedules/ 目录并在启动横幅中列出每个调度,但不会实际配置它们。调度仅在部署环境中运行。

要测试调度触发的代理行为,可在本地 Studio 中直接向代理发送调度的 prompt 或 input。要测试调度本身,需将项目部署到开发环境。

部署调度

使用 mda dev(https://docs.langchain.com/langsmith/python/managed-deep-agents-cli#develop-locally)在本地测试项目,然后使用 mda deploy(https://docs.langchain.com/langsmith/python/managed-deep-agents-deploy)进行部署。在 LangSmith 中打开部署跟踪,可检查模型调用、工具调用、错误和延迟。当部署状态变为 DEPLOYED 时,mda deploy 会在已部署的代理服务器上搜索现有的托管深度代理 cron 任务,删除它们,并为当前 schedules/ 声明创建新的 cron 任务。删除本地调度文件并重新部署,将移除对应的托管 cron 任务。

故障排除

  • “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,确认已部署的代理服务器状态正常。
  • “Invalid thread ID: must be a UUID (HTTP 422)”:持久调度声明的线程 ID 不是 UUID。请替换为现有线程的 UUID。参见选择线程行为(https://docs.langchain.com/langsmith/python/managed-deep-agents-schedules#choose-thread-behavior)。
  • 调度在本地开发期间不运行:mda dev 不会配置调度。参见本地测试调度(https://docs.langchain.com/langsmith/python/managed-deep-agents-schedules#test-schedules-locally)。

后续步骤

相似文章

@LangChain: 关于Managed Deep Agents您需要了解的一切:

X AI KOLs Timeline

LangChain 宣布 Managed Deep Agents 进入私有测试版,这是一个托管的 API 优先运行时,用于构建、运行和生产中操作深度代理,利用开源 Deep Agents 工具集,并与 LangSmith 集成,实现持久执行、流式处理和人机协作工作流。