Context Engineering第 19 篇

03 Custom state schema:可变图状态

它是什么

本站只展示教学文档和静态源码。不会执行示例、启动服务、访问模型、数据库或其他外部系统。

约 224 字·预计阅读 1 分钟
本页目录

它是什么

Custom state schema 是 Deep Agent 的可变图状态扩展,适合保存运行中会变化并需要 checkpoint 的数据。它解决的问题是:工具和 middleware 要共享“当前页面、已收集文件、计数器”等运行中状态。不可变的用户配置仍然优先放 runtime context。

最小代码

文件:deepagent_src/context_engineering_teach/03_custom_state_schema.py

class ResearchState(DeepAgentState):
    page_url: str
    file_urls: list[str]


@tool
def cite_page(runtime: ToolRuntime) -> str:
    """Return the page URL stored in mutable agent state."""
    return runtime.state["page_url"]

运行

uv run python deepagent_src/context_engineering_teach/03_custom_state_schema.py

预期输出:

custom state schema real agent ok

验证方式

脚本确认 ResearchState 暴露了新增 state 字段,并真实调用 Agent,要求 Agent 调用 cite_page 工具从 runtime.state 读到 page_url。

常见误区

别用 state 存 API key、用户角色这类每轮静态配置。那些信息放 runtime context 更清楚,也更不容易被模型上下文污染。

参考资源与示例代码