LightAgent v0.11 LightDAG 完整指南:动态多智能体DAG、严格验证与可恢复执行

发布时间:2026/10/14 15:39:57
LightAgent v0.11 LightDAG 完整指南:动态多智能体DAG、严格验证与可恢复执行
【免费下载链接】LightAgentLightAgent: Lightweight Python framework for OpenAI-compatible agents with tools, memory, guardrails, tracing, lifecycle hooks, multi-agent collaboration, and workflows.项目地址https://gitcode.com/gh_mirrors/lig/LightAgent点击查看免费下载LightAgent是一个轻量级 Python 智能体框架v0.11 新增LightDAG运行时支持在任务图未知的前提下让多个 Agent 围绕一张持久化任务图协作、并行处理独立节点、通过验证后发布成果并可在进程重启后安全恢复执行。本文面向新手和普通用户带你快速理解 LightDAG 的设计思路、核心概念与常见使用场景。一、LightDAG 是什么为什么需要它在传统多智能体系统中任务流往往被预先定义好一旦执行过程中发现需要拆分子任务就难以优雅地动态调整。LightDAG正是为解决这一痛点而生。它的核心定位动态任务图Worker 在执行中可提出拆解提案DecompositionProposal把一个大任务拆成多个可并行的小任务。严格验证只有Verifier明确判定pass候选产物才能被发布published否则保留为待审状态不会污染下游。可恢复执行所有图状态、尝试、事件、租约都持久化在 SQLite 中进程崩溃或重启后能安全接管并继续推进。LightDAG 与 LightFlow 的区别如果你的任务图是预先确定的用更轻量的 LightFlow 即可只有当你需要在运行时动态扩展任务图、并需要持久化恢复能力时才选择 LightDAG。相关源码入口LightAgent/dag/二、核心角色与术语速览LightDAG 中几个必须理解的概念术语说明Run运行一次完整的 DAG 执行对应一个run_id包含图版本、调度器代际、配置摘要等Task任务图中的一个节点由TaskSpec描述包含目标、验收契约、Worker/Verifier 键Worker负责解决问题的执行单元可以是任意可调用的 Python 函数或 LightAgent 实例Verifier负责判断产物是否合格的守门员只有它能宣布一个任务完成TaskOutcomeWorker 的三种合法返回candidate提交候选、decompose提出拆解、blocked阻塞等待人工介入Artifact已验证的产物内容寻址、不可变供下游引用SecurityContext每次运行必需的安全上下文绑定tenant_id、project_id、权限集等重要原则模型回复一段我完成了的文本不等于任务完成。Worker 必须显式提交TaskOutcome且需通过 Verifier 校验。相关类型定义LightAgent/dag/models.py三、最小可运行示例无需真实 APILightAgent 提供了完全离线可跑通的示例 example/14.dynamic_dag.py演示了根任务 → 拆解为 analysis/summary → 并行执行 → 验证失败并修复 → 集成验收的完整链路。直接执行PYTHONPATH. python example/14.dynamic_dag.py示例中的核心步骤伪代码级理解创建LightDAG实例注入SqliteTaskGraphStore与LocalArtifactStore。注册一个local-worker它在遇到root任务时返回TaskOutcome.decompose(...)把root拆为analysis和summary。summary第一次尝试返回一个错误候选触发验证失败第二次修复后通过。调用dag.run(offline-demo)最终analysis、summary、root三个任务都变成verified。完整离线示例example/14.dynamic_dag.py# 精简版核心结构 result dag.run(offline-demo) states {t.spec.task_id: t.state.status.value for t in dag.list_tasks(result.run_id)} # {root: verified, analysis: verified, summary: verified}四、动态拆解Worker 如何扩展任务图LightDAG 最强大的能力是运行中扩展任务图。当一个 Worker 执行到某任务时可以返回TaskOutcome.decompose(proposal)提交一份 DecompositionProposalparent_task_id提出拆解的父任务new_tasks要新增的TaskSpec列表rationale拆解理由人工审计用composition_contract组合要求例如必须同时完成 A 和 Bexpected_graph_revision期望的图版本用于 CASCompare-And-Swap冲突检测接受拆解是一个原子的 SQLite 事务会同时校验任务数/边数是否超过DAGConfig上限是否存在未知依赖是否存在环路当前 attempt 租约是否仍有效图版本是否与expected_graph_revision一致只有全部通过新节点才真正存在父任务进入waiting_dependencies状态等所有依赖都verified后父任务以phaseintegrate再次运行进行集成验收。⚠️不可变契约TaskSpec的goal、acceptance_contract创建后不可原地改写。需要变更时应通过 LightAgent/dag/scheduler.py 中的supersede_task()创建替代任务并显式记录supersedes_task_id。五、严格验证与产物发布Verifier是 LightDAG 的守门员只有它能决定一个任务是否verified。5.1 验证报告必须绑定上下文每份 VerificationReport 都会记录输入快照哈希input_snapshot_hashVerifier 的 key / version / config_digest产物哈希列表保障等级AssuranceLevelformal/executable_checks/human_review诊断信息与证据引用只有verdict pass的报告才能把 staged 产物升级为published任务标记为verified。5.2 本地产物库LocalArtifactStore 使用内容寻址content-addressed写入不可变 blob读取时强制检查tenant_id/project_id作用域校验字节长度、SHA-256 完整性、路径包含性未发布staged产物对下游不可见生产建议显式传入SqliteTaskGraphStore与LocalArtifactStore的持久化路径避免默认落在.lightagent/artifacts。dag LightDAG( storeSqliteTaskGraphStore(data/dag.sqlite3), artifact_storeLocalArtifactStore(data/artifacts), verifiers{exact: CallableVerifier(exact, verify_fn)}, configDAGConfig(max_concurrency2), )六、可恢复执行租约、幂等与接管LightDAG 的可恢复不是简单保存 checkpoint而是一整套租约 幂等 版本控制机制6.1 每次运行都持久化Run 存储内容包含任务图、任务状态、尝试历史、事件流、验证报告、产物清单、幂等记录、调度器租约。6.2 租约Lease与 fencing调度器持有运行级租约默认 60 秒每个任务尝试有独立 fencing epoch旧 attempt 在租约过期或任务被替代后无法再发布结果6.3 恢复命令result dag.run(run_id) # 终端/暂停/阻塞状态的 run 不变 dag.resolve_blocker(run_id, task_id) # 显式人工解除阻塞 result dag.run(run_id) dag.pause(run_id) result await dag.resume(run_id) dag.cancel(run_id)恢复时若发现DAGConfig不匹配会以LA-DAG-RECOVERY-CONFIG-MISMATCH报错关闭fail closed避免用错误配置继续推进。️at-least-once 语义fencing 只能保护 LightDAG 内部状态无法撤销已发生的外部副作用。对外的关键操作发请求、写数据库应使用幂等设计或接入 Sandbox/Provider。相关持久化实现LightAgent/dag/store.py、LightAgent/dag/scheduler.py七、安全边界SecurityContext 与能力门LightDAG 与 v0.10 的Unified Security Context深度融合每个 run 都要求提供完整的 SecurityContextuser_id/tenant_id/project_id三元组标识permissionsPermissionSet声明允许的权限键如dag.task.executeWorker 子上下文只能收窄、不能扩展包含 run、task、attempt、agent、资源、权限、网络策略、沙箱要求、截止时间、策略版本CapabilityGate会在 Worker 创建前检查dag.task.execute能力即使任务未声明资源也强制检查。ApprovalToken则是操作级的绑定操作、参数、身份、资源、策略版本默认单次使用、可过期不是通用 bearer token。八、可观测性与 Tracing 集成LightDAG 的每次事件都会写入 SQLite 事件流可通过 Session/Trace 关联到run_id/task_id/attempt_id配合 LightAgent 的 tracing 能力可以在 Langfuse 等可观测平台看到完整的执行链路九、v0.11 的边界与适用场景首版交付单机、单活动调度器、多异步 Worker默认最多 4 个并发 WorkerDAGConfig.max_concurrencySQLite 必须位于本地文件系统完整的持久化、租约、幂等、恢复首版不交付分布式队列Redis/CeleryWeb UI自动 Git 合并/部署通用代码沙箱形式化证明工具适合场景需要在运行时动态拆解任务的研究/数据流水线对产物正确性要求严格、不能模型说自己对就算对的合规场景长时任务需要进程重启后恢复例如批处理报告、多阶段分析不适合场景任务图固定不变的简单流水线 → 用 LightFlow分布式大规模集群调度 → 需自行扩展 Provider完整设计文档docs/lightdag.md、docs/lightdag_v011_development_plan.zh-CN.md十、快速上手清单 ✅安装pip install LightAgent或 clone 仓库本地安装读文档docs/lightdag.md 是最短路径跑示例PYTHONPATH. python example/14.dynamic_dag.py换你的 Worker把示例中的local-worker替换成真实的 LightAgent 或业务函数加 Verifier为每个verifier_key注册一个确定性或 LLM 校验函数显式持久化生产环境指定SqliteTaskGraphStore和LocalArtifactStore路径绑定 SecurityContext为每个 run 传入 tenant/project 身份与权限集观察日志接入 Langfuse 等 tracing 平台跟踪每次 attempt总结LightAgent v0.11 的LightDAG是动态 持久化 严格验证的三合一运行时。它把多智能体协作中任务图不确定、产物可信度难保证、进程中断难恢复三大痛点通过版本化拆解提案、Verifier 守门、SQLite 租约与幂等三件套系统化解决。如果你的工作流只需要固定步骤LightFlow 更简单如果你需要让 Agent在运行中自主规划并可靠完成LightDAG 就是你要的下一步。核心入口速查运行时LightAgent/dag/scheduler.py数据契约LightAgent/dag/models.py持久化LightAgent/dag/store.py产物库LightAgent/dag/artifacts.py验证器LightAgent/dag/verification.pyWorker 适配LightAgent/dag/worker.py离线示例example/14.dynamic_dag.py官方文档docs/lightdag.md赞分享【免费下载链接】LightAgentLightAgent: Lightweight Python framework for OpenAI-compatible agents with tools, memory, guardrails, tracing, lifecycle hooks, multi-agent collaboration, and workflows.项目地址https://gitcode.com/gh_mirrors/lig/LightAgent点击查看免费下载相关推荐一键重装VPS系统reinstall工具完全指南一键重装VPS系统reinstall工具完全指南 还在为VPS系统重装的复杂流程而烦恼吗从Linux到Windows的系统切换是否让你望而却步reinst运维CLIPositron E2E 测试失败复现与验证指南从诊断到修复的严谨执行流程Positron E2E 测试失败复现与验证指南从诊断到修复的严谨执行流程 导读 本指南基于 Positron 仓库中 debug e2e test 技能S开发工具代码编辑器数据科学KernelSU Android Root 实战指南LKM 还是 GKI安装流程与避坑一次讲清KernelSU Android Root 实战指南LKM 还是 GKI安装流程与避坑一次讲清 刷 root 最容易翻车的场景是这样的Release 页面操作系统驱动开发创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考