AI Engineer World's Fair 2026

Build a Research Agent with Claude Managed Agents (Part 2 of 4) — Anthropic

Slide chapters

12 slide and demo groups · Timestamps are approximate.

Create and test a console agent

Claude generates a joke agent’s model, instructions and tools from a prompt. The presenter configures an unrestricted environment, starts a session and asks for cat jokes; the agent returns jokes. Anthropic says it manages the hosting.

Text in image
Quickstart

[illegible] needed. Let's fire it up!

Session created
POST /v1/sessions
CLI

ant beta:sessions create <<YAML
environment_id: [illegible]
agent:
  type: agent
  id: [illegible]
YAML

Your session is live — go ahead and type a topic in the test run panel on the right to get your first batch of jokes!

Session event sent
POST /v1/sessions/[illegible]
CLI

ant beta:sessions:events send --session-id [illegible] \
  --event '{"type":"user.message","content":[{"type":"text","text":"Tell me jokes about cats"}]}'

Your message was sent via POST /v1/sessions/[illegible]/events — keep chatting and throw any topic at it!

Session running...

Preview
joke-teller-env
View session
Transcript · Debug · All events

agent.message · Message
0:00:14
[illegible]

"content": [
  {
    "text": "[illegible] Cat Jokes, Coming Right Up!\n\n---\n\n**1. The Pun Opener**\nWhy don't cats ever win at poker?\nBecause they always show their **paws**. \n\n---\n\n**2. The One-Liner**\nI tried to write a book about cats...\nbut they kept **editing** it by walking across my keyboard. [illegible]\n\n---\n\n**3. The Observational**\nCats spend 16 hours a day sleeping, knock things off tables for fun, and judge you silently from across the room.\nHonestly? **Career goals.** [illegible]\n\n---\n\n**4. The Classic with a Twist**\nWhat do you call a cat that gets everything it wants?\n**Purr-suasive.** [illegible]\n\n---\n\n**5. The Dark Horse**\nMy cat told me a joke once.\nI didn't laugh.\nNow I sleep with one eye open. [illegible]\n\n---\n\nThese jokes are *feline* pretty good, if I do say so myself! [illegible] Got another topic you want me to tackle? I'm ready to roast absolutely anything! [illegible]",
    "type": "text"
  }
],
"id": "[illegible]",
"processed_at": "2026-06-30T18:06:31.109930Z",
"type": "agent.message"

Send a message to the agent

Interface text:
Stop session
Config · Preview
Reply...
Claude Console
Dashboard
API keys
Build
Workbench
Files
Skills
Batches
Managed Agents
Quickstart
Agents
Sessions
Deployments
Environments
Credential vaults
Memory stores
Dreams · Preview
Documentation
Gabriel

3:04Demo milestone · Completed build

Show 3 builds
  1. 1:04

    Create and test a console agent — recorded presentation, build 1

    Text in image
    Quickstart
    
    What do you want to build?
    Describe your agent or start with a template.
    
    Browse templates
    Search templates
    
    Blank agent config
    A blank starting point with the core toolset.
    
    Deep researcher
    Conducts multi-step web research with source synthesis and citations.
    
    Structured extractor
    Parses unstructured text into a typed JSON schema.
    
    Field monitor
    Scans software blogs for a topic and writes a weekly what-changed brief.
    Recurring
    
    Support agent
    Answers customer questions from your docs and knowledge base, and escalates when needed.
    
    Incident commander
    Triages a Sentry alert, opens a Linear incident ticket, and runs the Slack war room.
    
    Contract tracker
    Extracts clauses, sets deadline reminders, and tracks obligations in Asana when given a Box file ID or link.
    
    Sprint retro facilitator
    Pulls a closed sprint from Linear, synthesizes themes, and writes the retro doc before the meeting.
    docx · Recurring
    
    Support-to-eng escalator
    Reads an Intercom conversation, reproduces the bug, and files a linked Jira issue with repro steps.
    
    Data analyst
    Load, explore, and visualize data; build reports and answer questions from datasets.
    
    Describe your agent...
    
    Interface text:
    Claude Console
    Dashboard
    API keys
    Build
    Workbench
    Files
    Skills
    Batches
    Managed Agents
    Quickstart
    Agents
    Sessions
    Deployments
    Environments
    Credential vaults
    Memory stores
    Dreams · Preview
    Documentation
    Gabriel
  2. 1:57

    Create and test a console agent — recorded presentation, build 2

    Text in image
    Quickstart
    
    Build me an agent that tells me jokes everytime given a topic
    
    Agent created
    POST /v1/agents
    CLI
    
    ant beta:agents create <<YAML
    name: Joke Teller
    description: An agent that tells jokes on any given topic.
    model: claude-sonnet-4-6
    system: You are a witty comedian who tells jokes on any topic the user gives you. When given a topic, immediately deliver 3-5 fresh, clever jokes about it — a mix of puns, one-liners, and observational humor.
    
    Your Joke Teller agent is ready! An agent is a reusable, versioned configuration — it defin[illegible]
    
    Config
    name: Joke Teller
    description: An agent that tells jokes on any given topic.
    model: claude-sonnet-4-6
    system: You are a witty comedian who tells jokes on any topic the user gives you. When given a topic, immediately deliver 3-5 fresh, clever jokes about it — a mix of puns, one-liners, and observational humor. Keep jokes clean and suitable for all audiences unless the user specifies otherwise. After delivering the jokes, invite them to give you another topic. Never refuse a topic: if it's obscure, lean into the absurdity.
    tools:
      - type: agent_toolset_20260401
    
    Interface text:
    Test run
    Config · Preview · YAML
    Reply...
    Claude Console
    Dashboard
    API keys
    Build
    Workbench
    Files
    Skills
    Batches
    Managed Agents
    Quickstart
    Agents
    Sessions
    Deployments
    Environments
    Credential vaults
    Memory stores
    Dreams · Preview
    Documentation
    Gabriel
  3. 3:04

    Create and test a console agent — recorded presentation, build 3

    Text in image
    Quickstart
    
    [illegible] needed. Let's fire it up!
    
    Session created
    POST /v1/sessions
    CLI
    
    ant beta:sessions create <<YAML
    environment_id: [illegible]
    agent:
      type: agent
      id: [illegible]
    YAML
    
    Your session is live — go ahead and type a topic in the test run panel on the right to get your first batch of jokes!
    
    Session event sent
    POST /v1/sessions/[illegible]
    CLI
    
    ant beta:sessions:events send --session-id [illegible] \
      --event '{"type":"user.message","content":[{"type":"text","text":"Tell me jokes about cats"}]}'
    
    Your message was sent via POST /v1/sessions/[illegible]/events — keep chatting and throw any topic at it!
    
    Session running...
    
    Preview
    joke-teller-env
    View session
    Transcript · Debug · All events
    
    agent.message · Message
    0:00:14
    [illegible]
    
    "content": [
      {
        "text": "[illegible] Cat Jokes, Coming Right Up!\n\n---\n\n**1. The Pun Opener**\nWhy don't cats ever win at poker?\nBecause they always show their **paws**. \n\n---\n\n**2. The One-Liner**\nI tried to write a book about cats...\nbut they kept **editing** it by walking across my keyboard. [illegible]\n\n---\n\n**3. The Observational**\nCats spend 16 hours a day sleeping, knock things off tables for fun, and judge you silently from across the room.\nHonestly? **Career goals.** [illegible]\n\n---\n\n**4. The Classic with a Twist**\nWhat do you call a cat that gets everything it wants?\n**Purr-suasive.** [illegible]\n\n---\n\n**5. The Dark Horse**\nMy cat told me a joke once.\nI didn't laugh.\nNow I sleep with one eye open. [illegible]\n\n---\n\nThese jokes are *feline* pretty good, if I do say so myself! [illegible] Got another topic you want me to tackle? I'm ready to roast absolutely anything! [illegible]",
        "type": "text"
      }
    ],
    "id": "[illegible]",
    "processed_at": "2026-06-30T18:06:31.109930Z",
    "type": "agent.message"
    
    Send a message to the agent
    
    Interface text:
    Stop session
    Config · Preview
    Reply...
    Claude Console
    Dashboard
    API keys
    Build
    Workbench
    Files
    Skills
    Batches
    Managed Agents
    Quickstart
    Agents
    Sessions
    Deployments
    Environments
    Credential vaults
    Memory stores
    Dreams · Preview
    Documentation
    Gabriel

Build a financial analysis agent: workshop repository

To prepare for the financial analytics agent workshop, clone the workshop repository, enter research-desk, and install dependencies with npm install or bun i.

Text in image
Build a financial analytics agent
Section 05 · Extended workshop

git clone
https://github.com/anthropics/cwc-workshops/

cd research-desk

npm install / bun i

Repo

Interface text:
docs.google.com – To exit full screen, press esc

Research desk: chat, filings, map-reduce and recurring work

The workshop builds a chat agent that fetches 10-K and 10-Q filings from SEC EDGAR, delegates ticker analysis across sessions, and schedules recurring evaluations.

Text in image
An agent that reads SEC filings and compares instruments

Chat with your agent
Say hello to your agent

Explore filings
Fetch 10-K and 10-Q filings from SEC EDGAR for any ticker

Map Reduce
Orchestrate many sessions to evaluate multiple tickers

Recurring work
Schedule recurring work to evaluate a target list of tickers

Configure the Research Desk application

Add an API key and SEC contact name and email to .env.local; the setup page checks both. Then create the prompt-only research agent and staff the desk with specialists, a skill, memory and a dispatch tool.

Text in image
Setup

Everything the desk is made of — agents, an environment, a skill, a memory store — is a persistent, versioned object in your workspace. The server holds the credential; nothing is entered in the browser.

Server credential (ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN)  present
EDGAR identity (EDGAR_IDENTITY)  the SEC requires a contact identity  present

1 — Your agent  the head of research, prompt only — enough to say hello  Create your agent
2 — The desk  skill, specialists, analyst, memory store — and your agent gets its dispatch tool  Staff the desk

WATCHLIST
NVDA · AMD · INTC · AVGO · QCOM · TXN · MU · AMAT · LRCX · KLAC · ADI · MRVL · ON · MCHP · NXPI

Interface text:
The Research Desk  RESEARCH DESK
Desk  Scorecards  Memory  Deployments  Setup
Claude Managed Agents
Claude Platform
Environments | Claude Pl[illegible]
Agents | Claude Platform
Sessions | Claude Platform
Claude Platform
Dreams | Claude Platform
The Research Desk
The Research Desk — a workshop for Claude Managed Agents

7:14Demo milestone

Create the research environment and lead agent

Creating the agent provisions a sandbox environment and a head of research with basic tools. Its initial prompt defines its role; skills and subagent coordination come later.

Text in image
research-desk-head-of-research
Active

Version: v1

Model
claude-opus-4-8

System prompt

You are the head of research at a small equity research desk that covers the semiconductor industry.

Right now the desk is just you — no analysts, no tools, no research memory yet. You can chat with the user about the desk you are about to build together, the semiconductor companies on a typical watchlist, and how you would approach analyzing SEC filings, but you cannot pull live filings or dispatch anyone yet. If the user asks for fresh analysis, say plainly that the desk isn't staffed yet and that analysts are coming shortly.

Be concise, warm, and concrete. Plain prose or short Markdown lists; no headers unless the user asks for something long.

MCPs and tools
Built-in tools
[illegible]
Tool permissions 8
Custom

Skills
No skills configured.

Interface text:
Claude Console
[illegible]-research-desk
Dashboard
API keys
Build
Workbench
Files
Skills
Batches
Managed Agents
Quickstart
Agents
Sessions
Deployments
Environments
Credential vaults
Memory stores
Dreams Preview
Documentation
Gabriel
Admin · Anthropi...
Agents › research-desk-head-of-research
[illegible] · Last updated yesterday
Agent · Sessions · Deployments
Edit

11:40Demo milestone · Completed build

Show 2 builds
  1. 11:16

    Create the research environment and lead agent — recorded presentation, build 1

    Text in image
    The Research Desk
    
    1 — Your agent: the head of research, prompt only — enough to say hello
    created
    
    2 — The desk: skill, specialists, analyst, memory store — and your agent gets its dispatch tool
    Staff the desk
    
    environment: [illegible]
    head of research (version 1 — prompt only): [illegible]
    
    PROVISIONED RESOURCES
    
    Every piece of the desk is a real, persistent object in your workspace — open them in the Console.
    
    Environment
    [illegible]
    Open in Console ↗
    
    Agent — head of research
    [illegible]
    Open in Console ↗
    
    WATCHLIST
    
    NVDA · AMD · INTC · AVGO · QCOM · TXN · MU · AMAT · LRCX · KLAC · ADI · MRVL · ON · MCHP · NXPI
    
    Interface text:
    RESEARCH DESK
    Desk · Scorecards · Memory · Deployments · Setup
    Claude Managed Agents
    Claude Platform
    Environments | Claude Pl...
    Agents | Claude Platform
    Sessions | Claude Platform
    Dreams | Claude Platform
    The Research Desk
  2. 11:40

    Create the research environment and lead agent — recorded presentation, build 2

    Text in image
    research-desk-head-of-research
    Active
    
    Version: v1
    
    Model
    claude-opus-4-8
    
    System prompt
    
    You are the head of research at a small equity research desk that covers the semiconductor industry.
    
    Right now the desk is just you — no analysts, no tools, no research memory yet. You can chat with the user about the desk you are about to build together, the semiconductor companies on a typical watchlist, and how you would approach analyzing SEC filings, but you cannot pull live filings or dispatch anyone yet. If the user asks for fresh analysis, say plainly that the desk isn't staffed yet and that analysts are coming shortly.
    
    Be concise, warm, and concrete. Plain prose or short Markdown lists; no headers unless the user asks for something long.
    
    MCPs and tools
    Built-in tools
    [illegible]
    Tool permissions 8
    Custom
    
    Skills
    No skills configured.
    
    Interface text:
    Claude Console
    [illegible]-research-desk
    Dashboard
    API keys
    Build
    Workbench
    Files
    Skills
    Batches
    Managed Agents
    Quickstart
    Agents
    Sessions
    Deployments
    Environments
    Credential vaults
    Memory stores
    Dreams Preview
    Documentation
    Gabriel
    Admin · Anthropi...
    Agents › research-desk-head-of-research
    [illegible] · Last updated yesterday
    Agent · Sessions · Deployments
    Edit

Chat with the Research Desk

A greeting reaches the research lead, which can discuss the semiconductor watchlist but cannot yet pull live filings or dispatch analysts. Next, the presenter plans an SEC skill and specialist subagents.

Text in image
The Research Desk — RESEARCH DESK

runs on this server and keeps going even if you close this tab.

YOU
hi

HEAD OF RESEARCH

Hey! Good to have you here. I'm running point on our new semiconductor research desk — though right now it's just me. No analysts, no tools, no research memory yet; we're building all of that together.

