Whetstone.
Deploy agentsDeploy agents
Focus area: Deploy22 min

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.

Practice

Try it yourself

Quiz

What a run is

In LangSmith Deployment, a run is best described as:

  1. AThe served instance that holds your graphs behind an API
  2. BOne unit of work that pairs an assistant with a thread and advances that thread's checkpoint
  3. CA named configuration (model, prompt, tool allowlist) over a graph
  4. DA version of the whole deployed unit, including its secrets
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).

Quiz

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?

  1. AThey are preserved; the update merges into the existing configuration
  2. BThey are cleared, because an assistant update replaces the whole configuration
  3. CThe update is rejected as incomplete
  4. DThey fall back to the graph's default assistant values
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).

Quiz

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?

  1. ACross-region failover between the two
  2. BNearest-instance routing across regions
  3. CA one-time supported migration from EU to US
  4. DNone of these: an org cannot span regions, billing is not shared, and migration is unsupported
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).

Quiz

A config key that is Python-only

A JavaScript LangGraph project declares this langgraph.json:

json
{
  "graphs": { "agent": "./src/agent.ts:graph" },
  "node_version": "20",
  "python_version": "3.12",
  "env": ".env"
}

Which key is INVALID for a JavaScript project?

  1. Agraphs
  2. Bnode_version
  3. Cpython_version
  4. Denv
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).

Quiz

Who opens the connection

In a hybrid deployment, which side opens the network connection between the control plane and the data plane, and why?

  1. AThe control plane connects inward to push each revision to the data plane
  2. BThe data plane polls outward to the control plane, so no inbound firewall hole is needed
  3. CThey hold a persistent bidirectional tunnel opened by whichever restarts first
  4. DNeither; they share a single database and never connect
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).

Quiz

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?

  1. AThe authenticate handler, because it already reads the claim
  2. BAn @auth.on handler, because access is authorization and a claim is information, not a decision
  3. CThe auth key in langgraph.json directly, as a role matrix
  4. DThe checkpointer, which scopes state per user
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).

Quiz

Revision or assistant version

Which of the following require a new deployment REVISION rather than a new assistant version? Select all that apply.

  1. ARotating a provider API key, adding a custom HTTP route in langgraph.json, and editing the graph's control-flow code
  2. BChanging a deployed assistant's system prompt and model
  3. CPromoting a previously-saved assistant configuration
  4. DCreating a new thread for a fresh conversation
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).

Quiz

Checkpointer versus store on a deployment

On a managed deployment, who provides the checkpointer, and what does it persist versus the store?

  1. AYou must always pass InMemorySaver; the checkpointer holds cross-thread memory
  2. BThe platform provisions it automatically; the checkpointer persists one thread's state (short-term) while the store holds long-term memory across threads
  3. CThe store provides the checkpointer, and both are per-thread
  4. DIt is embedded in the graph code and versioned with the assistant
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).

Quiz

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?

  1. Aenqueue
  2. Breject
  3. Cinterrupt
  4. Drollback
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).

Quiz

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?

  1. AYes; every route on the server is protected automatically
  2. BNo: only assistants, threads, and runs are protected until enable_custom_route_auth is set to true
  3. COnly if you also register a matching webhook
  4. DCustom routes cannot be authenticated at all
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).

Sign in to track your progress →