Agent Lab Architecture

Architecture

依赖方向

flowchart TD
    Domain["Domain contracts"] --> Application["Application policy shell"]
    Application --> Capabilities["Tools · Retrieval · Memory · Approval"]
    Capabilities --> Workflow["Deterministic Workflow"]
    Capabilities --> LC["LangChain create_agent"]
    Capabilities --> LG["Custom LangGraph"]
    Capabilities --> DA["Deep Agents optional adapter"]
    Workflow --> Result["RunResult"]
    LC --> Result
    LG --> Result
    DA --> Result
    Result --> EvidenceLoop["Trace → Dataset → Eval → Regression → Release"]

依赖只允许向稳定核心收敛:

domain ← application ← capabilities ← runtimes / adapters

domain 不 import LangChain、LangGraph、LangSmith、Deep Agents 或 provider。

确定性外壳,概率性内核

代码负责:

模型负责:

如果一项规则能由代码确定,就不交给模型猜。

Context 与 Memory

数据 生命周期 位置
user、tenant、permission、client、secret 单次调用 RunContext
当前任务、临时证据、中断点 thread LangGraph state + checkpointer
稳定偏好和事实 跨 thread Memory Store
失败或成功执行摘要 跨 thread Episodic memory
policy、prompt、skill、workflow 版本化 Procedural memory

Runtime context 不序列化。长期记忆默认需要审批、namespace、来源和版本。

Runtime 选择

条件 首选
完全确定、步骤固定 普通 Workflow
标准模型工具循环 LangChain create_agent
显式状态、分支、恢复、HITL LangGraph
长任务、文件系统上下文、可测 subagent 收益 Deep Agents 实验

“更高级”不是选择标准;同一 RunRequest 在同一 dataset 上的结果才是。

关键 ADR