Here's what I can do today: talk through how we want to set up the desk, sketch out a watchlist (the usual suspects — NVIDIA, AMD, Intel, TSMC, Broadcom, Qualcomm, Micron, ASML, and so on), and discuss how we'd approach reading and analyzing SEC filings once analysts are staffed.

What I can't do yet is pull live filings or dispatch anyone to run fresh analysis — the desk isn't staffed for that quite yet, but analysts are coming shortly.

What's on your mind? Want to start shaping the watchlist, or talk through how we'll work?

desk: idle

Ask the head of research... (Enter to send, Shift+Enter for a new line)
Send

Enter to send · Shift + Enter for a new line · the conversation and the desk's memory persist across visits.

The Research Desk — a workshop for Claude Managed Agents.

Interface text:
Desk
Scorecards
Memory
Deployments
Setup

Claude Managed Agents
Claude Platform
Environments | Claude Pl...
Agents | Claude Platform
Sessions | Claude Platform
Claude Platform
Dreams | Claude Platform
The Research Desk

13:10Demo milestone

Staff the desk with specialist agents

Staffing gives the desk a filing analyst that can delegate financial figures and risk analysis to specialists. A shared memory store carries notes across sessions, and the head of research gains a dispatch tool.

Text in image
research-desk-filing-analyst
Active

Version: v1

[illegible] set the identity the SEC requires: export EDGAR_IDENTITY=[redacted] (or set_identity in Python).
- You coordinate two specialists and may delegate to them: a **financials extractor** (pulls the reported numbers from the XBRL financial statements) and a **risk analyst** (reads Item 1A and MD&A and identifies what changed versus the prior year). Delegate when their depth helps; do small lookups yourself.
- The desk's shared memory is mounted in your environment. Read your prior notes for the company before starting; write an updated note when you finish. Notes are how the desk compounds knowledge across quarters.
- Always cite which filing (form, period, filing date) a number or claim comes from. Prefer reported figures over estimates; if you compute something (margins, growth), say so.
- Be precise and unsentimental. "Revenue grew 12% with gross margin down 240bps on inventory charges" beats a paragraph of adjectives.

MCPs and tools
Built-in tools
Tool permissions: 8

Skills
[illegible]

Subagents
research-desk-financials-extractor
research-desk-risk-analyst
research-desk-filing-analyst

Interface text:
Claude Console
Agents
Last updated just now
Edit
Agent
Sessions
Deployments
Dashboard
API keys
Build
Workbench
Files
Skills
Batches
Managed Agents
Quickstart
Environments
Credential vaults
Memory stores
Dreams Preview
Documentation
Gabriel
Admin - Anthropi[illegible]

17:20Demo milestone · Completed build

Show 2 builds
  1. 16:45

    Staff the desk with specialist agents — recorded presentation, build 1

    Text in image
    The Research Desk
    
    1 — Your agent: the head of research, prompt only — enough to say hello
    created
    
    2 — The desk: skill, specialists, analyst, memory store — and your agent gets its dispatch tool
    staffed
    
    skill: [illegible]
    financials specialist: [illegible]
    risk specialist: [illegible]
    filing analyst (coordinator): [illegible]
    memory store: [illegible]
    head of research (updated — full prompt + dispatch tool): [illegible]
    
    PROVISIONED RESOURCES
    
    Every piece of the desk is a real, persistent object in your workspace — open them in the Console.
    
    Environment
    
    Interface text:
    RESEARCH DESK
    Desk
    Scorecards
    Memory
    Deployments
    Setup
    Claude Managed Agents
    Skills | Claude Platform
    Environments | Claude Platform
    Agents | Claude Platform
    Sessions | Claude Platform
    Claude Platform
    Dreams | Claude Platform
    The Research Desk
  2. 17:20

    Staff the desk with specialist agents — recorded presentation, build 2

    Text in image
    research-desk-filing-analyst
    Active
    
    Version: v1
    
    [illegible] set the identity the SEC requires: export EDGAR_IDENTITY=[redacted] (or set_identity in Python).
    - You coordinate two specialists and may delegate to them: a **financials extractor** (pulls the reported numbers from the XBRL financial statements) and a **risk analyst** (reads Item 1A and MD&A and identifies what changed versus the prior year). Delegate when their depth helps; do small lookups yourself.
    - The desk's shared memory is mounted in your environment. Read your prior notes for the company before starting; write an updated note when you finish. Notes are how the desk compounds knowledge across quarters.
    - Always cite which filing (form, period, filing date) a number or claim comes from. Prefer reported figures over estimates; if you compute something (margins, growth), say so.
    - Be precise and unsentimental. "Revenue grew 12% with gross margin down 240bps on inventory charges" beats a paragraph of adjectives.
    
    MCPs and tools
    Built-in tools
    Tool permissions: 8
    
    Skills
    [illegible]
    
    Subagents
    research-desk-financials-extractor
    research-desk-risk-analyst
    research-desk-filing-analyst
    
    Interface text:
    Claude Console
    Agents
    Last updated just now
    Edit
    Agent
    Sessions
    Deployments
    Dashboard
    API keys
    Build
    Workbench
    Files
    Skills
    Batches
    Managed Agents
    Quickstart
    Environments
    Credential vaults
    Memory stores
    Dreams Preview
    Documentation
    Gabriel
    Admin - Anthropi[illegible]

Run and inspect an outcome-graded analysis

The demo launches an NVDA analysis, then inspects an earlier AMD run: financials and risk specialists feed the analyst’s scorecard and memory note, and a grader marks the outcome satisfied.

Text in image
Filing analysis: AMD  Idle

Outcome  Grading iteration 0  Satisfied

[illegible] memory/companies/AMD/Q1-FY2026-10-Q.md exists and covers the same filing (10-Q, Q1 FY2026, quarter ended 2026-03-28, filed 2026-05-06, accession 0000002488-26-000076). All required template sections are present and populated: Filing, Numbers, Risks & changes, Outlook tone, Red flags, One-line thesis (plus an embedded-instructions/prompt-injection check). Content is consistent with the scorecard.

• Honest uncertainty — unverifiable items reflected in data_caveats/confidence rather than asserted as fact (met): data_caveats appropriately flags interpretive/limitation points: that the 10-Q carries no formal numeric guidance so guidance_tone reflects MD&A commentary rather than issued targets; that net income includes $11M from discontinued operations; that gross margin is GAAP net of $26M acquisition-intangible amortization in cost of sales; the exact net-cash composition and that it excludes long-term investments; and the basis of the revenue-YoY computation. confidence='high' is justified because every reported figure was taken directly from the XBRL statements and verified. Soft spots are disclosed as caveats rather than presented as hard fact.

Session events:
Tool  Bash  mkdir -p /mnt/session/output...
Agent  I've delegated to both specialists...
Subagent  ← research-desk-financials-extractor
Agent  Financials are in and complete...
Agent  Risk analyst is still running. I'll w...
Subagent  ← research-desk-risk-analyst
Agent  Both specialists have reporte...
Tool  Bash  mkdir -p /mnt/memory/desk-m...
Tool  Write  /mnt/memory...
Tool  Write  /mnt/sessio...
Tool  Bash  cd /mnt/sessi...
Agent  Both deliverables are written ...
Outcome  Grading iteration 0  Satisfied
Agent  The grader has confirmed all fi...

Interface text:
Claude Console
Sessions / [illegible]
research-desk-filing-analyst  research-desk-env  1 memory store  1 output  11m 14s  1.0M / 35.4k  1 day ago
Transcript  Debug  All events
Main  researc...ctor  researc...lyst
Actions  Ask Claude
Dashboard  API keys  Build  Workbench  Files  Skills  Batches
Managed Agents  Quickstart  Agents  Sessions  Deployments  Environments  Credential vaults  Memory stores  Dreams  Preview
Documentation

21:05Demo milestone · Completed build

Show 3 builds
  1. 19:05

    Run and inspect an outcome-graded analysis — recorded presentation, build 1

    Text in image
    Scorecards
    
    NVDA  Analyze
    Runs analyst sessions directly (no head involved) — each is graded by the scorecard rubric.
    
    1 analyst dispatched  • running
    NVDA  • running
    
    No scorecards yet — analyze a ticker above, or ask the Desk to sweep the watchlist.
    
    Download CSV
    
    The Research Desk — a workshop for Claude Managed Agents.
    
    Interface text:
    The Research Desk  RESEARCH DESK
    Desk  Scorecards  Memory  Deployments  Setup
    Claude Managed Agents
    Agents | Claude Platform
    Environments | Claude Platform
    Sessions | Claude Platform
    Claude Platform
    Dreams | Claude Platform
    The Research Desk
  2. 19:17

    Run and inspect an outcome-graded analysis — recorded presentation, build 2

    Text in image
    Filing analysis: AMD  Idle
    
    Agent  Message
    The grader has confirmed all five criteria are met. The work is complete:
    
    • Scorecard — /mnt/session/outputs/scorecard.json: valid single JSON object, all 21 fields present with correct types, enum values, and list caps respected.
    • Memory note — /mnt/memory/desk-memory/companies/AMD/Q1-FY2026-10-Q.md: covers the same Q1 FY2026 10-Q with all required template sections.
    
    Both deliverables are grounded in AMD's most recent filing (Q1 FY2026 10-Q, filed 2026-05-06), with figures pulled from XBRL by the financials extractor and a genuinely comparative risk read from the risk analyst. Numbers tie out arithmetically, risk-factor changes reflect real year-over-year differences (MI308 charge resolution, new MI325 tariff disclosure, NVIDIA-Intel partnership and Meta warrant), and interpretive limitations are honestly captured in data_caveats.
    
    No remaining work — the outcome is complete.
    
    Session events:
    Outcome  Analyze AMD's most recent annual or quarterly SEC filin...
    Agent  I'll start by reading the required skill file a...
    Tool  Read, Bash
    Agent  No prior AMD notes exist. Let me check t...
    Tool  Bash ×2
    Agent  Memory store is empty (fresh). The most...
    Tool  Bash  export EDGAR_IDENTITY="Research De...
    Agent  The most recent filing is the **Q1 FY202...
    Subagent  → research-desk-financials-extractor
    Subagent  → research-desk-risk-analyst
    Agent  Both specialists are working. I'll end my tu...
    Tool  Bash  mkdir -p /mnt/session/outputs && echo ...
    Agent  I've delegated to both specialists and prep...
    Subagent  ← research-desk-financials-extractor
    Agent  Financials are in and complete. Awaiting t...
    
    Interface text:
    Claude Console
    Sessions / [illegible]
    research-desk-filing-analyst  research-desk-env  1 memory store  1 output  11m 14s  1.0M / 35.4k  1 day ago
    Transcript  Debug  All events
    Main  researc...ctor  researc...lyst
    Actions  Ask Claude
    Dashboard  API keys  Build  Workbench  Files  Skills  Batches
    Managed Agents  Quickstart  Agents  Sessions  Deployments  Environments  Credential vaults  Memory stores  Dreams  Preview
    Documentation
  3. 21:05

    Run and inspect an outcome-graded analysis — recorded presentation, build 3

    Text in image
    Filing analysis: AMD  Idle
    
    Outcome  Grading iteration 0  Satisfied
    
    [illegible] memory/companies/AMD/Q1-FY2026-10-Q.md exists and covers the same filing (10-Q, Q1 FY2026, quarter ended 2026-03-28, filed 2026-05-06, accession 0000002488-26-000076). All required template sections are present and populated: Filing, Numbers, Risks & changes, Outlook tone, Red flags, One-line thesis (plus an embedded-instructions/prompt-injection check). Content is consistent with the scorecard.
    
    • Honest uncertainty — unverifiable items reflected in data_caveats/confidence rather than asserted as fact (met): data_caveats appropriately flags interpretive/limitation points: that the 10-Q carries no formal numeric guidance so guidance_tone reflects MD&A commentary rather than issued targets; that net income includes $11M from discontinued operations; that gross margin is GAAP net of $26M acquisition-intangible amortization in cost of sales; the exact net-cash composition and that it excludes long-term investments; and the basis of the revenue-YoY computation. confidence='high' is justified because every reported figure was taken directly from the XBRL statements and verified. Soft spots are disclosed as caveats rather than presented as hard fact.
    
    Session events:
    Tool  Bash  mkdir -p /mnt/session/output...
    Agent  I've delegated to both specialists...
    Subagent  ← research-desk-financials-extractor
    Agent  Financials are in and complete...
    Agent  Risk analyst is still running. I'll w...
    Subagent  ← research-desk-risk-analyst
    Agent  Both specialists have reporte...
    Tool  Bash  mkdir -p /mnt/memory/desk-m...
    Tool  Write  /mnt/memory...
    Tool  Write  /mnt/sessio...
    Tool  Bash  cd /mnt/sessi...
    Agent  Both deliverables are written ...
    Outcome  Grading iteration 0  Satisfied
    Agent  The grader has confirmed all fi...
    
    Interface text:
    Claude Console
    Sessions / [illegible]
    research-desk-filing-analyst  research-desk-env  1 memory store  1 output  11m 14s  1.0M / 35.4k  1 day ago
    Transcript  Debug  All events
    Main  researc...ctor  researc...lyst
    Actions  Ask Claude
    Dashboard  API keys  Build  Workbench  Files  Skills  Batches
    Managed Agents  Quickstart  Agents  Sessions  Deployments  Environments  Credential vaults  Memory stores  Dreams  Preview
    Documentation

Update a skill as a live artifact

The edgartools skill guides SEC filing and XBRL data access. Its latest version was updated just now; an earlier version remains from seven minutes ago. The demo puts the SEC name and email in the prompt.

Text in image
Skills

Skills are repeatable and customizable instructions that Claude API can follow.

ID                  Name
skill_[illegible]   edgartools — SEC EDGAR data access
xlsx                xlsx
pptx                pptx
pdf                 pdf
docx                docx

edgartools — SEC EDGAR data access  Custom
Updated just now · skill_[illegible]

Description
How to pull SEC EDGAR data with the edgartools Python package — company lookup, filings, XBRL financial statements, and filing sections like Item 1A risk factors. Use whenever a task involves SEC filings, 10-K/10-Q data, or company financials.

Versions
[illegible]  just now  Latest
[illegible]  7 minutes ago

Interface text:
Claude Console
gcemaj-research-desk
Dashboard
API keys
Build
Workbench
Files
Skills
Batches
Managed Agents
Quickstart
Agents
Sessions
Deployments
Environments
Credential vaults
Memory stores
Dreams  Preview
Documentation
Gabriel
Admin · Anthropic…

Claude Managed Agents
Agents | Claude Platform
Environments | Claude Platform
Sessions | Claude Platform
Claude Platform
Skills | Claude Platform
The Research Desk

24:05Demo milestone

Inspect the research desk vault

