LangChain Deep Agents (Python) — build, deploy, and customize stateful long-running agents with virtual filesystems, subagents, human-in-the-loop, and LangSmith observability. Also covers LangGraph, LangChain OSS chains/retrievers, and Agent Server API.
Instrucciones de origen · Vista previa de solo lectura
name
langchain-deepagents
description
LangChain Deep Agents (Python) — build, deploy, and customize stateful long-running agents with virtual filesystems, subagents, human-in-the-loop, and LangSmith observability. Also covers LangGraph, LangChain OSS chains/retrievers, and Agent Server API.
LangChain Deep Agents Skill
Expert assistance for building LangChain Deep Agents in Python: stateful agents with virtual filesystems, parallel subagents, tool permissions, human-in-the-loop, and deployment via LangSmith.
Reference corpus: 1473 pages of official docs in references/llms-txt.md (5.4 MB) and references/llms-full.md (10 MB). Use view references/llms-full.md when detailed implementation is needed.
When to Use This Skill
Activate when:
Building a Deep Agent — creating a stateful agent with virtual filesystem, backends, or subagents
Configuring subagents — setting up parallel or async subagents with permission inheritance
Implementing human-in-the-loop — adding approval gates for sensitive tool calls
Deploying to LangSmith — setting up langgraph.json, Agent Server, or deployment pipelines
Tracing and evaluating — instrumenting agents with @traceable, running client.evaluate()
Debugging LangGraph state — working with StateGraph, checkpointers, or thread state
Using Agent Server API — managing threads, runs, assistants, crons, or streaming
Integrating retrievers or chains — connecting vector stores, RAG pipelines, or tool middleware
Quick Reference
Create a basic Deep Agent with state and checkpointer
from langgraph.graph import StateGraph, MessagesState
from langgraph.checkpoint.memory import InMemorySaver
from langchain.agents import create_agent
# Checkpointer persists agent state across runs
checkpointer = InMemorySaver()
agent = create_agent(
skills=[...], # Skill middleware layers
checkpointer=checkpointer,
)
Trace agent functions with LangSmith
from langsmith import traceable
from langsmith.schemas import Attachment
from pathlib import Path
@traceabledefmy_agent_step(inputs: dict) -> dict:
# Automatically traced in LangSmithreturn {"output": process(inputs)}
# Attach files to traces@traceabledefanalyze_file(path: Path) -> dict:
attachment = Attachment(mime_type="text/plain", data=path.read_bytes())
return {"result": process(attachment)}
Evaluate agent with LangSmith client
from langsmith import Client
client = Client()
deftarget(inputs):
return {"output": my_agent.invoke(inputs)}
defaccuracy_evaluator(run, example):
score = evaluate_output(run.outputs, example.outputs)
return {"key": "accuracy", "score": score}
# Non-blocking: stream results as they arrive
results = client.evaluate(
target,
data="my_test_dataset",
evaluators=[accuracy_evaluator],
blocking=False,
)
for result in results:
print(result)
Distributed tracing across services (LangGraph)
import langsmith as ls
from langgraph.graph import StateGraph, MessagesState
# Accept trace context propagated from upstream callers# Headers passed via config["configurable"]["langsmith-trace"]defmy_node(state: MessagesState, config: dict):
trace_headers = config.get("configurable", {})
with ls.trace(headers=trace_headers):
return process(state)
Subagent permission scoping
# Subagents inherit parent permissions by default.# Setting permissions REPLACES (does not extend) parent rules.
subagent_spec = {
"name": "restricted-subagent",
"permissions": [
{"path": "/workspace", "access": "read-write"},
# Parent's other permissions are NOT inherited
]
}
LangSmith custom authentication handler
from langgraph_sdk.auth import Auth
auth = Auth()
@auth.authenticateasyncdefhandler(request):
user = await validate_token(request.headers.get("Authorization"))
return {
"identity": user.id,
"role": user.role,
# Accessible in graph via config["configurable"]["langgraph_auth_user"]
}
Reference Files
File
Size
Contents
references/llms-txt.md
5.4 MB
Full doc corpus — summaries of 1473 pages
references/llms-full.md
10 MB
Complete page content with all code examples
references/llms.md
104 KB
Site index — all doc URLs with descriptions
references/index.md
1 KB
Category index
To find specific content: Search references/llms.md for topic URLs, then look up full content in references/llms-full.md.
Key Deep Agents Topics (Python)
From references/llms.md — Python-specific deep agents docs at /oss/python/deepagents/: