research-assistant project you created there, with your model, instructions, search tool, and a working mda dev setup.
mda init may also scaffold files such as identity and sandbox/. Leave those as they are; this tutorial does not change them.
This guide shows you how to you enable durable memory and a daily schedule, then deploy. Optionally, you can also add a custom tool.
Managed Deep Agents is in public beta and available on LangSmith Cloud in the US region only.
Extend the agent
1
Update the instructions for memory
Extend
instructions.md so the agent knows what shared knowledge to keep. Keep the research behavior from the quickstart and add a memory policy:instructions.md
2
Enable and use durable memory
Durable memory is opt-in. Before asking the agent to remember anything, add a memory declaration at the project root:Memory is shared across the deployment and visible to all callers, so do not store personal data or secrets.Restart
memory.py
mda dev so it discovers the new file. In one thread, ask the agent to research a release and to record a reusable project rule, such as “For release research, check the official changelog before secondary sources.” Then create a new thread in Studio and ask how it will research the next release. Confirm that it applies the shared rule even though the new thread has no conversation history.See Memory for details.3
(Optional) Add a custom tool
Provider search covers the open web. Authored tools cover your application logic: private APIs, databases, and internal data. Create a module under Append the custom tool next to your existing search tool, keep your quickstart Restart
tools/, import it into the agent entry, and add it to the tools list next to your existing search tool.This example returns a placeholder project record so it runs without an external API. Replace the body with a call to your system.tools/projects.py
model, and choose the tab that matches your search setup:- Provider search
- Tavily
Open
agent.py:mda dev if it is already running. In Studio, ask for the status of a tracked project and confirm the agent calls lookup_tracked_project.4
Schedule a daily digest
Add a If memory is empty on the first fire, the agent still returns open questions.
schedules/ module so the agent runs on a cron cadence without a user message. This schedule runs every weekday at 8am Pacific:schedules/daily_digest.py
mda deploy reconciles this schedule into a LangSmith cron job after the deployment is live. After you deploy in the next step, you should see:mda deployfinish without schedule errors (do not pass--no-wait, or schedules are not reconciled).- A managed cron for this file on the deployment. The schedule name matches the module stem:
daily_digest(Python) ordaily-digest(TypeScript). - No immediate digest run from this cron. The first fire waits until 8:00 America/Los_Angeles on a weekday.
5
Deploy and inspect
Deploy the project to LangSmith:On success, the CLI prints the deployment dashboard URL. The deploy syncs the instructions to Context Hub, uploads the compiled project, and reconciles the daily schedule.Open that URL and confirm:
- The deployment is ready.
- The
daily_digestordaily-digestcron exists. - A test chat run shows model calls, search or custom tool calls, and memory reads or writes in the traces.
Next steps
Custom middleware
Add logging, retries, limits, and guardrails around model and tool calls.
Identity
Authenticate callers and use verified identity in tools and middleware.
Evals
Author Harbor tasks and compile the managed agent for Harbor.
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