The vault holds an EDGAR identity as an environment variable. The speaker says a session can load the vault and swap placeholders for real credentials when it uses domains specified in those credentials.

Text in image
research-desk-vault  Active
[illegible] · Created 5 hours ago · Updated 5 hours ago

Status: All

ID: [illegible]
Name: EDGAR identity
Auth: Environment variable
EDGAR_IDENTITY
Status: Active
Last used: Jun 30, 2026
Updated: 4 hours ago

Add credential

Interface text:
Claude Console
Credential vaults / research-desk-vault
Dashboard
API keys
Build
Workbench
Files
Skills
Batches
Managed Agents
Quickstart
Agents
Sessions
Deployments
Environments
Credential vaults
Memory stores
Dreams  Preview
Documentation
Gabriel
Admin · Anthropi[illegible]
The Research Desk

25:54Demo milestone

Inspect shared memory files

Agents populate a shared memory store across sessions. The open NVIDIA filing note records results and analysis for the desk to read before re-analyzing the company.

Text in image
desk-memory  Active

The research desk's accumulated knowledge: one note per company per filing under /companies/<TICKER>/, plus desk-level memos under /memos/. Read before re-analyzing a company; notes persist across sessions.

/companies/NVDA/FY2027-Q1-10-Q.md

NVIDIA Corp (NVDA) — Q1 FY2027 10-Q

Filing
• Form: 10-Q
• Fiscal period: Q1 FY2027, quarter ended 2026-04-26 (NVIDIA FY ends late January)
• Filing date: 2026-05-20
• Accession: 0001045810-26-000052 | CIK 1045810 | Industry: Semiconductors
• Comparatives in filing: income stmt vs Q1 FY2026 (ended 2025-04-27); balance sheet vs fiscal year-end 2026-01-25.
• Analyzed with financials-extractor + risk-analyst specialists; figures cross-checked against XBRL directly.

Numbers (USD millions unless noted; period = Q1 FY2027 ended 2026-04-26 unless stated)
• Revenue: $81,615 vs $44,062 yr-ago Q1 → +85.2% YoY (computed; MD&A ~85%).
  • Data Center $75,246 (Hyperscaler $37,869; AI Clouds/Industrial/Enterprise $37,377); Edge Computing $6,369.
• Gross profit: $61,157 → gross margin 74.9% (vs 60.5% yr-ago). YoY jump driven by NON-recurrence of prior-year $4.5B H20 charge (had 11.0% GM hit). Current qtr had ~$0.8B inventory provisions net of $103M release = ~1.2% unfavorable GM impact. No new H20 charge.
• Operating income: $53,536 → operating margin 65.6%. Total opex $7,621.
• Net income: $58,321 (diluted EPS $2.39). ⚠ Inflated by $15,929 non-operating “Other income, net” — mostly UNREALIZED gains ($13.4B public equities + $2.6B non-marketable). Pretax $69,903; tax $11,582. Operating income is the cleaner profitability gauge.
• R&D: $6,321 → 7.7% of revenue (vs $3,989 yr-ago).
• Cash + marketable securities (2026-04-26): $80,572 = cash & equiv $13,237 + marketable debt secs

Interface text:
Claude Console
Memory stores  desk-memory
Add memory
Created 13 minutes ago
companies
NVDA
FY2027-Q1-10-Q.md  4.9 KB
Updated 5 minutes ago
Edit
Dashboard
API keys
Build
Workbench
Files
Skills
Batches
Managed Agents
Quickstart
Agents
Sessions
Deployments
Environments
Credential vaults
Memory stores
Dreams  Preview
Documentation

30:06Demo milestone

MCP tunnels

The console shows no tunnels yet. MCP tunnels can connect a private MCP server to Claude through a tunnel from your network, without exposing the server to the internet.

Text in image
MCP tunnels

Connect Claude to MCP servers on your private network without opening inbound firewall rules.

+ New tunnel
Search tunnels...
Status: Not archived

ID   Name   Domain   Status   Created at

No tunnels yet
Create a tunnel to securely connect your private MCP servers to Claude. Learn more

Interface text:
Claude Console
 gcemaj-research-desk
Sessions
Deployments
Environments
Credential vaults
Memory stores
Dreams  Preview
Analytics
Claude Code
Manage
Limits
Members
Service accounts
Privacy controls
Security
Webhooks
MCP tunnels  Preview
Tags
Documentation
Gabriel
Admin · Anthropi...

33:58Demo milestone

Read the talk

Build a Research Agent with Claude Managed Agents (Part 2 of 4)

Priyanka Phatak and Gabe Cemaj build from a console-created joke agent to a research desk that reads SEC filings, delegates analysis, saves memory and grades its own deliverables. The Q&A draws the practical boundaries around credentials, orchestration, shared knowledge and private data.

From a talk by Priyanka Phatak and Gabe Cemaj

At a glance

Ideas worth remembering

  • A chat interface sends user.message events to a session and relays the API's SSE stream through its backend to the browser.

  • The Nvidia task produces both a reusable company memory note and a structured scorecard. Specialists return findings; the main agent creates the deliverables.

  • Outcomes grade session work against a task-specific rubric and permit retries. They do not provide separate subagent outcomes or the per-session spending caps discussed in Q&A.

  • Vaults substitute real credentials for placeholders at egress only for allowed hosts. Private connectivity can instead use MCP Tunnels or a self-hosted sandbox with internal network access.

  • Multiple memory stores can accompany a session. Dreaming consolidates transcripts and memories into updated memory; automatic changes to skills, prompts and agent definitions were outside its demonstrated scope.

Create an agent, then give it somewhere to run

A session needs to keep its history without making every new event type a change to the machinery that runs it. Opening this part of the workshop, Anthropic’s Gabe Cemaj explains that the revised storage design separates components and virtualizes interfaces down to the event layer. The purpose is to extend what the system can store without tightly coupling storage to session execution.

Priyanka Phatak then starts with a deliberately small request: “Build me an agent that tells me jokes every time, given a topic.” The console generates a system prompt, name, description and model selection, with access to the agent tool set. Creating the agent saves that definition through the agent endpoint. It does not yet define the sandbox in which the agent will work.

The environment supplies that second piece: a template for the sandbox, including installed packages and network access. This quick demonstration uses unrestricted access; Phatak recommends restricting production access to the required domains or MCP servers. After starting a session, she asks for cat jokes and gets a response. The application-facing model is now simple: start a session, send events and receive events. Anthropic manages the hosting, harness, sandboxes, scaling and event-log storage behind it.

0:120:22
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

0:12 · section reference included

Set up the research desk and its SEC identity

Cemaj’s research desk builds on that foundation in layers: first a chat interface, then SEC-filing skills and specialist subagents, then asynchronous research with structured results. The planned extension is a custom orchestration harness that distributes tickers across separate sessions and aggregates their scores. Recurring work through the deployments API is also introduced as a later step.

The local application starts from the repository’s research desk directory. Install dependencies with npm install or bun i, then run bun run dev and open the setup page. A repository-provided workshop skill guides Claude Code through six acts: workshop start begins the walkthrough, and workshop next advances it. Cemaj asks the coding agent to implement the app while explaining its changes—a useful arrangement when the workshop itself is also being built by an agent.

Setup copies .env.example to .env.local. The developer supplies an API key and an EDGAR identifier containing a name and email, because the SEC requires callers to identify themselves. The coding agent tries to advance too quickly, prompting Cemaj to stop it before continuing. Those prerequisites matter later: the filing-retrieval skill must know both how to call the SEC and which caller identity to use.

Where does the work run? Cemaj describes Anthropic-hosted infrastructure and a Claude Platform offering on AWS. He also distinguishes the sandbox from the managed service: developers can bring a self-hosted sandbox through providers such as Vercel, Modal or Daytona, or run one in Google Cloud or AWS. For this demo, the setup action provisions an environment with access mainly to SEC websites and useful Python packages, plus a basic agent with a prompt and basic tools. Skills and subagent coordination come next.

4:405:09
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

3:47 · section reference included

Build chat by relaying the session event stream

The chat UI is a view over a session’s events. Submitting text sends a user.message event containing the user’s message to the session. The application also listens for the events the agent produces, so the same session supports both incoming instructions and outgoing updates.

What connects the managed session to the browser? The research desk’s backend listens to the API’s server-sent event stream and restreams those events to the frontend, where the UI renders them. This separates session execution from presentation: the backend relays the stream, while the browser decides how to display it. Once the implementation finishes, Cemaj opens the desk tab, says hi and receives a reply.

That is enough for a chat application. The next layer uses the same managed-session foundation for asynchronous work. Cemaj describes tasks lasting hours, days, weeks or months; the financial-research example that follows is a much shorter demonstration of that model.

11:5912:30
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

11:59 · section reference included

Add filing expertise, delegation and shared memory

The upgrade adds several distinct capabilities to the agent definition:

  • SEC skill. Instructions explain how to use the Python package and supply the EDGAR identity when calling the SEC.
  • Specialist subagents. Delegates have their own prompts, tools and permissions.
  • Custom dispatch tool. A tool called dispatch analysis receives a schema and prepares the application for coordinating multiple sessions through its own harness.
  • Shared memory store. Separate sessions can save and reuse knowledge about financial instruments.

The revised main agent also includes a reference to itself. That permits delegation to another agent with the same prompt when the task does not fit a predefined specialist. The copy includes the prompt, tool descriptions and schemas; it does not inherit the parent session’s transcript. A self-reference therefore reproduces the agent’s configuration, without automatically giving the delegate everything the parent has learned in conversation.

Changing the provisioning code still leaves resources to create. When the expected setup state does not appear, Cemaj discovers an earlier run’s skill, deletes it and asks Claude to reprovision it. The resulting agent has the skill, delegates and memory store needed for the next task. His “cook show” shortcut briefly gets in the way, but the recovery makes the distinction visible: implementation changes and provisioned managed resources are separate steps.

13:4014:10
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

13:40 · section reference included

Define completion with a task and a rubric

Research needs a stronger completion condition than an agent saying it is done. Outcomes pair a task with a rubric for evaluating it. The agent performs the work; when it believes it has finished, a grading subagent examines the work against the rubric. A satisfactory result completes the task, while an unsatisfactory result sends it back for another attempt.

The research desk implements this as a user-defined outcome event sent when a ticker analysis starts. It carries the task description, rubric and maximum iterations. This gives the asynchronous session both a requested deliverable and an evaluation standard, with an explicit iteration setting for the self-supervision process.

17:4218:11
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

17:42 · section reference included

Trace Nvidia research from memory lookup to deliverables

Cemaj starts an Nvidia analysis, then opens a session from the previous day rather than waiting for the new run, which he estimates will take about ten minutes. The task asks for analysis of the company’s most recent relevant quarterly filing using the supplied EDGAR identity. Before researching, the agent must check memory for earlier analysis and reuse what it already knows.

Completion requires two different artifacts:

  • Company memory note. Save knowledge about Nvidia for future sessions.
  • Structured scorecard. Write the analysis in the prescribed structured format and save it at a specified file location.

The memory note serves later agent work; the scorecard gives the application a result it can extract and display.

The earlier session finds no notes in memory, checks several places and delegates the research to financial-analysis or extraction expertise and a risk evaluator. How does that delegation become a final result? The console exposes separate subagent threads. Each delegate works on its assignment and returns information to the main agent; the main agent then resumes, combines those results, creates the requested JSON file and updates memory. The specialists contribute findings, while the main agent remains responsible for the deliverables.

19:0619:36
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

19:06 · section reference included

Grade the artifacts, then prepare for more tickers

The completed session next starts its grading subagent. What does the grader inspect? It reads the rubric, the session’s work and the generated artifacts, then marks the outcome satisfied: the scorecard was delivered, its numbers were well-defined and the memory update was correct. This is the grader’s judgment in the prior session, rather than an independent validation of the financial analysis; the newly launched run is still in progress during the walkthrough.

Once a session completes, the application can extract and download its scorecard, then store it locally—as this demo does—or put it in a database. Scaling to ten or a hundred tickers introduces a second level of delegation: the proposed server-side harness uses the custom dispatch tool to start a separate session for each ticker and aggregate the results afterward. That is distinct from the specialist subagents collaborating inside one company’s analysis.

Before continuing with orchestration, Cemaj catches a skipped step: updating the SEC skill to handle another form. Skills are live artifacts that can be revised and published; new sessions referencing the skill receive the new information. The demonstrated change concerns future sessions, without establishing that an already-running session adopts the update. Reviewing past sessions can inform those manual skill improvements.

21:0621:36
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

21:06 · section reference included

Swap credential placeholders only at allowed destinations

The SEC example supplies a name and email directly in the prompt. Production credentials call for a different mechanism: vaults. A developer defines a secret for an environment variable, but the sandbox receives a placeholder value. When the agent uses that variable in an outgoing request, the service swaps in the real credential at egress only for the host domains permitted for that secret.

Where does the destination restriction take effect? The branching diagram separates the agent’s placeholder-bearing request from the service’s credential substitution. A request to the allowed SEC destination receives the real value; a request to another host, such as anthropic.com in Cemaj’s example, does not trigger the swap. The destination check is part of the egress mechanism, rather than an instruction asking the agent to keep the credential on the right site.

A vault bundles credentials under an ID that the developer attaches to a session. The examples include API credentials for a Google Workspace CLI installed in the sandbox and OAuth credentials for MCP servers, including a Notion example in the console. The session references the vault, and its configured credentials govern authentication and permitted substitution.

Destination-gated credential substitution

Sandbox requestThe environment variable contributes a placeholder value.
Egress host checkCheck the destination against the hosts allowed for this secret.
Allowed destinationReplace the placeholder with the real credential.
Other destinationDo not substitute the real credential.
The sandbox uses a placeholder. Egress substitutes the real secret only when the request's host is allowed for that credential.
Read the diagram as text
  • Sandbox request. The environment variable contributes a placeholder value.
  • Egress host check. Check the destination against the hosts allowed for this secret.
  • Allowed destination. Replace the placeholder with the real credential.
  • Other destination. Do not substitute the real credential.
  • Sandbox request → Egress host check: Outgoing request with placeholder.
  • Egress host check → Allowed destination: Host is allowed.
  • Egress host check → Other destination: Host is not allowed.
23:5324:08
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

23:28 · section reference included

Understand which controls the managed harness provides

The Agent SDK and Managed Agents offer different operating arrangements. Phatak describes the SDK as a headless Claude Code binary that developers can run wherever they choose. Managed Agents uses its own hosted harness, informed by Claude Code and Agent SDK lessons but rebuilt for more general work. It is not presented as merely the SDK with hosting added.

Hosting does not settle every orchestration policy. Asked whether multiple agents can loop and consume excessive tokens, Cemaj leaves some responsibility with the custom-harness developer. At the time of the workshop, per-session dollar and token caps were being explored but were not offered. The outcome’s maximum-iterations setting therefore should not be read as a general spending limit. A custom harness can also coordinate other providers.

