Building General Purpose AI Agents with Agent Harnesses and Tool Runtimes

langchain_/_arcade · Tech · 2026 · source Agentic: yes · promotional bias: med · source-backed · extracted with prompt 0.5.5 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Enterprise general-purpose agents

LangChain and Arcade describe how to move from single-user coding agents to enterprise-ready general-purpose agents. The system needs an agent harness that gives the model a workspace, planning, sub-agents, context management, and human-in-the-loop controls, plus a separate tool runtime that handles multi-user authentication, authorization, secrets, enterprise integrations, and delegated access to third-party services.

Constraints:

Architecture

The architecture separates a LangChain Deep Agents harness from an Arcade tool runtime. Deep Agents supplies the agent workspace: file-system tools, pluggable real or virtual file backends, planning, sub-agents, skills, context offloading, compaction, and LangGraph human-in-the-loop/durable runtime capabilities. Arcade supplies the external execution layer: MCP gateway, tool registry, delegated authorization, secret injection, contextual access hooks, and integrations with enterprise services. Agent Builder then exposes the stack through a no-code chat interface that modifies agent definition files and connects agents to Arcade tools.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  user-or-enterprise-admin[User or enterprise admin] --> agent-builder-interface[Agent Builder interface]
  user-or-enterprise-admin --> human-approval-inbox[Human approval inbox]
  agent-builder-interface --> deep-agents-harness[Deep Agents harness]
  agent-builder-interface --> agent-definition-files[Agent definition files]
  agent-builder-interface --> arcade-gateway[Arcade gateway]
  agent-definition-files --> deep-agents-harness
  deep-agents-harness --> file-system-workspace[File system workspace]
  deep-agents-harness --> planning-tool[Planning tool]
  deep-agents-harness --> sub-agent-workers[Sub-agent workers]
  deep-agents-harness --> context-manager[Context manager]
  deep-agents-harness --> langgraph-runtime[LangGraph runtime]
  deep-agents-harness --> arcade-gateway
  context-manager --> file-system-workspace
  langgraph-runtime --> human-approval-inbox
  arcade-gateway --> arcade-tool-runtime[Arcade tool runtime]
  arcade-gateway --> tool-registry[Tool registry]
  arcade-tool-runtime --> authorization-store[Authorization store]
  arcade-tool-runtime --> secret-store[Secret store]
  arcade-tool-runtime --> enterprise-policy-hooks[Enterprise policy hooks]
  arcade-tool-runtime --> third-party-services[Third-party services]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
User or enterprise admin Person who creates, configures, authorizes, or approves actions for agents. Agent Builder interface, Human approval inbox
Agent Builder interface No-code conversational interface for creating and evolving agents from templates. Deep Agents harness, Agent definition files, Arcade gateway
Deep Agents harness Agent harness around the LLM that provides workspace tools, planning, sub-agents, context management, skills, and human-in-the-loop controls. File system workspace, Planning tool, Sub-agent workers, Context manager, LangGraph runtime, Arcade gateway
Agent definition files Files such as agent.md, skills, subagents, and mcp.json that define and evolve the agent. Deep Agents harness
File system workspace Real or virtual file system used for agent state, task artifacts, large tool outputs, and definitions. Deep Agents harness, Context manager
Planning tool Harness tool that asks the LLM to generate a plan and place it into context for future generations. Deep Agents harness
Sub-agent workers Focused sub-agents that receive isolated tasks and return final results without sharing all intermediate context. Deep Agents harness
Context manager Harness layer that offloads large tool outputs and saves original messages during compaction. File system workspace
LangGraph runtime Lower-level runtime beneath Deep Agents providing durable execution, streaming, persistence, and human-in-the-loop controls. Human approval inbox
Human approval inbox Approval surface for interrupted write operations, blocked authorizations, and stuck background agents. User or enterprise admin
Arcade gateway Gateway that composes selected MCP tools and exposes them as a secure endpoint to agent harnesses. Arcade tool runtime, Tool registry
Arcade tool runtime Runtime responsible for authentication, delegated authorization, secret injection, contextual access checks, and external tool execution. Authorization store, Secret store, Enterprise policy hooks, Third-party services
Authorization store Stores the subset of user permissions authorized for a specific agent, user, service, and time. Arcade tool runtime
Secret store Stores named secrets scoped to orgs, projects, or users and injects them at runtime rather than context. Arcade tool runtime
Enterprise policy hooks Pre- and post-execution hooks for existing RBAC, PII, Kerberos, entitlement, and verifier systems. Arcade tool runtime
Tool registry Registry that tracks tools, servers, permissions, and gateway composition. Arcade gateway
Third-party services External systems such as Google, Microsoft, GitHub, Slack, calendars, email, and other services the agent acts on. Arcade tool runtime

