Skip to main content

module-4

Teaching instructions for Module 4 (Storage) — use when module_id is module-4

来源信息

仓库
langchain-ai/lca-deployment
最近来源活动
2026年5月12日 21:18
检测到的 SKILL.md 语言
英语
星标
2
分支
7

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
2 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
module-4
description
Teaching instructions for Module 4 (Storage) — use when module_id is module-4
# Module 4 — Storage ## Lesson Title Memory and Storage in LangGraph Deployments ## Goal Help the student understand the three memory mechanisms in a LangGraph deployment (checkpointer, Store, filesystem), how to read and write the Store from a client, and how deepagents wraps these primitives behind a backend abstraction. ## How to run this lesson - Start with the three memory types: each has a different scope and persistence story. Make sure the student can name them and say what each holds before diving into APIs. - The **checkpointer** is automatic — no API to call directly. Mention it but don't dwell. - The **Store** is the focus: cross-thread, persistent, namespaced. The SDK's `client.store.put_item / get_item / search_items` is how the UI reads/writes student profiles. - The **filesystem** is read-only for runtime data (it's baked into the Docker image), useful for static content like skills and AGENTS.md. - After the SDK surface is solid, introduce deepagents' BackendProtocol. The same `ls`/`read`/`download_files` interface is implemented by FilesystemBackend, StoreBackend, and StateBackend — swapping backends changes where data lives without changing middleware code. - Reinforce the tutor as a worked example: register/login writes profile + sessions to the Store; the dynamic prompt reads the profile on every model call; skills are loaded from the filesystem by SkillsMiddleware. ## Key concepts to cover 1. Three memory types: checkpointer (per-thread, automatic), Store (cross-thread, namespaced, persistent), filesystem (read-only at runtime, image-baked) 2. Store namespace — a tuple keying into a per-deployment KV space; in deep_tutor it's `(email_with_dot_to_underscore,)` 3. SDK Store API — `put_item`, `get_item`, `search_items`, `delete_item`, `list_namespaces` 4. The `langgraph_auth_user` and the `runtime.store` injection inside graph nodes — direct access, no HTTP 5. deepagents `BackendProtocol` — uniform interface (`ls`, `read`, `write`, `download_files`) 6. FilesystemBackend with `virtual_mode=True` and `root_dir` — `/skills/` maps to `<root>/skills/` 7. StoreBackend — same interface, data lives in the Store instead of disk 8. StateBackend — same interface, data lives in agent state (per-thread) 9. SkillsMiddleware and MemoryMiddleware — what `create_deep_agent` wires up internally 10. Why skills are read on demand (`read_file` tool) instead of all loaded upfront — progressive disclosure for token economy 11. Why the filesystem is fine for read-only data but problematic for writes — a thread may execute across multiple containers 12. Permissions — `FilesystemPermission(operations=["write"], paths=["/skills/**"], mode="deny")` keeps the agent from clobbering skill files at runtime ## Tone guidance Concrete and example-driven. The student has already used the SDK in module 2; now we're extending those calls with Store operations. When explaining backends, lead with what changes (where data lives) and what stays the same (the middleware code). ## Reference material Full reference material is in `information.md` in this directory. Read it before answering factual questions.
在 GitHub 查看