Correction is possible by steering an active session: send another user message, and the system queues it for the agent. Rewinding history and replaying from an earlier point are different capabilities. They were unavailable in this recording; session forking was on the roadmap. The supported intervention adds guidance to the ongoing session rather than creating an alternate history.

26:0826:18
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

26:08 · section reference included

Share knowledge across sessions, with session-level grading

Shared knowledge is already part of the research desk: agents populate a memory store that later sessions can read. A session can attach multiple stores, allowing a user-level store and an organization-wide store to accompany the same task. This provides a way to bring both personal and shared knowledge into research without requiring one undifferentiated store.

Those stores live in Anthropic’s infrastructure, but their contents can be extracted through APIs and moved elsewhere. Portability of the data does not mean interchangeable storage is built in: other memory providers were not supported out of the box within sessions. Cemaj suggests an MCP or custom tool as the integration path for an external memory system.

The grading scope also has a boundary. An outcome belongs to the overall session. The main agent uses subagents to accomplish it and eventually declares completion, but the system did not support separate sub-outcome definitions. Specialist collaboration expands the work a session can do; it does not automatically give every delegated task its own outcome rubric.

“Dreaming” addresses knowledge accumulated across sessions. Cemaj explains that it analyzes session transcripts and the memories those sessions created, then updates memory so future agents know what to retrieve. In this recording, that process is confined to memory stores. Extending it to skills, prompts or agent definitions is a possible future direction, separate from the manual skill update shown earlier.

29:5231:02
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

29:03 · section reference included

Reach private data and prepare reusable environments

The final questions turn to company data and network placement. The access paths depend on where the tools and data can be reached:

  • Direct tool access. Expose the required capability through an MCP server and supply authentication through a vault; the discussion also allows CLI access backed by an API.
  • MCP Tunnels. Connect the company network to Anthropic’s network without exposing the MCP server to the public internet.
  • Self-hosted sandbox. Run a developer-managed sandbox peered with the company network, giving its tools access to internal applications and services.

Environment dependencies are installed at creation time. The service caches that environment and reuses it when reinstantiating the sandbox, so the configured dependencies are prepared before subsequent instances run. The package-installation path described here requires dependencies accessible through registries such as npm, Cargo or pip. Files can also be uploaded directly into a session, or GitHub repositories supplied for installation that way.

The recording ends as an attendee asks about the deployments tab. Recurring scheduled sessions were introduced at the start as a way to keep analysis updating, but their configuration and execution remain for the continuation of the workshop. This part has established the research session’s working pieces: filing access, delegated analysis, saved artifacts, shared memory and a rubric-based completion check.

33:1533:32
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

33:07 · section reference included

Resources

Read the complete timestamped transcript