Data flow

A user or organization creates an agent through Agent Builder or a Deep Agents harness. The agent definition lives as files such as agent.md, skills, subagents, and mcp.json. During execution, the harness plans, reads and writes workspace files, spawns isolated sub-agents, offloads large tool results to files, compacts history when context grows, and interrupts for human approval on risky tools. When the agent needs an external service, it calls through an Arcade gateway. The runtime checks authentication, delegated authorization, secrets, and contextual enterprise policies, then executes the selected third-party tool as the authorized user and returns results to the harness.

6 supporting quotes
“agent harness is a fun term to describe the scaffolding around the model that lets it interact with the environment and do things.”transcript, stated
“where the agent definition is actually stored. So, you can represent an agent as basically an agent.md and skills and an mcp.json. And if you think about all these things that you use in coding agents to define the code to to kind of like guide the coding agents to do things, I would argue”transcript, stated
“One of the things we do is uh that I think other harnesses do as well is offload large tool results to files. So, rather than see like a massive JSON file that's returned from a tool, we'll actually just put that in a file, show you the first 100 lines, say,”transcript, stated
“This runtime has that responsibility of both that authentication and authorization layer as well as that integration layer.”transcript, stated
“You can basically just go inside of Arcade and use our gateway, which essentially takes multiple MCP servers and says, "I want a new MCP server. Give me that tool, that tool, GitHub, Google, Microsoft, this. Make it an MCP server. Now serve it on the”transcript, stated
“when you talk to this agent, all it does is it just modifies those files and it it creates and evolves its definition of an agent along the way.”transcript, stated

Why this architecture

The split keeps local agent cognition and enterprise external access under different control planes. The harness handles the environment the model reasons in, including files, planning, skills, context, and approvals. The runtime handles the external world, where user identity, delegated permissions, secrets, service integrations, and revocation matter. This separation lets a general-purpose agent use coding-agent primitives while still satisfying enterprise security requirements that local MCP servers or raw tokens cannot meet.

5 supporting quotes
“These two things that we can say when we put together make a general purpose agent uh have different responsibilities.”transcript, stated
“LangGraph our runtime as more infrastructural almost. It has durable execution, it has streaming, it has human in the loop, it has persistence.”transcript, stated
“the essence is in the multi-user and authentication, authorization, and third-party services and that the things your users or you want to be able to use. And so how do I access my data and secure uh, my services securely that aren't on my local computer or”transcript, stated
“here that that integration can't be separated from now that the agent is an intermediary. This ends up looking what like what we call delegated agent authorization. Essentially, you're not giving it a user token. You're giving it a portion of your user token for as many services as there”transcript, stated
“this at an enterprise? Um and that's what you see in the core on the right-hand side there. All of this, of course, connects directly to those harnesses that you see. Put it in the LangChain, put it in the LangGraph if you're writing it from scratch, or take Deep Agents and just hook up”transcript, stated

Models used: OpenAI models · Anthropic models · open-source models · GLM · Kimmy

Scale

Alternatives considered (roads not taken)

Treat an agent as only an LLM loop with tools.

Rejected because: The speakers argue production agents need a harness with planning, files, sub-agents, context management, and human approval beyond the bare loop.

