Deploy agents
Ten Deploy questions for LCAE Mock Exam C. Study them one at a time here, or take the whole timed paper in exam mode.
Try it yourself
What a run is
In LangSmith Deployment, a run is best described as:
Show answer
Correct answer: B — One unit of work that pairs an assistant with a thread and advances that thread's checkpoint
Graph is code, deployment is the served box, revision versions the whole unit, assistant is configuration, thread is state, and a run is a workload: it pairs an assistant with a thread, advances that thread's checkpoint, and cannot exist alone. Docs: docs.langchain.com/langgraph-platform/deployment-concepts (Deploy).
Updating an assistant
You update a deployed assistant by sending only the two fields you changed out of five. What happens to the other three?
Show answer
Correct answer: B — They are cleared, because an assistant update replaces the whole configuration
Updating an assistant requires the whole configuration payload; it does not merge. Send a partial payload and the omitted fields are gone. Every other update API you have written merges; here the delta is the entire new state. Docs: docs.langchain.com/langgraph-platform/assistants (Deploy).
Serving from a second region
Your organisation was set up in GCP EU and you now want to also serve from GCP US. What does the platform support?
Show answer
Correct answer: D — None of these: an org cannot span regions, billing is not shared, and migration is unsupported
Multi-region support is not currently available. The region is chosen once at organisation setup: no spanning, no shared billing, no migration between regions. Docs: docs.langchain.com/langgraph-platform/deployment-options (Deploy).
A config key that is Python-only
A JavaScript LangGraph project declares this langgraph.json:
{
"graphs": { "agent": "./src/agent.ts:graph" },
"node_version": "20",
"python_version": "3.12",
"env": ".env"
}Which key is INVALID for a JavaScript project?
Show answer
Correct answer: C — python_version
python_version (with dependencies, the pip family, and keep_pkg_tools) is Python-only. A JavaScript project uses node_version and declares dependencies in package.json; graphs and env exist everywhere. Docs: docs.langchain.com/langgraph-platform/cli (Deploy).
Who opens the connection
In a hybrid deployment, which side opens the network connection between the control plane and the data plane, and why?
Show answer
Correct answer: B — The data plane polls outward to the control plane, so no inbound firewall hole is needed
The control plane never opens a connection to the data plane; the data plane polls outward. An inbound hole through your firewall for someone else's service is a no; outbound access every network already has. "Deploys to" is the verb, not the direction. Docs: docs.langchain.com/langgraph-platform/deployment-options (Deploy).
Rejecting a non-member
A bearer token carries a workspace_id, and a request must reject users who are not members of that workspace. Which handler enforces it, and why not the authenticate handler?
Show answer
Correct answer: B — An @auth.on handler, because access is authorization and a claim is information, not a decision
Authenticate verifies identity (who is this, once per request); the on handlers decide access per resource and action. Reading a claim is not an access decision, and authenticate cannot know which resource is being touched, so membership checks belong in an on handler. Docs: docs.langchain.com/langgraph-platform/auth (Deploy).
Revision or assistant version
Which of the following require a new deployment REVISION rather than a new assistant version? Select all that apply.
Show answer
Correct answer: A — Rotating a provider API key, adding a custom HTTP route in langgraph.json, and editing the graph's control-flow code
A revision versions the whole deployed unit, code plus secrets: rotating a key, adding a build-time custom route, and changing graph code all cut a new revision. A prompt/model change is an assistant version; promoting a config is an assistant rollback; a new thread is just runtime state. Docs: docs.langchain.com/langgraph-platform/deployment-concepts (Deploy).
Checkpointer versus store on a deployment
On a managed deployment, who provides the checkpointer, and what does it persist versus the store?
Show answer
Correct answer: B — The platform provisions it automatically; the checkpointer persists one thread's state (short-term) while the store holds long-term memory across threads
On a deployment the platform provisions the checkpointer automatically (locally you pass one yourself). The checkpointer is per-thread short-term state; the store is cross-thread long-term memory, namespaced. The two are the classic swap. Docs: docs.langchain.com/langgraph-platform/persistence (Deploy).
A second message mid-run
A run is in flight and the user sends a second message. You want the in-flight run stopped and the partial work discarded. Which multitask (double-texting) strategy?
Show answer
Correct answer: D — rollback
enqueue and reject both let the run finish (differing on whether the new input survives); interrupt and rollback both stop the run, and interrupt keeps the partial work while rollback discards it. interrupt is the tempting distractor because it also stops the run. Docs: docs.langchain.com/langgraph-platform/double-texting (Deploy).
A custom route's default auth
You mount your own HTTP route through the http.app key in langgraph.json. Is it authenticated by default?
Show answer
Correct answer: B — No: only assistants, threads, and runs are protected until enable_custom_route_auth is set to true
The auth middleware applies to the protected routes (assistants, threads, runs) only. A route mounted through http.app sits outside that set until enable_custom_route_auth is true. Sitting on the same server is not sitting behind the same door. Docs: docs.langchain.com/langgraph-platform/custom-routes (Deploy).