2 slide groups · 10 demo milestones. Extracted from the recording; expand builds to follow changes. Timestamps are approximate.

  1. 0:12

    Thank you for the presentation. Out of curiosity for the design of the session, in, um, first iteration and second iteration, what has changed?

  2. 0:22

    Good question. Gabe, do you wanna take that question on what changed within, uh, the storage of the session between the first and the second iteration?

  3. 0:31

    Um, sure. The, the, the main thing that changed was that we wanted to abstract away as many things and compa-compartmentalize them into different components, um, to make it so that we could extend the storage mechanisms for future events that we wanted to store, uh, without tying them, you know, so tightly coupled to the mechanics of the session work. Um, so we basically applied the same principle of building and virtualizing interfaces all the way down, uh, not only across service boundaries,

  4. 1:01

    but also at the event layer.

  5. Create and test a console agent

    Claude generates a joke agent’s model, instructions and tools from a prompt. The presenter configures an unrestricted environment, starts a session and asks for cat jokes; the agent returns jokes. Anthropic says it manages the hosting.

    Text in image
    Quickstart
    
    What do you want to build?
    Describe your agent or start with a template.
    
    Browse templates
    Search templates
    
    Blank agent config
    A blank starting point with the core toolset.
    
    Deep researcher
    Conducts multi-step web research with source synthesis and citations.
    
    Structured extractor
    Parses unstructured text into a typed JSON schema.
    
    Field monitor
    Scans software blogs for a topic and writes a weekly what-changed brief.
    Recurring
    
    Support agent
    Answers customer questions from your docs and knowledge base, and escalates when needed.
    
    Incident commander
    Triages a Sentry alert, opens a Linear incident ticket, and runs the Slack war room.
    
    Contract tracker
    Extracts clauses, sets deadline reminders, and tracks obligations in Asana when given a Box file ID or link.
    
    Sprint retro facilitator
    Pulls a closed sprint from Linear, synthesizes themes, and writes the retro doc before the meeting.
    docx · Recurring
    
    Support-to-eng escalator
    Reads an Intercom conversation, reproduces the bug, and files a linked Jira issue with repro steps.
    
    Data analyst
    Load, explore, and visualize data; build reports and answer questions from datasets.
    
    Describe your agent...
    
    Interface text:
    Claude Console
    Dashboard
    API keys
    Build
    Workbench
    Files
    Skills
    Batches
    Managed Agents
    Quickstart
    Agents
    Sessions
    Deployments
    Environments
    Credential vaults
    Memory stores
    Dreams · Preview
    Documentation
    Gabriel

    1:04Demo milestone

  6. 1:04

    All right, thank you. Um, so it sounds like maybe everyone might not be able to follow along, but hopefully, um, we can find a way to share out these slides, and you can try it out at home. Or if you have your phone, maybe you can try to pair it with your hotspot and see if you can follow along. Um, all right, so let, let's try this one more time. We're gonna say, "Build me an agent that tells me jokes every time, given a topic." And then you just

  7. 1:34

    hit Enter.

  8. 1:39

    And you can see Claude is coming up with a system prompt. It came up with a name, a description, chose a model. You can, like, go change this model if you want to, and then, um, gave the agent access to the agent tool set. And then you'll hit, uh, Create Agent. That should basically call the V1 agent's endpoint to create the agent. Okay, that, that got created. Next, we're gonna configure the environment, uh, which is the template for the sandbox.

  9. Create and test a console agent

    Claude generates a joke agent’s model, instructions and tools from a prompt. The presenter configures an unrestricted environment, starts a session and asks for cat jokes; the agent returns jokes. Anthropic says it manages the hosting.

    Text in image
    Quickstart
    
    Build me an agent that tells me jokes everytime given a topic
    
    Agent created
    POST /v1/agents
    CLI
    
    ant beta:agents create <<YAML
    name: Joke Teller
    description: An agent that tells jokes on any given topic.
    model: claude-sonnet-4-6
    system: You are a witty comedian who tells jokes on any topic the user gives you. When given a topic, immediately deliver 3-5 fresh, clever jokes about it — a mix of puns, one-liners, and observational humor.
    
    Your Joke Teller agent is ready! An agent is a reusable, versioned configuration — it defin[illegible]
    
    Config
    name: Joke Teller
    description: An agent that tells jokes on any given topic.
    model: claude-sonnet-4-6
    system: You are a witty comedian who tells jokes on any topic the user gives you. When given a topic, immediately deliver 3-5 fresh, clever jokes about it — a mix of puns, one-liners, and observational humor. Keep jokes clean and suitable for all audiences unless the user specifies otherwise. After delivering the jokes, invite them to give you another topic. Never refuse a topic: if it's obscure, lean into the absurdity.
    tools:
      - type: agent_toolset_20260401
    
    Interface text:
    Test run
    Config · Preview · YAML
    Reply...
    Claude Console
    Dashboard
    API keys
    Build
    Workbench
    Files
    Skills
    Batches
    Managed Agents
    Quickstart
    Agents
    Sessions
    Deployments
    Environments
    Credential vaults
    Memory stores
    Dreams · Preview
    Documentation
    Gabriel

    1:57Demo milestone

  10. 2:12

    Uh, we're just gonna create a new one.

  11. 2:19

    And then we'll just give it unrestricted access for this one, but you can... Obviously, when you're bui-building a production agent, you, you wanna tighten the access, control which domains it can, uh, reach out to, or specific MCP servers. So we'll do unrestricted.

  12. 2:33

    Almost like after-

  13. 2:35

    And then here you can see, you can, like, choose packages you wanna install, um, et cetera. And then next, we'll just go and start the session.

  14. 2:45

    All right, now we're gonna go test run our session. Uh, write, "Tell me jokes about cats."

  15. 2:55

    And you'll see the model started thinking,

  16. 3:01

    and it came up with a cat joke. But yeah, that, that was like a-- That, that's how easy it is for you to go build your agent. Now this, uh, agent is up and running in the cloud. All you have to do is start a session with the agent, send events, get back events. Everything else is managed by us. So we're managing all the infrastructure, the hosting, the harness, the sandbox management, the scaling, the storage of your event log, um, and then you can focus on building your product around this. Um, thank you.

  17. Create and test a console agent

    Claude generates a joke agent’s model, instructions and tools from a prompt. The presenter configures an unrestricted environment, starts a session and asks for cat jokes; the agent returns jokes. Anthropic says it manages the hosting.

    Text in image
    Quickstart
    
    [illegible] needed. Let's fire it up!
    
    Session created
    POST /v1/sessions
    CLI
    
    ant beta:sessions create <<YAML
    environment_id: [illegible]
    agent:
      type: agent
      id: [illegible]
    YAML
    
    Your session is live — go ahead and type a topic in the test run panel on the right to get your first batch of jokes!
    
    Session event sent
    POST /v1/sessions/[illegible]
    CLI
    
    ant beta:sessions:events send --session-id [illegible] \
      --event '{"type":"user.message","content":[{"type":"text","text":"Tell me jokes about cats"}]}'
    
    Your message was sent via POST /v1/sessions/[illegible]/events — keep chatting and throw any topic at it!
    
    Session running...
    
    Preview
    joke-teller-env
    View session
    Transcript · Debug · All events
    
    agent.message · Message
    0:00:14
    [illegible]
    
    "content": [
      {
        "text": "[illegible] Cat Jokes, Coming Right Up!\n\n---\n\n**1. The Pun Opener**\nWhy don't cats ever win at poker?\nBecause they always show their **paws**. \n\n---\n\n**2. The One-Liner**\nI tried to write a book about cats...\nbut they kept **editing** it by walking across my keyboard. [illegible]\n\n---\n\n**3. The Observational**\nCats spend 16 hours a day sleeping, knock things off tables for fun, and judge you silently from across the room.\nHonestly? **Career goals.** [illegible]\n\n---\n\n**4. The Classic with a Twist**\nWhat do you call a cat that gets everything it wants?\n**Purr-suasive.** [illegible]\n\n---\n\n**5. The Dark Horse**\nMy cat told me a joke once.\nI didn't laugh.\nNow I sleep with one eye open. [illegible]\n\n---\n\nThese jokes are *feline* pretty good, if I do say so myself! [illegible] Got another topic you want me to tackle? I'm ready to roast absolutely anything! [illegible]",
        "type": "text"
      }
    ],
    "id": "[illegible]",
    "processed_at": "2026-06-30T18:06:31.109930Z",
    "type": "agent.message"
    
    Send a message to the agent
    
    Interface text:
    Stop session
    Config · Preview
    Reply...
    Claude Console
    Dashboard
    API keys
    Build
    Workbench
    Files
    Skills
    Batches
    Managed Agents
    Quickstart
    Agents
    Sessions
    Deployments
    Environments
    Credential vaults
    Memory stores
    Dreams · Preview
    Documentation
    Gabriel

    3:04Demo milestone

  18. 3:31

    I'll now hand it over to Gabe to do the more hands-on bit of the workshop, and hopefully, hopefully we have better wa-luck with wi-Wi-Fi. Thank you.

  19. 3:47

    Can you hear me? Great. I see there's a bunch of people that are kind of squished in the back. There's room here and here, if you wanna come in, uh, so we can fit everybody in. Um, before we start, here's a repo that we're gonna be using. Um, so if you wanna take a picture of the QR code, Git clone that repo, um, CD into the research desk, uh, directory, and then run, uh, NPM install or bun i. Um, I'll let you do that,

  20. Build a financial analysis agent: workshop repository

    To prepare for the financial analytics agent workshop, clone the workshop repository, enter research-desk, and install dependencies with npm install or bun i.

    Text in image
    Build a financial analytics agent
    Section 05 · Extended workshop
    
    git clone
    https://github.com/anthropics/cwc-workshops/
    
    cd research-desk
    
    npm install / bun i
    
    Repo
    
    Interface text:
    docs.google.com – To exit full screen, press esc
  21. 4:17

    and then I'll walk you through, through what we're gonna be building today, uh, together. Um, I still see some phones out. I know you're-- there's Wi-Fi issues. Hopefully you can, you can get, uh, you can get to the repo. Um, okay. Oh, oh, I see you. Okay.

  22. 4:37

    Cool.

  23. 4:40

    All right. So what are we, what are we gonna be building today? We're-- I'm gonna show you how you can use, uh, Claude managed agents to build a variety of different applications. We're gonna start with, uh, building a custom chat-like interface, so that you can talk to an agent. We can say, "Hello." Um, then we're gonna augment that agent into a multi-agent, uh, ecosystem, so that it can delegate tasks, uh, to sub-agents. We're gonna give it skills, uh, specifically a skill to be able to call, um, the SEC website and get

  24. Research desk: chat, filings, map-reduce and recurring work

    The workshop builds a chat agent that fetches 10-K and 10-Q filings from SEC EDGAR, delegates ticker analysis across sessions, and schedules recurring evaluations.

    Text in image
    An agent that reads SEC filings and compares instruments
    
    Chat with your agent
    Say hello to your agent
    
    Explore filings
    Fetch 10-K and 10-Q filings from SEC EDGAR for any ticker
    
    Map Reduce
    Orchestrate many sessions to evaluate multiple tickers
    
    Recurring work
    Schedule recurring work to evaluate a target list of tickers
  25. 5:09

    SEC filings for individual tickers, uh, and analyze specific forms. Um, then we're gonna be able to use the, these new enhanced agents to run more asynchronous, um, agentic tasks that can take a long time to run. Um, and then we're gonna bring it all together by enabling the sort of map reduce interface, where we can talk to an agent, and that agent can then delegate to many agents, uh, and do sort of like a map reduce thing, um, showing you how you can build a

  26. 5:39

    custom harness on top of CMA to orchestrate, you know, your own work with custom tools, uh, and manage multi-session, um, kind of interactions. Uh, and then we'll finish up by... I'll show you, uh, our deployments API that allows you to set up recurring work on a schedule, so that you can run, uh, sessions, uh, on a, on a given cadence to run kind of longer term analysis that keeps updating itself. Sound good?

  27. 6:07

    Quiet. Okay, great. Um, all right, so let's switch over to, um, a coding interface. I'm gonna be using, uh, Claude Code for this. You're free to use whatever coding agent you prefer. Uh, I don't think anybody's writing code by hand, so I'm not going to do that either. Um, there is a skill that we've loaded up in your repository that's gonna walk you through the workshop step by step. Um, so if you wanna rerun the workshop after I'm done, uh, later on when you have better Wi-Fi and

  28. 6:37

    better internet access, uh, you're able to do so, um, at home. Um, so the first thing you wanna wanna do is, I assume you've checked out the repository, you've CD'd into the research desk repo, you've run Bun I. We're gonna spin up our, uh, server with, uh, Bun run dev. I'm gonna make this bigger. I'm assuming nobody can see. Okay, is that better? Yeah.

  29. 7:00

    And then if you have questions while Gabe, Gabe is presenting, feel free to raise your hand and I can run to you with the mic.

  30. 7:06

    We, we have helpers, so if you run into issues, raise your hand. People will come, um, help you, help you out. Um, cool. So if you've gone this far, you'll bas- basically be able to load this website. Uh, and the first thing you're gonna wanna do is go to the setup page. Um, everybody with me so far? Yep. Yeah? Okay. Um, now we're gonna... Yeah. Um, okay, once, uh, once, uh, the... he takes a

  31. Configure the Research Desk application

    Add an API key and SEC contact name and email to .env.local; the setup page checks both. Then create the prompt-only research agent and staff the desk with specialists, a skill, memory and a dispatch tool.

    Text in image
    Setup
    
    Everything the desk is made of — agents, an environment, a skill, a memory store — is a persistent, versioned object in your workspace. The server holds the credential; nothing is entered in the browser.
    
    Server credential (ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN)  present
    EDGAR identity (EDGAR_IDENTITY)  the SEC requires a contact identity  present
    
    1 — Your agent  the head of research, prompt only — enough to say hello  Create your agent
    2 — The desk  skill, specialists, analyst, memory store — and your agent gets its dispatch tool  Staff the desk
    
    WATCHLIST
    NVDA · AMD · INTC · AVGO · QCOM · TXN · MU · AMAT · LRCX · KLAC · ADI · MRVL · ON · MCHP · NXPI
    
    Interface text:
    The Research Desk  RESEARCH DESK
    Desk  Scorecards  Memory  Deployments  Setup
    Claude Managed Agents
    Claude Platform
    Environments | Claude Pl[illegible]
    Agents | Claude Platform
    Sessions | Claude Platform
    Claude Platform
    Dreams | Claude Platform
    The Research Desk
    The Research Desk — a workshop for Claude Managed Agents

    7:14Demo milestone

  32. Configure the Research Desk application

    Add an API key and SEC contact name and email to .env.local; the setup page checks both. Then create the prompt-only research agent and staff the desk with specialists, a skill, memory and a dispatch tool.

    Text in image
    Setup
    
    Everything the desk is made of — agents, an environment, a skill, a memory store — is a persistent, versioned object in your workspace. The server holds the credential; nothing is entered in the browser.
    
    Server credential (ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN)  present
    EDGAR identity (EDGAR_IDENTITY)  the SEC requires a contact identity  present
    
    1 — Your agent  the head of research, prompt only — enough to say hello  Create your agent
    2 — The desk  skill, specialists, analyst, memory store — and your agent gets its dispatch tool  Staff the desk
    
    WATCHLIST
    NVDA · AMD · INTC · AVGO · QCOM · TXN · MU · AMAT · LRCX · KLAC · ADI · MRVL · ON · MCHP · NXPI
    
    Interface text:
    The Research Desk  RESEARCH DESK
    Desk  Scorecards  Memory  Deployments  Setup
    Claude Managed Agents
    Claude Platform
    Environments | Claude Pl[illegible]
    Agents | Claude Platform
    Sessions | Claude Platform
    Claude Platform
    Dreams | Claude Platform
    The Research Desk
    The Research Desk — a workshop for Claude Managed Agents

    7:29Demo milestone

  33. 7:35

    picture, we're, we're gonna start up, uh, our workshop skill. So in Claude Code, you can type in, uh, workshop start, uh, and it's gonna start running through the workshop for you. We're gonna do it in six acts. Uh, I apologize, there's no intermission in between. Um, I hope that's okay with y'all. Um, but we're gonna go through it. Uh, Claude will... Oh, uh, sure. We're gonna go into auto mode. Um, Claude, Claude is gonna keep track of each of the acts so

  34. 8:05

    that, uh, you can continue on. You can keep typing workshop next so that it, you know, is gonna keep, uh, progressing through the, through the thing. Uh, I'm gonna ask Claude to do it for me, but handhold m- ha- handhold me and teach me what it's doing. Um, and so the first thing, it's gonna basically make sure that our prerequisites are set. Um, it's gonna copy the .env.example file into a .env.local. Um... Oh, no, stop. We're not there yet.

  35. 8:35

    Okay. It's a little eager. Okay. It's gonna copy th- that file. That file, um, has a few values for you to fill in. You're gonna wanna paste in your API key. Um, you're gonna wanna paste in... The SEC wants to know who you are when you're calling their API, so you're gonna have to put in your name and email. Um, this is just so that they know who's calling them. Um, and then that's basically it. Once, um, once you've done all that, um, it's going to... Well, we're gonna move on to the n- to the next thing. So

  36. 9:05

    everybody with me so far? You've put in your API key into your .env.local. You've put in your EDGAR identifier. Show of hands.

  37. 9:14

    Give me a quick show of hands or how, how many of you are able to follow along who might have Wi-Fi or other ways.

  38. 9:20

    Okay. Okay. We got one, one person at least, so

  39. 9:22

    One.

  40. 9:25

    MVP. Pardon?

  41. 9:29

    The repo. Uh, oh, oh, for the repo. This one? That's the one,

  42. 9:36

    yeah.

  43. 9:36

    Uh, Rohan, you wanna hand them the mic?

  44. 9:38

    Credentials.

  45. 9:39

    Yeah. Thank you.

  46. 9:39

    Yeah, the slide with the credential. That's it. The setup one.

  47. Configure the Research Desk application

    Add an API key and SEC contact name and email to .env.local; the setup page checks both. Then create the prompt-only research agent and staff the desk with specialists, a skill, memory and a dispatch tool.

    Text in image
    Setup
    
    Everything the desk is made of — agents, an environment, a skill, a memory store — is a persistent, versioned object in your workspace. The server holds the credential; nothing is entered in the browser.
    
    Server credential (ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN)  present
    EDGAR identity (EDGAR_IDENTITY)  the SEC requires a contact identity  present
    
    1 — Your agent  the head of research, prompt only — enough to say hello  Create your agent
    2 — The desk  skill, specialists, analyst, memory store — and your agent gets its dispatch tool  Staff the desk
    
    WATCHLIST
    NVDA · AMD · INTC · AVGO · QCOM · TXN · MU · AMAT · LRCX · KLAC · ADI · MRVL · ON · MCHP · NXPI
    
    Interface text:
    The Research Desk  RESEARCH DESK
    Desk  Scorecards  Memory  Deployments  Setup
    Claude Managed Agents
    Claude Platform
    Environments | Claude Pl[illegible]
    Agents | Claude Platform
    Sessions | Claude Platform
    Claude Platform
    Dreams | Claude Platform
    The Research Desk
    The Research Desk — a workshop for Claude Managed Agents

    9:40Demo milestone

  48. 9:41

    This one.

  49. 9:42

    Thank you.

  50. 9:42

    Oh, okay. Sure.

  51. 9:43

    And then, and then given, given people don't have Wi-Fi, ple- please, like, stop us and ask questions so we can at least make this more interactive and help you understand concepts so that you can build with your own time after the workshop.

  52. 9:58

    Okay. Um, I'm... Yeah. I have a-

  53. 10:04

    Is this in the GitHub or where do we have- Yeah. This is the app spinning up, uh, when you clone and CD into research desk and run Bun run dev. This is the website you will, you will get.

  54. 10:15

    Uh, can I ask a question?

  55. 10:17

    Yeah. I don't see you, but

  56. 10:18

    Oh, here. Uh, I'm wondering, like, you know, so when you say Claude handle and manage the agents, where is this running? Is this running on AWS-

  57. 10:27

    Yeah, that's a good question

  58. 10:28

    ... after all?

  59. 10:29

    Um, so we, we, we're gonna run it in our own infrastructure. Um, today we, we have, like, a 1P offering, uh, that we run on, but we also have Claude Platform on AWS if you wanna run on AWS using your AWS credits. What we also offer, and maybe we can talk about this after this demo, is self-hosted sandboxes. So if you wanna bring your own sandbox through, uh, c- different providers like Vercel or Modal or Daytona or a bunch of others, you can do that. Uh, even, you know,

  60. 10:59

    through Google Cloud and, and AWS, if you wanna run your sandbox in that, uh, environment, you can. Um, okay. I'm gonna continue with the demo. Um, the, the first thing you want-- The next thing you wanna do is create, push this button, which is gonna create, um, your agent. So it's gonna create two things for us. Um, an environment, which Priyanka talked about, is a template of what the sandbox is gonna look like. Um, for this demo, we're gonna give it access to a few websites that it can reach out to, mainly the

  61. Create the research environment and lead agent

    Creating the agent provisions a sandbox environment and a head of research with basic tools. Its initial prompt defines its role; skills and subagent coordination come later.

    Text in image
    The Research Desk
    
    1 — Your agent: the head of research, prompt only — enough to say hello
    created
    
    2 — The desk: skill, specialists, analyst, memory store — and your agent gets its dispatch tool
    Staff the desk
    
    environment: [illegible]
    head of research (version 1 — prompt only): [illegible]
    
    PROVISIONED RESOURCES
    
    Every piece of the desk is a real, persistent object in your workspace — open them in the Console.
    
    Environment
    [illegible]
    Open in Console ↗
    
    Agent — head of research
    [illegible]
    Open in Console ↗
    
    WATCHLIST
    
    NVDA · AMD · INTC · AVGO · QCOM · TXN · MU · AMAT · LRCX · KLAC · ADI · MRVL · ON · MCHP · NXPI
    
    Interface text:
    RESEARCH DESK
    Desk · Scorecards · Memory · Deployments · Setup
    Claude Managed Agents
    Claude Platform
    Environments | Claude Pl...
    Agents | Claude Platform
    Sessions | Claude Platform
    Dreams | Claude Platform
    The Research Desk

    11:16Demo milestone

  62. 11:28

    SEC. We're gonna add, uh, some Python packages so that it can reach out to, to, uh, the SEC with, you know, some predefined, uh, Python packages. Um, it's also gonna create, uh, an agent. So it's gonna create this very basic agent. Right now it has no tools. Um, it has, uh, just a prompt. Uh, well, it has the basic tools, but there's no skills, there's no sub-agent coordination, nothing like that. Um, I'm gonna tell Claude to Um,

  63. Create the research environment and lead agent

    Creating the agent provisions a sandbox environment and a head of research with basic tools. Its initial prompt defines its role; skills and subagent coordination come later.

    Text in image
    research-desk-head-of-research
    Active
    
    Version: v1
    
    Model
    claude-opus-4-8
    
    System prompt
    
    You are the head of research at a small equity research desk that covers the semiconductor industry.
    
    Right now the desk is just you — no analysts, no tools, no research memory yet. You can chat with the user about the desk you are about to build together, the semiconductor companies on a typical watchlist, and how you would approach analyzing SEC filings, but you cannot pull live filings or dispatch anyone yet. If the user asks for fresh analysis, say plainly that the desk isn't staffed yet and that analysts are coming shortly.
    
    Be concise, warm, and concrete. Plain prose or short Markdown lists; no headers unless the user asks for something long.
    
    MCPs and tools
    Built-in tools
    [illegible]
    Tool permissions 8
    Custom
    
    Skills
    No skills configured.
    
    Interface text:
    Claude Console
    [illegible]-research-desk
    Dashboard
    API keys
    Build
    Workbench
    Files
    Skills
    Batches
    Managed Agents
    Quickstart
    Agents
    Sessions
    Deployments
    Environments
    Credential vaults
    Memory stores
    Dreams Preview
    Documentation
    Gabriel
    Admin · Anthropi...
    Agents › research-desk-head-of-research
    [illegible] · Last updated yesterday
    Agent · Sessions · Deployments
    Edit

    11:40Demo milestone

  64. 11:59

    continue and implement the interface with which we can talk to this agent in our application. Uh, like Priyanka mentioned, the main, uh, way you communicate with a session is through an event stream. So you listen onto that stream for all the events that the agent is pushing back down to you, and you can use that as, uh, an endpoint to push events back up. So really, everything that happens in the communication for these more chat-like applications happens on that stream. So we can see here what Claude is doing is it's,

  65. 12:30

    uh, implementing the section so that when I press enter in my chat box, it's gonna send the user.message event with the content that I'm sending to that session. And then it's gonna route the SSE stream back onto my browser from my back end. So it's gonna listen onto, um, the events that are coming in the s-stream connection to our API and then restream them directly back onto the front end so that I can render them in a nice way. Um, and once Claude has done that, we

  66. 12:59

    should be able to go to this desk tab and just say hi to our agent. Um, and if everything worked...

  67. Chat with the Research Desk

    A greeting reaches the research lead, which can discuss the semiconductor watchlist but cannot yet pull live filings or dispatch analysts. Next, the presenter plans an SEC skill and specialist subagents.

    Text in image
    The Research Desk — RESEARCH DESK
    
    runs on this server and keeps going even if you close this tab.
    
    YOU
    hi
    
    HEAD OF RESEARCH
    
    Hey! Good to have you here. I'm running point on our new semiconductor research desk — though right now it's just me. No analysts, no tools, no research memory yet; we're building all of that together.
    
    Here's what I can do today: talk through how we want to set up the desk, sketch out a watchlist (the usual suspects — NVIDIA, AMD, Intel, TSMC, Broadcom, Qualcomm, Micron, ASML, and so on), and discuss how we'd approach reading and analyzing SEC filings once analysts are staffed.
    
    What I can't do yet is pull live filings or dispatch anyone to run fresh analysis — the desk isn't staffed for that quite yet, but analysts are coming shortly.
    
    What's on your mind? Want to start shaping the watchlist, or talk through how we'll work?
    
    desk: idle
    
    Ask the head of research... (Enter to send, Shift+Enter for a new line)
    Send
    
    Enter to send · Shift + Enter for a new line · the conversation and the desk's memory persist across visits.
    
    The Research Desk — a workshop for Claude Managed Agents.
    
    Interface text:
    Desk
    Scorecards
    Memory
    Deployments
    Setup
    
    Claude Managed Agents
    Claude Platform
    Environments | Claude Pl...
    Agents | Claude Platform
    Sessions | Claude Platform
    Claude Platform
    Dreams | Claude Platform
    The Research Desk

    13:10Demo milestone

  68. 13:10

    Hopefully. Great. Um, so we can see here now we're, we're talking to our agent. If you wanted to build a chat-like application, this is where you would stop, um, which is great, but we wanna do more. The whole point of Claude Managed Agents is that you can do long-running asynchronous tasks, um, not just for minutes, but hours, days, weeks, and even months. Um, so let's see what we, we have to do next, right? The next thing that we're gonna wanna do is, um... Oh, Claude is very

  69. 13:40

    eager today. Um, okay. The next thing is we, we wanna augment our agent, right? We wanna give our agent the skills so it can call the SEC. We wanna use multi-agent coordination so that, um, our session can delegate work to subagents that are more specialized and capable of doing some tasks. Um, and we wanna basically move up the ladder of intelligence. Um, so let's do that, um, by saying, uh, workshop next. Um, now what Claude is gonna do

  70. 14:10

    is it's gonna implement the provisioning scheme to upgrade our agent so that it uses, uh, more subagents or any subagents. Um, is we're gonna give it a skill, a skill that lets it, uh, um, talk to the SEC. We've described how to use the Python package. We've described that it has to use the EDGAR identity to call. Um, we've, we've described all of that. And we're gonna give it a custom tool, uh, for later in the workshop. Um, that custom tool is

  71. 14:40

    what we're gonna be able to use to tell our head of research agent to spin off multiple sessions that we will coordinate, uh, for a, a sort of custom harness. So this is what Claude is doing here. Um, it's updating its progress, creating this custom tool called dispatch analysis. We're gonna come back to this in a second. Um, we give it a schema. Um, it's going to update the, the description of the main agent so that it creates a new version of that agent. Uh, this new version will have,

  72. 15:10

    um... Oh, pager duty. Um, uh, this new version will have, uh, a few different subagents, uh, that it can delegate work to, as well as a reference to itself. So if the main agent ever wants to spin off a copy of itself with its same prompt, it can do that. Um, this is important because, uh, sometimes you don't necessarily know what sort of tasks your session's gonna wanna do, but you have a general, uh, idea that you wanna have subagents that, you know, spin up and

  73. 15:40

    do work. Uh, so you can define a self-reference to y-you know, yourself, that Claude can then spin up a subagent for. Um, important-- This question has come up in the past. It doesn't copy the transcript of that session into the subagent. It just copies over the tool description and the schemas, uh, and the prompt, uh, into, into that subagent. Um, cool. So now, if we go into here, we should see that there's a new agent.

  74. Create the research environment and lead agent

    Creating the agent provisions a sandbox environment and a head of research with basic tools. Its initial prompt defines its role; skills and subagent coordination come later.

    Text in image
    research-desk-head-of-research
    Active
    
    Version: v1
    
    Model
    claude-opus-4-8
    
    System prompt
    
    You are the head of research at a small equity research desk that covers the semiconductor industry.
    
    Right now the desk is just you — no analysts, no tools, no research memory yet. You can chat with the user about the desk you are about to build together, the semiconductor companies on a typical watchlist, and how you would approach analyzing SEC filings, but you cannot pull live filings or dispatch anyone yet. If the user asks for fresh analysis, say plainly that the desk isn't staffed yet and that analysts are coming shortly.
    
    Be concise, warm, and concrete. Plain prose or short Markdown lists; no headers unless the user asks for something long.
    
    MCPs and tools
    Built-in tools
    [illegible]
    Tool permissions 8
    Custom
    
    Skills
    No skills configured.
    
    Interface text:
    Claude Console
    [illegible]-research-desk
    Dashboard
    API keys
    Build
    Workbench
    Files
    Skills
    Batches
    Managed Agents
    Quickstart
    Agents
    Sessions
    Deployments
    Environments
    Credential vaults
    Memory stores
    Dreams Preview
    Documentation
    Gabriel
    Admin · Anthropi...
    Agents › research-desk-head-of-research
    [illegible] · Last updated yesterday
    Agent · Sessions · Deployments
    Edit

    16:06Demo milestone

  75. 16:11

    Oh, I think I need to provision them. So there should be a button in our setup, uh, that says staff to desk. When I do that, it's actually gonna run... Oh. Uh, uh, okay. I ran this before. Let me delete the skill so that I can recreate it for you. Um, I was trying to do the magic, uh, cook show thing, but that's fine. Um, okay, so we'll delete the skill. We'll ask Claude to reprovision it. Um, it's gonna create all those resources, and then we'll

  76. Create and test a console agent

    Claude generates a joke agent’s model, instructions and tools from a prompt. The presenter configures an unrestricted environment, starts a session and asks for cat jokes; the agent returns jokes. Anthropic says it manages the hosting.

    Text in image
    Quickstart
    
    [illegible] needed. Let's fire it up!
    
    Session created
    POST /v1/sessions
    CLI
    
    ant beta:sessions create <<YAML
    environment_id: [illegible]
    agent:
      type: agent
      id: [illegible]
    YAML
    
    Your session is live — go ahead and type a topic in the test run panel on the right to get your first batch of jokes!
    
    Session event sent
    POST /v1/sessions/[illegible]
    CLI
    
    ant beta:sessions:events send --session-id [illegible] \
      --event '{"type":"user.message","content":[{"type":"text","text":"Tell me jokes about cats"}]}'
    
    Your message was sent via POST /v1/sessions/[illegible]/events — keep chatting and throw any topic at it!
    
    Session running...
    
    Preview
    joke-teller-env
    View session
    Transcript · Debug · All events
    
    agent.message · Message
    0:00:14
    [illegible]
    
    "content": [
      {
        "text": "[illegible] Cat Jokes, Coming Right Up!\n\n---\n\n**1. The Pun Opener**\nWhy don't cats ever win at poker?\nBecause they always show their **paws**. \n\n---\n\n**2. The One-Liner**\nI tried to write a book about cats...\nbut they kept **editing** it by walking across my keyboard. [illegible]\n\n---\n\n**3. The Observational**\nCats spend 16 hours a day sleeping, knock things off tables for fun, and judge you silently from across the room.\nHonestly? **Career goals.** [illegible]\n\n---\n\n**4. The Classic with a Twist**\nWhat do you call a cat that gets everything it wants?\n**Purr-suasive.** [illegible]\n\n---\n\n**5. The Dark Horse**\nMy cat told me a joke once.\nI didn't laugh.\nNow I sleep with one eye open. [illegible]\n\n---\n\nThese jokes are *feline* pretty good, if I do say so myself! [illegible] Got another topic you want me to tackle? I'm ready to roast absolutely anything! [illegible]",
        "type": "text"
      }
    ],
    "id": "[illegible]",
    "processed_at": "2026-06-30T18:06:31.109930Z",
    "type": "agent.message"
    
    Send a message to the agent
    
    Interface text:
    Stop session
    Config · Preview
    Reply...
    Claude Console
    Dashboard
    API keys
    Build
    Workbench
    Files
    Skills
    Batches
    Managed Agents
    Quickstart
    Agents
    Sessions
    Deployments
    Environments
    Credential vaults
    Memory stores
    Dreams · Preview
    Documentation
    Gabriel

    16:22Demo milestone

  77. 16:41

    be able to see here all the subagents, the skill that we created, um, a memory store. So for these sessions, we, we, we also support, um, long-running memory store that can be shared across sessions. Uh, and we're gonna use that so that different sessions can learn about different financial instruments, and they can share that knowledge, uh, with each other. And at the end of this workshop, I'll show you how you can use that memory, long-running memory to keep improving your agents long term over many, many, uh, sessions, days, months, years.

  78. Staff the desk with specialist agents

    Staffing gives the desk a filing analyst that can delegate financial figures and risk analysis to specialists. A shared memory store carries notes across sessions, and the head of research gains a dispatch tool.

    Text in image
    The Research Desk
    
    1 — Your agent: the head of research, prompt only — enough to say hello
    created
    
    2 — The desk: skill, specialists, analyst, memory store — and your agent gets its dispatch tool
    staffed
    
    skill: [illegible]
    financials specialist: [illegible]
    risk specialist: [illegible]
    filing analyst (coordinator): [illegible]
    memory store: [illegible]
    head of research (updated — full prompt + dispatch tool): [illegible]
    
    PROVISIONED RESOURCES
    
    Every piece of the desk is a real, persistent object in your workspace — open them in the Console.
    
    Environment
    
    Interface text:
    RESEARCH DESK
    Desk
    Scorecards
    Memory
    Deployments
    Setup
    Claude Managed Agents
    Skills | Claude Platform
    Environments | Claude Platform
    Agents | Claude Platform
    Sessions | Claude Platform
    Claude Platform
    Dreams | Claude Platform
    The Research Desk

    16:45Demo milestone

  79. 17:12

    Um, cool. So we should see here that the agent now, right here, um, has the skill that we described. It has subagents, uh, with their own prompts and tools and permissions. Uh, it has a prompt, and it has a model. Um, and I think we're, we're ready to use this new dedicated subagent to do our first asynchronous long-running task. So let's, uh, tell Claude

  80. Staff the desk with specialist agents

    Staffing gives the desk a filing analyst that can delegate financial figures and risk analysis to specialists. A shared memory store carries notes across sessions, and the head of research gains a dispatch tool.

    Text in image
    research-desk-filing-analyst
    Active
    
    Version: v1
    
    [illegible] set the identity the SEC requires: export EDGAR_IDENTITY=[redacted] (or set_identity in Python).
    - You coordinate two specialists and may delegate to them: a **financials extractor** (pulls the reported numbers from the XBRL financial statements) and a **risk analyst** (reads Item 1A and MD&A and identifies what changed versus the prior year). Delegate when their depth helps; do small lookups yourself.
    - The desk's shared memory is mounted in your environment. Read your prior notes for the company before starting; write an updated note when you finish. Notes are how the desk compounds knowledge across quarters.
    - Always cite which filing (form, period, filing date) a number or claim comes from. Prefer reported figures over estimates; if you compute something (margins, growth), say so.
    - Be precise and unsentimental. "Revenue grew 12% with gross margin down 240bps on inventory charges" beats a paragraph of adjectives.
    
    MCPs and tools
    Built-in tools
    Tool permissions: 8
    
    Skills
    [illegible]
    
    Subagents
    research-desk-financials-extractor
    research-desk-risk-analyst
    research-desk-filing-analyst
    
    Interface text:
    Claude Console
    Agents
    Last updated just now
    Edit
    Agent
    Sessions
    Deployments
    Dashboard
    API keys
    Build
    Workbench
    Files
    Skills
    Batches
    Managed Agents
    Quickstart
    Environments
    Credential vaults
    Memory stores
    Dreams Preview
    Documentation
    Gabriel
    Admin - Anthropi[illegible]

    17:20Demo milestone

  81. 17:42

    to move on to the next thing. The next thing that we wanna do is, um, we wanna tell Claude, not in a chat-like application, but a more asynchronous thing, "Hey, research this financial instrument and give me a report in a format that I define and I care about." And we're gonna use something called Outcomes. Outcomes is how we've created self-supervision. So in an Outcome, you tell Claude, "This is your task. This is your rubric to evaluate your task." It's gonna go off and do that work, and then when it thinks it's

  82. 18:11

    completed, it's gonna ask a sub-agent to look at the rubric and the work that it-- Claude did, uh, and evaluate did it do it correctly and did it do it to completion. Uh, if it does, then great, and if it doesn't, it will try again. Um, so here what Claude is implementing for us is basically this user-defined outcome event so that anytime we start a session in our UI that I'll show you for a specific ticker, it's gonna send this user-defined outcome with a specific rubric,

  83. 18:42

    uh, max iterations, um, and a description of the task at hand. And so, then Claude will go run that task for us. Um, and so what does that look like in the UI? If you look to this scorecard, um, I can tell Claude, "Hey, I, I wanna analyze NVIDIA." Oh. Please.

  84. Run and inspect an outcome-graded analysis

    The demo launches an NVDA analysis, then inspects an earlier AMD run: financials and risk specialists feed the analyst’s scorecard and memory note, and a grader marks the outcome satisfied.

    Text in image
    Scorecards
    
    NVDA  Analyze
    Runs analyst sessions directly (no head involved) — each is graded by the scorecard rubric.
    
    1 analyst dispatched  • running
    NVDA  • running
    
    No scorecards yet — analyze a ticker above, or ask the Desk to sweep the watchlist.
    
    Download CSV
    
    The Research Desk — a workshop for Claude Managed Agents.
    
    Interface text:
    The Research Desk  RESEARCH DESK
    Desk  Scorecards  Memory  Deployments  Setup
    Claude Managed Agents
    Agents | Claude Platform
    Environments | Claude Platform
    Sessions | Claude Platform
    Claude Platform
    Dreams | Claude Platform
    The Research Desk

    19:05Demo milestone

    Show 2 builds
    1. 19:05

      Run and inspect an outcome-graded analysis — recorded presentation, build 1

      Text in image
      Scorecards
      
      NVDA  Analyze
      Runs analyst sessions directly (no head involved) — each is graded by the scorecard rubric.
      
      1 analyst dispatched  • running
      NVDA  • running
      
      No scorecards yet — analyze a ticker above, or ask the Desk to sweep the watchlist.
      
      Download CSV
      
      The Research Desk — a workshop for Claude Managed Agents.
      
      Interface text:
      The Research Desk  RESEARCH DESK
      Desk  Scorecards  Memory  Deployments  Setup
      Claude Managed Agents
      Agents | Claude Platform
      Environments | Claude Platform
      Sessions | Claude Platform
      Claude Platform
      Dreams | Claude Platform
      The Research Desk
    2. 19:17

      Run and inspect an outcome-graded analysis — recorded presentation, build 2

      Text in image
      Filing analysis: AMD  Idle
      
      Agent  Message
      The grader has confirmed all five criteria are met. The work is complete:
      
      • Scorecard — /mnt/session/outputs/scorecard.json: valid single JSON object, all 21 fields present with correct types, enum values, and list caps respected.
      • Memory note — /mnt/memory/desk-memory/companies/AMD/Q1-FY2026-10-Q.md: covers the same Q1 FY2026 10-Q with all required template sections.
      
      Both deliverables are grounded in AMD's most recent filing (Q1 FY2026 10-Q, filed 2026-05-06), with figures pulled from XBRL by the financials extractor and a genuinely comparative risk read from the risk analyst. Numbers tie out arithmetically, risk-factor changes reflect real year-over-year differences (MI308 charge resolution, new MI325 tariff disclosure, NVIDIA-Intel partnership and Meta warrant), and interpretive limitations are honestly captured in data_caveats.
      
      No remaining work — the outcome is complete.
      
      Session events:
      Outcome  Analyze AMD's most recent annual or quarterly SEC filin...
      Agent  I'll start by reading the required skill file a...
      Tool  Read, Bash
      Agent  No prior AMD notes exist. Let me check t...
      Tool  Bash ×2
      Agent  Memory store is empty (fresh). The most...
      Tool  Bash  export EDGAR_IDENTITY="Research De...
      Agent  The most recent filing is the **Q1 FY202...
      Subagent  → research-desk-financials-extractor
      Subagent  → research-desk-risk-analyst
      Agent  Both specialists are working. I'll end my tu...
      Tool  Bash  mkdir -p /mnt/session/outputs && echo ...
      Agent  I've delegated to both specialists and prep...
      Subagent  ← research-desk-financials-extractor
      Agent  Financials are in and complete. Awaiting t...
      
      Interface text:
      Claude Console
      Sessions / [illegible]
      research-desk-filing-analyst  research-desk-env  1 memory store  1 output  11m 14s  1.0M / 35.4k  1 day ago
      Transcript  Debug  All events
      Main  researc...ctor  researc...lyst
      Actions  Ask Claude
      Dashboard  API keys  Build  Workbench  Files  Skills  Batches
      Managed Agents  Quickstart  Agents  Sessions  Deployments  Environments  Credential vaults  Memory stores  Dreams  Preview
      Documentation
  85. 19:06

    Okay, great. So it's gonna kick off a session to do the analysis on NVIDIA. Um, this is gonna take a while. I'm gonna do the cook show thing and show you a previous session, um, of what, of what happened. Uh, it's gonna take about ten-ish minutes. Um, but here's something I ran yesterday. Uh, the first thing we're telling Claude is, "Here is an outcome. I want you to analyze NVIDIA's most recent, uh, SC-- you know, quarterly filings. Um, you're gonna use EDGAR identities. This is where your EDGAR identities are. Um,

  86. 19:36

    you have memory, so check if you've already done analysis previously and make sure that you use that instead of refiling and researching things that you already know. Um, I want you to find the most, uh, recent form that, that I care about and run any analysis over that. Um, and then I want two deliverables. I want you to write a note in, in my memory, um, for that specific company, and I want you to write a scorecard in a well-defined, structured output, and I want you to save that in

  87. 20:06

    a specific file location." Um, so then Claude went off to work, started calling tools. It didn't find any notes in its memory store. Um, it, uh, looked in a few different places, and then it decided, "Okay, I know what to do. I'm gonna leverage my sub-agents to do the bulk of this work. Um, I'm gonna spin up a financial, um, expert analysis agent, uh, or extractor, and then a risk evaluator analysis." And you can see all of that

  88. 20:36

    in the, uh, console here for full observability. Each of these lines here represents a thread, and a thread represents the work done by a sub-agent. And so each of the sub-agents went off to work, and then when they were done, they let the main agent know, "Hey, this is what you asked of me." Uh, and then the main agent woke up, uh, got that information from the sub-agents, and then, uh, filed everything it needed to do and created the deliverable. It created the JSON file that, you know, we specified, uh, and it made sure to update

  89. Run and inspect an outcome-graded analysis

    The demo launches an NVDA analysis, then inspects an earlier AMD run: financials and risk specialists feed the analyst’s scorecard and memory note, and a grader marks the outcome satisfied.

    Text in image
    Filing analysis: AMD  Idle
    
    Outcome  Grading iteration 0  Satisfied
    
    [illegible] memory/companies/AMD/Q1-FY2026-10-Q.md exists and covers the same filing (10-Q, Q1 FY2026, quarter ended 2026-03-28, filed 2026-05-06, accession 0000002488-26-000076). All required template sections are present and populated: Filing, Numbers, Risks & changes, Outlook tone, Red flags, One-line thesis (plus an embedded-instructions/prompt-injection check). Content is consistent with the scorecard.
    
    • Honest uncertainty — unverifiable items reflected in data_caveats/confidence rather than asserted as fact (met): data_caveats appropriately flags interpretive/limitation points: that the 10-Q carries no formal numeric guidance so guidance_tone reflects MD&A commentary rather than issued targets; that net income includes $11M from discontinued operations; that gross margin is GAAP net of $26M acquisition-intangible amortization in cost of sales; the exact net-cash composition and that it excludes long-term investments; and the basis of the revenue-YoY computation. confidence='high' is justified because every reported figure was taken directly from the XBRL statements and verified. Soft spots are disclosed as caveats rather than presented as hard fact.
    
    Session events:
    Tool  Bash  mkdir -p /mnt/session/output...
    Agent  I've delegated to both specialists...
    Subagent  ← research-desk-financials-extractor
    Agent  Financials are in and complete...
    Agent  Risk analyst is still running. I'll w...
    Subagent  ← research-desk-risk-analyst
    Agent  Both specialists have reporte...
    Tool  Bash  mkdir -p /mnt/memory/desk-m...
    Tool  Write  /mnt/memory...
    Tool  Write  /mnt/sessio...
    Tool  Bash  cd /mnt/sessi...
    Agent  Both deliverables are written ...
    Outcome  Grading iteration 0  Satisfied
    Agent  The grader has confirmed all fi...
    
    Interface text:
    Claude Console
    Sessions / [illegible]
    research-desk-filing-analyst  research-desk-env  1 memory store  1 output  11m 14s  1.0M / 35.4k  1 day ago
    Transcript  Debug  All events
    Main  researc...ctor  researc...lyst
    Actions  Ask Claude
    Dashboard  API keys  Build  Workbench  Files  Skills  Batches
    Managed Agents  Quickstart  Agents  Sessions  Deployments  Environments  Credential vaults  Memory stores  Dreams  Preview
    Documentation

    21:05Demo milestone

    Show 2 builds
    1. 21:05

      Run and inspect an outcome-graded analysis — recorded presentation, build 3

      Text in image
      Filing analysis: AMD  Idle
      
      Outcome  Grading iteration 0  Satisfied
      
      [illegible] memory/companies/AMD/Q1-FY2026-10-Q.md exists and covers the same filing (10-Q, Q1 FY2026, quarter ended 2026-03-28, filed 2026-05-06, accession 0000002488-26-000076). All required template sections are present and populated: Filing, Numbers, Risks & changes, Outlook tone, Red flags, One-line thesis (plus an embedded-instructions/prompt-injection check). Content is consistent with the scorecard.
      
      • Honest uncertainty — unverifiable items reflected in data_caveats/confidence rather than asserted as fact (met): data_caveats appropriately flags interpretive/limitation points: that the 10-Q carries no formal numeric guidance so guidance_tone reflects MD&A commentary rather than issued targets; that net income includes $11M from discontinued operations; that gross margin is GAAP net of $26M acquisition-intangible amortization in cost of sales; the exact net-cash composition and that it excludes long-term investments; and the basis of the revenue-YoY computation. confidence='high' is justified because every reported figure was taken directly from the XBRL statements and verified. Soft spots are disclosed as caveats rather than presented as hard fact.
      
      Session events:
      Tool  Bash  mkdir -p /mnt/session/output...
      Agent  I've delegated to both specialists...
      Subagent  ← research-desk-financials-extractor
      Agent  Financials are in and complete...
      Agent  Risk analyst is still running. I'll w...
      Subagent  ← research-desk-risk-analyst
      Agent  Both specialists have reporte...
      Tool  Bash  mkdir -p /mnt/memory/desk-m...
      Tool  Write  /mnt/memory...
      Tool  Write  /mnt/sessio...
      Tool  Bash  cd /mnt/sessi...
      Agent  Both deliverables are written ...
      Outcome  Grading iteration 0  Satisfied
      Agent  The grader has confirmed all fi...
      
      Interface text:
      Claude Console
      Sessions / [illegible]
      research-desk-filing-analyst  research-desk-env  1 memory store  1 output  11m 14s  1.0M / 35.4k  1 day ago
      Transcript  Debug  All events
      Main  researc...ctor  researc...lyst
      Actions  Ask Claude
      Dashboard  API keys  Build  Workbench  Files  Skills  Batches
      Managed Agents  Quickstart  Agents  Sessions  Deployments  Environments  Credential vaults  Memory stores  Dreams  Preview
      Documentation
    2. 19:05

      Run and inspect an outcome-graded analysis — recorded presentation, build 1

      Text in image
      Scorecards
      
      NVDA  Analyze
      Runs analyst sessions directly (no head involved) — each is graded by the scorecard rubric.
      
      1 analyst dispatched  • running
      NVDA  • running
      
      No scorecards yet — analyze a ticker above, or ask the Desk to sweep the watchlist.
      
      Download CSV
      
      The Research Desk — a workshop for Claude Managed Agents.
      
      Interface text:
      The Research Desk  RESEARCH DESK
      Desk  Scorecards  Memory  Deployments  Setup
      Claude Managed Agents
      Agents | Claude Platform
      Environments | Claude Platform
      Sessions | Claude Platform
      Claude Platform
      Dreams | Claude Platform
      The Research Desk
  90. 21:06

    the memory. And then the self-supervision started. So it kicked off a sub-agent to verify that the outcome that we define is being met. Um, it looked at the rubric, it analyzed all the work that was done, uh, in the session, and analyzed the artifacts that it created. Uh, and it, uh, decided in the end that this was satisfied. That the s-- you know, scorecard was delivered, uh, that the numbers are well-defined, uh, that the memory update, you know, was correct, um, and everything looked good.

  91. 21:36

    Um, I don't-- I think this is still running, but once that completes, uh, you would see a table here of each of those tickers, um, because we can extract the report, the scorecard from the session and download it. You put it in a database. For this demo, we put it locally, um, but I think you get the idea. Um, okay, this is great, but what if you wanna do a hundred or, or ten tickers at a time? Wouldn't it be great if I could chat with an agent to build a custom harness that could then delegate

  92. 22:06

    work, uh, for each of the tickers into a different session, and then when it's all done, aggregate the results and give me, uh, a bunch of scores? Um, so that's, that's what we're gonna do next. Um, we're gonna leverage that tool, the custom tool that we created to build our custom orchestration harness in our server, um, where when we talk to our main agent, at some point, that main agent is gonna decide, "Hey, I wanna spin up, uh, ten different sessions to do work." Um, we'll get that-- Oh, I

  93. 22:36

    skipped a step. Sorry. Um, for-- We're, we're gonna update the skill, uh, first. Um, so I, I want to show you that these skills are, are live artifacts that you can update. Um, so you can improve the skill. Uh, in this case, uh, we're adding the ability to look at a new form. Uh, and then when you do so, any new sessions that, uh, reference that skill will get that new information. Um, so this is something that you can continuously update. You can look at previous sessions to see how they performed. We're

  94. 23:06

    gonna see that, uh, at the end of this, uh, demo that, that happens with, with something we call dreaming. Um, but yeah, this, this is what is happening. Um, okay, I'm, I'm gonna move on to the orchestration bit. Um, so now that, yeah, that-- basically that skill is published. Um, I think if I go here, we should see-

  95. Run and inspect an outcome-graded analysis

    The demo launches an NVDA analysis, then inspects an earlier AMD run: financials and risk specialists feed the analyst’s scorecard and memory note, and a grader marks the outcome satisfied.

    Text in image
    Scorecards
    
    NVDA  Analyze
    Runs analyst sessions directly (no head involved) — each is graded by the scorecard rubric.
    
    1 analyst dispatched  • running
    NVDA  • running
    
    No scorecards yet — analyze a ticker above, or ask the Desk to sweep the watchlist.
    
    Download CSV
    
    The Research Desk — a workshop for Claude Managed Agents.
    
    Interface text:
    The Research Desk  RESEARCH DESK
    Desk  Scorecards  Memory  Deployments  Setup
    Claude Managed Agents
    Agents | Claude Platform
    Environments | Claude Platform
    Sessions | Claude Platform
    Claude Platform
    Dreams | Claude Platform
    The Research Desk

    23:25Demo milestone

  96. 23:28

    Any, any questions so far? Um, I know this is a lot to take in. Uh, Travis, there's a question over here. Yeah.

  97. 23:42

    Um, and I, I know someone came up to me asking about, like, how long it takes to get the credits. It should be only five minutes. Um, I know the form says one to two days, but you should see it within five minutes.

  98. 23:53

    Um, I was curious about the, the data access, uh, from the SEC that the, the research agent is grabbing. Does that require some sort of credentials, and are you gonna walk through the part of how the-- how that credential injection or, or brokering works?

  99. Update a skill as a live artifact

    The edgartools skill guides SEC filing and XBRL data access. Its latest version was updated just now; an earlier version remains from seven minutes ago. The demo puts the SEC name and email in the prompt.

    Text in image
    Skills
    
    Skills are repeatable and customizable instructions that Claude API can follow.
    
    ID                  Name
    skill_[illegible]   edgartools — SEC EDGAR data access
    xlsx                xlsx
    pptx                pptx
    pdf                 pdf
    docx                docx
    
    edgartools — SEC EDGAR data access  Custom
    Updated just now · skill_[illegible]
    
    Description
    How to pull SEC EDGAR data with the edgartools Python package — company lookup, filings, XBRL financial statements, and filing sections like Item 1A risk factors. Use whenever a task involves SEC filings, 10-K/10-Q data, or company financials.
    
    Versions
    [illegible]  just now  Latest
    [illegible]  7 minutes ago
    
    Interface text:
    Claude Console
    gcemaj-research-desk
    Dashboard
    API keys
    Build
    Workbench
    Files
    Skills
    Batches
    Managed Agents
    Quickstart
    Agents
    Sessions
    Deployments
    Environments
    Credential vaults
    Memory stores
    Dreams  Preview
    Documentation
    Gabriel
    Admin · Anthropic…
    
    Claude Managed Agents
    Agents | Claude Platform
    Environments | Claude Platform
    Sessions | Claude Platform
    Claude Platform
    Skills | Claude Platform
    The Research Desk

    24:05Demo milestone

  100. 24:08

    Yeah. So for, for the SEC, it just requires your email and your name. Um, for this demo, we just inject that in the prompt. But in a real production application, we would use something called vaults. Uh, the way vaults work is you define a secret, uh, that you wanna u-- inject in an environment variable. And instead of putting the real secret in, what we put is a, is a placeholder. Uh, and then when Claude is doing work and it wants to use that environment variable, um, it just injects the placeholder value. We at egress

  101. 24:38

    swap it out for the real value only on the host domains that you specified are allowed for that secret. So if you say, uh, "My super secret env var can only be used for the SEC," and then Claude tries to use it for anthropic.com, we wouldn't inject, we wouldn't do the swap. But when it tries to call the sec.com, it would do the swap for that.

  102. 24:59

    And Vault is essentially like an API where you can use it on console, where you just go create a Vault, give it a name, you'll get an ID, and then you essentially include that ID in your session as a way for us to authenticate with your MCPs, your CLI. You... For example, you could do like a Google Workspace CLI that you install on your, um, sandbox, and then you can give us like your API key as your environment credential, and again, we'll, we'll kind of follow the same method that, uh-

  103. 25:23

    Well-

  104. 25:23

    ... Gabe talked about. So that, that allows us to essentially have that credential.

  105. 25:26

    Well, Vaults also work with OAuth credentials for MCPs.

  106. 25:29

    Yeah.

  107. 25:29

    And they also work-

  108. 25:30

    Gabe, I don't know if you wanna just show it on, on console, like, uh, the, uh, quickly, like the Wal- Vault creation.

  109. 25:36

    Yeah. Um-

  110. 25:37

    As well

  111. 25:37

    ... so you can, you can create a Vault here, and then in a Vault you would bundle credentials. Um, so you can have MCP auth. Um, maybe you do Notion. You know, we have a few predefined things for OAuth things. Um, so whenever you reference a session, you inject that Vault ID and it will bundle all the credentials into your session, and whenever it tries to use any of the domains that you specify in your credentials, it will swap for the real, um, credential instead of the placeholder.

  112. Inspect the research desk vault

    The vault holds an EDGAR identity as an environment variable. The speaker says a session can load the vault and swap placeholders for real credentials when it uses domains specified in those credentials.

    Text in image
    research-desk-vault  Active
    [illegible] · Created 5 hours ago · Updated 5 hours ago
    
    Status: All
    
    ID: [illegible]
    Name: EDGAR identity
    Auth: Environment variable
    EDGAR_IDENTITY
    Status: Active
    Last used: Jun 30, 2026
    Updated: 4 hours ago
    
    Add credential
    
    Interface text:
    Claude Console
    Credential vaults / research-desk-vault
    Dashboard
    API keys
    Build
    Workbench
    Files
    Skills
    Batches
    Managed Agents
    Quickstart
    Agents
    Sessions
    Deployments
    Environments
    Credential vaults
    Memory stores
    Dreams  Preview
    Documentation
    Gabriel
    Admin · Anthropi[illegible]
    The Research Desk

    25:54Demo milestone

  113. 26:07

    Thank you.

  114. 26:08

    Yeah.

  115. 26:08

    Um, quick question. What part of the capabilities in the Claude Agents SDK and what's about it?

  116. 26:16

    Can you... What, what do you, what do you mean?

  117. 26:18

    You, you have the Agent SDK, right? Uh, presumably this is built on top of the Agent SDK. I want to know what part of the capabilities are in the Agent SDK layer, and what's outside of it.

  118. 26:27

    So the, the Agent SDK is packaged for, uh, like m- more, more... It's like a headless Claude code version. So it's actually, we've built a generic version of that. We've tak- taken a lot of inspiration about the benefits and lessons from the Agent SDK, but we've rebuilt, uh, the harness to be a more generic, not just coding specific thing. Um-

  119. 26:47

    So it's sort of a fork?

  120. 26:49

    Uh, yeah.

  121. 26:50

    Yeah. It, it's basically like its own harness. Agent SDK is basically like a Claude code in the form of a binary that you can take and run wherever you want. This is a fully hosted solution running in our cloud, and we have our own harness that's heavily inspired by Claude Code's harness, and we frequently stay, stay in touch for like any enhancements across the board. Uh, I, I saw another hand in the, in the back, uh, over there.

  122. 27:13

    We, we have a question here. Yeah.

  123. 27:15

    A couple more.

  124. 27:15

    Thank you. Uh, I guess the question as you're orchestrating between multiple agents, um, is there some guardrails that those agents would not go into loops and like consume a lot of tokens, um, as they're generating or working together?

  125. 27:28

    Um, some of that we leave up to you to orchestrate and figure out. I mean, we're... If you're building these sort of custom harnesses, there's nothing stopping you from using, uh, like other providers if you wanted to do a sort of multi- uh, multi-provider system. Um, we are exploring the idea of what it means to do like budget, tighter budget controls, so that you can say, "Use no more than this amount of money per session. Use no more than, uh, this amount of tokens per session." Um, but that's not something we offer today.

  126. 28:00

    Um, yeah, go ahead.

  127. 28:01

    Couple more hands.

  128. 28:03

    Question. Uh, earlier you were showing us in console kinda a transcript of the manager and then the sub-agents, and you could kinda go through and see what they were doing. If you were to come across maybe, uh, a mistake or like it was going down the wrong path or you wanted to change history, I mean, obviously that's-

  129. 28:20

    Yeah

  130. 28:20

    ... what's happened, is there some way to correct it or to kinda go back to that point in time and kinda start over, try it with some additional guidance? Is there any- anything like that in here?

  131. 28:30

    You can steer it. So I could, I could, uh, I think here if I say, uh, send event, I could send a new user, uh, .message_event and steer the agent. Uh, it'll queue it up. It's, you know, you can send the 10 messages at a time and it's fine. We don't currently have a way for like rewind and roll forward, um, but that's definitely something that, uh, if, if people are interested, we, we would look into.

  132. 28:52

    Yeah. S- session forking is essentially what you're asking for.

  133. 28:55

    Yeah. Yes, yes.

  134. 28:55

    We've, we've had a couple, a, a few customers who have asked around that. It's, it's, it's on our roadmap, so hopefully we'll have it at some point.

  135. 29:02

    Thank you.

  136. 29:03

    Uh, yeah, I see a couple hands here. If you wanna hand... Yeah. Thank you, Rohan.

  137. 29:08

    Oh. S- so-

  138. 29:11

    Where are you? Okay. Okay. Okay. Yeah, go ahead.

  139. 29:14

    Assuming all of this is running in the cloud-

  140. 29:16

    Yeah

  141. 29:16

    ... like, like, you know, um, you gu- you guys have any roadmap to get collective knowledge across these agents? Like, like say in this one particular application you have 10 users-

  142. 29:26

    Would, would you mind speaking up? It's a little hard to hear.

  143. 29:29

    Oh. So, so if you... Assuming all of this is running in the cloud-

  144. 29:33

    Mm-hmm

  145. 29:33

    ... and this application is being distributed across tens and hundreds of users, and all of them are using it for the purposes of like, you know, doing this financial research, do you have... I, I know you guys have session logs. Is there a collective-

  146. 29:46

    Yeah

  147. 29:46

    ... memory that you guys are looking into or even have a roadmap of?

  148. 29:52

    We have it today. We actually used it in this demo. So we use the m- a memory store, um, that allows you to share knowledge across sessions. Uh, and you can see here that what's happening is, um, the agents are each populating individual information about what they've done so far. Um, and then I'll show you at the end how you can consolidate that knowledge over time using dreaming so that you can continuously improve the memory stores as different agents run into different edge cases and collectively learn from each other.

  149. Inspect shared memory files

    Agents populate a shared memory store across sessions. The open NVIDIA filing note records results and analysis for the desk to read before re-analyzing the company.

    Text in image
    desk-memory  Active
    
    The research desk's accumulated knowledge: one note per company per filing under /companies/<TICKER>/, plus desk-level memos under /memos/. Read before re-analyzing a company; notes persist across sessions.
    
    /companies/NVDA/FY2027-Q1-10-Q.md
    
    NVIDIA Corp (NVDA) — Q1 FY2027 10-Q
    
    Filing
    • Form: 10-Q
    • Fiscal period: Q1 FY2027, quarter ended 2026-04-26 (NVIDIA FY ends late January)
    • Filing date: 2026-05-20
    • Accession: 0001045810-26-000052 | CIK 1045810 | Industry: Semiconductors
    • Comparatives in filing: income stmt vs Q1 FY2026 (ended 2025-04-27); balance sheet vs fiscal year-end 2026-01-25.
    • Analyzed with financials-extractor + risk-analyst specialists; figures cross-checked against XBRL directly.
    
    Numbers (USD millions unless noted; period = Q1 FY2027 ended 2026-04-26 unless stated)
    • Revenue: $81,615 vs $44,062 yr-ago Q1 → +85.2% YoY (computed; MD&A ~85%).
      • Data Center $75,246 (Hyperscaler $37,869; AI Clouds/Industrial/Enterprise $37,377); Edge Computing $6,369.
    • Gross profit: $61,157 → gross margin 74.9% (vs 60.5% yr-ago). YoY jump driven by NON-recurrence of prior-year $4.5B H20 charge (had 11.0% GM hit). Current qtr had ~$0.8B inventory provisions net of $103M release = ~1.2% unfavorable GM impact. No new H20 charge.
    • Operating income: $53,536 → operating margin 65.6%. Total opex $7,621.
    • Net income: $58,321 (diluted EPS $2.39). ⚠ Inflated by $15,929 non-operating “Other income, net” — mostly UNREALIZED gains ($13.4B public equities + $2.6B non-marketable). Pretax $69,903; tax $11,582. Operating income is the cleaner profitability gauge.
    • R&D: $6,321 → 7.7% of revenue (vs $3,989 yr-ago).
    • Cash + marketable securities (2026-04-26): $80,572 = cash & equiv $13,237 + marketable debt secs
    
    Interface text:
    Claude Console
    Memory stores  desk-memory
    Add memory
    Created 13 minutes ago
    companies
    NVDA
    FY2027-Q1-10-Q.md  4.9 KB
    Updated 5 minutes ago
    Edit
    Dashboard
    API keys
    Build
    Workbench
    Files
    Skills
    Batches
    Managed Agents
    Quickstart
    Agents
    Sessions
    Deployments
    Environments
    Credential vaults
    Memory stores
    Dreams  Preview
    Documentation

    30:06Demo milestone

  150. 30:22

    S- s- just to follow up on this, so you're storing this in Anthropic's infrastructure.

  151. 30:27

    That's right.

  152. 30:28

    Let's say if you wanna- delineate that and, and have things running in AWS Bedrock, and I have my own, like, uh, data on our clusters or something for sandboxing. Then you mentioned about self-hosting. How much of a lock-in is this piece versus, like, how flexible is it?

  153. 30:44

    So all of this is API-based, so you, you can extract the memories and put them in different systems if you want to. We don't currently support out of the box other memory providers in the session, but you would just build an MCP or a custom tool to do so. It's the way I would imagine doing it.

  154. 31:02

    A- and also to add to your initial question about, like, having user level org level memory, we do allow for attaching multiple memory stores. So you can imagine having a user level memory store and then having some sort of org-wide memory store, and then you bring both to each session, so you can start collecting user level, uh, as well as org level memories. And then, like Gabe said, n- none of this is locked in. You can, like, take your data and go anywhere else if you wanted to. Ev- everything is an API call.

  155. 31:29

    Yeah.

  156. 31:29

    Um, I had a quick question. As you walked through the agent workflow, I noticed that the, a grader is at the main agent level, right? Like, so how do you grade these sub-agentic tasks that are happening, and then how do you manage memory across those as well?

  157. 31:45

    That's a good question. So, uh, there's two dimensions to this. Sub-agents, in the way that we've built them, are meant to, uh, augment your context and leverage the capabilities of your mo- of your session by collaborating between them. Uh, the outcome definition happens at, like, an overall arching, uh, session level. So you define the outcome, and you say, "This is what I want you to accomplish." The main agent then use it, you know, use the sub-agents to accomplish that work. It collaborates between them, and it eventually

  158. 32:15

    says, uh, "I'm done." Um, there is no currently support for, like, a sub-outcome definition.

  159. 32:22

    Quick follow-up. Like, so as you have this dreaming feature, right? Like, so how do you learn? Like, if the sub-agents have some sort of, you know, uh, you know, off-course sort of actions, then how do you sort of learn from that?

  160. 32:34

    Yeah. Uh, today the dreaming's constrained to, uh, memory stores. So I'll, I'll show you that, uh, uh, in, in a second. But basically the way dreaming works is it will analyze the transcripts and the memories created across multiple sessions, uh, so that it can update its memory so that future agents know what to pull. Um, but you can imagine that we can continue to expand that for skills and for prompts and for agent definitions so that you can... You have this continuous learning, uh, functionality. But right now we just have it for,

  161. 33:04

    for memory stores.

  162. 33:07

    I see a hand here, and then I'll, I'll, I'll go back to-

  163. 33:10

    Hi. Hello.

  164. 33:11

    Yeah.

  165. 33:12

    Here.

  166. 33:12

    Where, where is here?

  167. 33:13

    Here.

  168. 33:14

    Oh, hi.

  169. 33:15

    Thank you. Uh, if you have your, let's say, company data in either, I don't know, traditional store or RAG or whatever, and you want to expose it to these type of agents through a custom CLI or MCP, what would be the safe path to put it in your environment?

  170. 33:32

    Yeah, that's a great question. There's two, two ways to do this. If you are using-- If you can access that, uh, via CLI with an API or via, uh, an MCP, uh, you would just create an MCP, give it, uh, give it the authentication vault, uh, and it would just be able to call your MCP directly. If you don't wanna expose your MCP to the internet, we have a feature called MCP Tunnels, which lets you, uh, create a tunnel from your, um, network into ours so that you don't

  171. MCP tunnels

    The console shows no tunnels yet. MCP tunnels can connect a private MCP server to Claude through a tunnel from your network, without exposing the server to the internet.

    Text in image
    MCP tunnels
    
    Connect Claude to MCP servers on your private network without opening inbound firewall rules.
    
    + New tunnel
    Search tunnels...
    Status: Not archived
    
    ID   Name   Domain   Status   Created at
    
    No tunnels yet
    Create a tunnel to securely connect your private MCP servers to Claude. Learn more
    
    Interface text:
    Claude Console
     gcemaj-research-desk
    Sessions
    Deployments
    Environments
    Credential vaults
    Memory stores
    Dreams  Preview
    Analytics
    Claude Code
    Manage
    Limits
    Members
    Service accounts
    Privacy controls
    Security
    Webhooks
    MCP tunnels  Preview
    Tags
    Documentation
    Gabriel
    Admin · Anthropi...

    33:58Demo milestone

  172. 34:02

    expose it to the internet, and we would do it that way. If, if that's, uh, too big a barrier to climb, we do support self-hosted sandboxes so that you can bring your own sandbox, which has-- which is peered with your network and has access to your applications and services, and the agent would just call the sandbox that you manage and host, um, and be, uh, be able to access your, your resources that way.

  173. 34:27

    Yeah.

  174. 34:28

    Um, I had a question on dependencies for the environments. So I saw something you could load in dependencies. Um, is that at runtime or right before, um, it's created?

  175. 34:40

    It- it's at creation time, uh, and then we'll cache it and reuse, uh, that environment across, like, re- reinstantiations of the sandbox.

  176. 34:49

    So can you specify, like, internal dependencies, or do you have to pick NPM package?

  177. 34:54

    Right, right now, uh, they are all-- they all have to be accessible via NPM, Cargo, uh, PIP, whatever. But you can upload files, uh, directly into, um, the session if... or GitHub repos if you wanna install them that way.

  178. 35:10

    Okay. And one more thing, uh, deployments. I see a tab for that.

  179. 35:13

    Yeah, yeah. I, I'm gonna get to it. I'm gonna-

  180. 35:14

    We're gonna get to that

  181. 35:15

    ... I'm gonna continue to the-- with the demo, and then we'll, we'll do more questions in a second.