“most people would probably technically define an agent as an LLM running in a loop calling tools. Uh so, so what is the difference between that and an agent harness? Basically, an agent harness adds more things in. Um so, you can think of it as having more”transcript, stated
“what is the difference between that and an agent harness? Basically, an agent harness adds more things in. Um so, you can think of it as having more batteries included. And so, what are some of the things that it adds in? One of them very commonly is a”transcript, stated

Run agents directly against a local file system only.

Rejected because: A virtual or pluggable file backend enables remote, sandboxed, and database-backed operation while preserving the file-system interface agents know.

“your real file system that you have. What we have in uh Deep Agents is is that file system it it can be your real file system or it can be a virtual file system. So, we can use a database to store uh quote-unquote files. So, you store it in database, but you represent it as a file”transcript, stated
“This also makes it easy to run uh Deep Agents remotely because you can just plug it into a sandbox or something where the files are stored um uh elsewhere. Um we we have a planning tool in Deep Agents. This is a really simple tool. All it does is it asks the”transcript, stated

Use service tokens for enterprise tool access.

Rejected because: Service tokens are either over-privileged enough to block enterprise adoption or too under-privileged to make agents useful.

3 supporting quotes
“no longer just a web app with social sign-in you can use a user token for. And why is this? Well, there's two failure patterns we see. One is a service token. So, what happens with a service token? Well, it's either got incredibly elevated privileges to the point where no CISO is”transcript, stated
“it's either got incredibly elevated privileges to the point where no CISO is going to let your product be bought at enterprise.”transcript, stated
“privileges to the point where no CISO is going to let your product be bought at enterprise. Or it's got so low privileges your agent's not useful. And it's only good for one maybe local user on their laptop. And that can be helpful, right? For that single user, but when”transcript, stated

Give agents full user tokens or secrets through environment variables.

Rejected because: The runtime instead delegates a scoped subset of user permissions and injects named secrets at execution time to reduce credential exposure.

“Essentially, you're not giving it a user token. You're giving it a portion of your user token for as many services as there are. The way we've approached this is that Arcade will hold uh, hold one token for the subset of permissions you've authorized for”transcript, stated
“please don't put this in your environment variables. Instead, put them in a secret store. In the case of Arcade, we've made it so that each function can be labeled with the secret name, and that can be for an org, project, or a user. And so you have multiple”transcript, stated

Expose all write-capable tools to agents automatically.

Rejected because: Agent Builder defaults write operations into human-in-the-loop approval so confused or prompt-injected agents cannot automatically perform risky actions.

“Builder is basically guardrails about what tools can and cannot get executed automatically. And by default, tools with write operations can't. And so, yeah, like sending emails, I'm still in the loop. I go in and approve. Editing its own memories, you can toggle”transcript, stated
“get executed automatically. And by default, tools with write operations can't. And so, yeah, like sending emails, I'm still in the loop. I go in and approve. Editing its own memories, you can toggle You can toggle this on and off. So, if you want to be riskier, but by default,”transcript, stated

Use only terminal interfaces for general-purpose agents.

Rejected because: The speakers argue non-developer users need more approachable chat/no-code interfaces such as Agent Builder.

“can in fact power general purpose agents. Um I don't I don't really think the interface for general purpose agent is in the terminal. I think that's I I don't think my mom would use that. I think there's a different interface that other people would, and I think you see some ideas with this with”transcript, stated
“what it is is basically a way to create agents in in a no-code way by just chatting with them. One of the things that's built into to Agent Builder is this memory aspect. The memory is just done by modifying the files on the file system. We talked about how”transcript, stated

Patterns

tool-use-orchestration (agent-architecture)

The system treats tool use as two layers: the harness exposes local workspace/tool primitives to the model, while Arcade exposes authenticated external services through a gateway/runtime.

3 supporting quotes
“that agent harness piece. And that's the foundation that gives you that Claude code-like experience.”transcript, stated
“This runtime has that responsibility of both that authentication and authorization layer as well as that integration layer.”transcript, stated
“take Deep Agents and just hook up the MCP server directly. Put it in a scale, name the MCP servers, and it works immediately.”transcript, stated

multi-agent-orchestration (agent-architecture)

Deep Agents supports sub-agents that work on isolated tasks in parallel and report only final results to the main agent.

3 supporting quotes
“We have sub agents in uh in Deep Agents. They work pretty similar to sub agents in other agent harnesses.”transcript, stated
“you give a sub agent a task and it just sees that task. It doesn't see anything previously.”transcript, stated
“that's really good for spinning up a bunch of these in parallel and having them just work on things in a very focused way”transcript, stated

agent-memory (state-management)

Agents are represented as files and Agent Builder evolves their memory/definition by editing those files over time.

3 supporting quotes
“you can represent an agent as basically an agent.md and skills and an mcp.json.”transcript, stated
“One of the things that's built into to Agent Builder is this memory aspect. The memory is just done by modifying the files on the file system.”transcript, stated
“it creates and evolves its definition of an agent along the way.”transcript, stated

context-compaction (context-management)

The harness offloads large tool outputs and saves original messages during compaction so the agent can recover details without filling the context window.

3 supporting quotes
“offload large tool results to files. So, rather than see like a massive JSON file that's returned from a tool”transcript, stated
“this prevents you from kind of like blowing up your context window quickly”transcript, stated
“We save all the original messages into the file system so that if it wants to go look at those later, it absolutely can.”transcript, stated

human-in-the-loop-gate (safety)

LangGraph/Deep Agents expose human approval controls, and Agent Builder defaults write operations such as sending email into approval flows.

3 supporting quotes
“Human in the loop is really important. We built deep agents on top of uh, LangGraph.”transcript, stated
“you can specify whether you want tools to interrupt before they are executed or not.”transcript, stated
“by default, anything with a write operation is generally human in the loop.”transcript, stated

privacy-preserving-processing (security)

Arcade scopes tokens, stores secrets outside the model context, and checks delegated permissions at runtime rather than exposing broad credentials.

3 supporting quotes
“the least level of privilege is given to that agent for that particular user in that particular company.”transcript, stated
“Instead, put them in a secret store. In the case of Arcade, we've made it so that each function can be labeled with the secret name, and that can be for an org, project, or a user.”transcript, stated
“Moving on, it's injected not in context, but I'm going to Well, I should probably should have paused there, shouldn't I?”transcript, stated

safety-policy-enforcement (security)

The runtime enforces per-tool privilege checks, enterprise policies, verifiers, and revocation or step-up authorization flows for sensitive operations.

3 supporting quotes
“the exact level of privilege needed by this action that the agent's going to take”transcript, stated
“you can now say with certainty that no agent will take any action that an authorized user did not authorize them to take”transcript, stated
“I need to be able to have a step-up authorization flow that authorizes a new user to do this exact thing.”transcript, stated

durable-execution (infrastructure)

Deep Agents inherits LangGraph's durable execution, streaming, persistence, and interrupt capabilities as the runtime substrate beneath the harness.

“LangGraph our runtime as more infrastructural almost. It has durable execution, it has streaming, it has human in the loop, it has persistence.”transcript, stated
“we started on Deep Agents, which we think as as as this agent harness.”transcript, stated

Tradeoffs

Split local agent harness from external tool runtime.

Chose separate harness and runtime responsibilities over one layer that handles both model workspace and enterprise integrations.

Rationale: The harness and runtime have different responsibilities: the harness controls local agent capabilities, while the runtime handles authentication, authorization, and integrations that are inseparable once an agent acts as an intermediary.

“These two things that we can say when we put together make a general purpose agent uh have different responsibilities.”transcript, stated
“What is necessary besides that local aspect of a standard IO type MCP server working with a a harness”transcript, stated

Represent agents through files.

Chose agent.md, skills, subagents, and mcp.json as agent definitions over opaque in-memory or database-only agent configuration.

Rationale: File-based definitions align with coding-agent workflows, let the harness inspect and modify definitions, and let Agent Builder evolve agents conversationally.

3 supporting quotes
“the file system is oftentimes where the agent definition is actually stored.”transcript, stated
“you can represent an agent as basically an agent.md and skills and an mcp.json.”transcript, stated
“when you talk to this agent, all it does is it just modifies those files”transcript, stated

Use a pluggable file backend.

Chose real or virtual file system abstraction over hard-coded local file-system access.

Rationale: The abstraction preserves the file model agents understand while enabling database-backed state, remote execution, and sandboxing.

3 supporting quotes
“it it can be your real file system or it can be a virtual file system.”transcript, stated
“you store it in database, but you represent it as a file system to the agent because that's what it knows and that's what it interacts with.”transcript, stated
“This also makes it easy to run uh Deep Agents remotely because you can just plug it into a sandbox”transcript, stated

Delegate scoped permissions instead of sharing broad user credentials.

Chose delegated agent authorization over raw user tokens or broad service tokens.

Rationale: Delegation gives each agent the least privileges required for a specific user, company, service, and time, while producing an auditable authorization record.

3 supporting quotes
“You're giving it a portion of your user token for as many services as there are.”transcript, stated
“the least level of privilege is given to that agent for that particular user in that particular company.”transcript, stated
“with certainty that no agent will take any action that an authorized user did not authorize them to take and that you do not have a log of them saying yes to. And human in the loop of the agent harness is a big part of this because how do you surface when the runtime says no to the user? We do”transcript, stated

Default write operations into approval.

Chose human-in-the-loop for write tools over fully automatic execution of write-capable tools.

Rationale: Write operations such as sending email are useful but risky, so the system keeps the user in the loop unless designers explicitly loosen that control.

3 supporting quotes
“And by default, tools with write operations can't. And so, yeah, like sending emails, I'm still in the loop. I go in and approve.”transcript, stated
“And so, yeah, like sending emails, I'm still in the loop. I go in and approve. Editing its own memories, you can toggle You can toggle this on and off.”transcript, stated
“Editing its own memories, you can toggle You can toggle this on and off.”transcript, stated

Support both user-pass-through and agent identity directions.

Chose infrastructure that can handle user identity and emerging agent identity over assuming agents always act only as the current user.

Rationale: The speakers describe both personal pass-through credentials and emerging agent identities with their own memory and credentials as important future modes.

3 supporting quotes
“does it use Sam's credentials as like a pass-through, or does the agent have its own kind of like identity?”transcript, stated
“Previously, we'd seen everyone always wanted to pass their credentials through.”transcript, stated
“there's this idea of like an agent identity, and it has its memory, and it has its credentials.”transcript, stated

Gotchas (what bit them)

Sub-agent isolation can fail if task handoffs are underspecified.

Root cause: A sub-agent sees only its assigned task and the main agent sees only the final result, so instructions and returned information must be precise.

Resolution: Treat sub-agent prompts and response formats as explicit contracts between main and sub-agent.

“there can absolutely be communication issues here. So, you need the main agent to be specific about what the sub agent should do.”transcript, stated
“And the sub agent needs to respond with the right info. Um if there's breakdowns in either of those, then this doesn't work as intended.”transcript, stated

Naive tool outputs can quickly exhaust context.

Root cause: Large JSON results and accumulated history consume the model context window automatically.

Resolution: Offload large tool results and original messages to files, show only a preview, and let the agent read details when needed.

3 supporting quotes
“rather than see like a massive JSON file that's returned from a tool, we'll actually just put that in a file”transcript, stated
“show you the first 100 lines, say, "Here you go. If you want to see more, you can read the file."”transcript, stated
“We save all the original messages into the file system so that if it wants to go look at those later, it absolutely can.”transcript, stated

Service-token patterns do not map well to enterprise agents.

Root cause: A service token is usually either too powerful for security approval or too weak for useful agent work.

Resolution: Use delegated agent authorization with least-privilege scoped permissions per agent, user, service, and time.

3 supporting quotes
“it's either got incredibly elevated privileges to the point where no CISO is going to let your product be bought at enterprise.”transcript, stated
“Or it's got so low privileges your agent's not useful. And it's only good for one maybe local user on their laptop.”transcript, stated
“Arcade will hold uh, hold one token for the subset of permissions you've authorized for that particular agent at that particular time for that user for that service.”transcript, stated

Legitimately authorized tools can still be used dangerously by a confused or prompt-injected agent.

Root cause: Authorization alone does not prove the agent's proposed action is safe or intended.

Resolution: Use guardrails, human approval for write tools, and custom verifiers on authorization flows.

4 supporting quotes
“the issue of a legitimately authorized tool used maliciously or with emergent misalignment”transcript, stated
“You know, like Harrison, if you're, you know, someone's sending you a prompt injecting your email that then does a thing that does a thing, or the agent gets confused. Yep. >> And I'm just curious how you're approaching that.”transcript, stated
“basically guardrails about what tools can and cannot get executed automatically.”transcript, stated
“And then our layer, we have things like custom verifiers. So, when someone clicks a link to authorize, we're going to either make you go to your IDP, us or LangSmith in the case of Agent Builder.”transcript, stated

Revocation and temporary delegation become operationally hard when employees leave or go on vacation.

Root cause: Agents may depend on a specific user's permissions, leaving managers without visibility or the ability to continue workflows.

Resolution: Build runtime authorization checks, revocation, and step-up flows that delegate exact permissions to a new authorized user.

3 supporting quotes
“this person's on vacation. Now this manager is responsible for or something like that. And now I have no visibility or chain of command over this workflow.”transcript, stated
“how do you change or revoke, even worse, like if they got fired, how do you revoke them?”transcript, stated
“delegating that token and enforcing that at runtime um is a non-trivial challenge.”transcript, stated

Open-source models may not yet reliably drive complex agent harnesses.

Root cause: Tool-rich harnesses require strong model capabilities; infrastructure cannot compensate for poor tool-use reasoning.

Resolution: Benchmark models on Deep Agents and use stronger OpenAI or Anthropic models when performance matters.

3 supporting quotes
“the models do have to be good enough to actually take advantage of all the tools that they're given.”transcript, stated
“if you're using OpenAI or Anthropic right now, those are going to have the biggest kind of like performance.”transcript, stated
“we hooked it up the other day and it wasn't amazing, but we're doing more rigorous testing.”transcript, stated

Evaluation

The talk does not present a formal product evaluation harness, but it does describe operational validation through real enterprise use cases, security reasoning, model benchmarking, and default guardrail behavior. The teams test whether models can reliably drive Deep Agents, compare frontier and open-source model performance, and validate enterprise requirements such as delegated authorization, step-up flows, revocation, and VPC deployment.

Metrics: number of available tools · file-system operations supported · model ability to use the harness tools · enterprise authorization coverage · write-operation approval defaults · VPC deployment support · revocation and step-up authorization support

5 supporting quotes
“we're doing some stuff to benchmark different open source models on on deep agents and see where they see where they stack up.”transcript, stated
“if you're using OpenAI or Anthropic right now, those are going to have the biggest kind of like performance.”transcript, stated
“Over 8,000? Okay, you can connect to over 8,000 tools through there as well.”transcript, stated
“by default, anything with a write operation is generally human in the loop.”transcript, stated
“there are companies that deploy everything we're talking about today entirely inside the VPC.”transcript, stated

Outcomes

The case names six Deep Agents file operations, first-100-lines previews for large tool outputs, over 8,000 Arcade tools, one-and-a-half years of email-assistant use, two-and-a-half years of tool-building lessons, and deployments entirely inside enterprise VPCs.

5 supporting quotes
“Deep Agents, which we think as as as this agent harness. And it really has more of of these batteries uh included things.”transcript, stated
“You can basically just go inside of Arcade and use our gateway, which essentially takes multiple MCP servers”transcript, stated
“It's powered by Deep Agents. You can connect to How how many tools does Arcade have? A thousand? >> Over 8,000.”transcript, stated
“The email assistant is one that I use I use daily. I no longer check my email. I check my email assistant.”transcript, stated
“LinkedIn Recruiter is a good one as well that that we use to kind of like source candidates.”transcript, stated