Answers from the documentation; checking which model is on duty
Hi - I answer from the OpenSmartRoute documentation: routing, the API, plans and quotas, self-hosting. Ask away, or open a support ticket if you need a person.
Grounded in the docs - follow a source before acting on it.
LangChain releases five components for a company harness - OpenSmartRoute
LangChain releases five components for a company harness
LangChain shares five core components for building internal AI agents that work inside existing tools like Slack. The system handles identity, memory, and code execution safely.
Key points
Agents act on behalf of users or with fixed credentials depending on the task.
Memory can be stored globally or scoped to a single user.
Code runs in a sandbox to ensure security during execution.
Most agent runs are scheduled in the background rather than triggered by users.
Why it matters: This gives teams a standard way to build safe, identity-aware agents that work where people already are.
By OpenSmartRoute editorial · written through the router by writer-small
From LangChain blog - “The five components of building a "company harness"”
LangChain released five new components for a company harness. These parts let teams build internal AI agents that work inside existing tools like Slack. The system handles identity, memory, and code execution safely.
LangChain has built internal agents for marketing, sales, and engineering teams. These agents changed how those teams work at the company. It was not easy to get these agents right initially. The team spent a lot of time solving multiplayer harness problems. Every team landed on the same core primitives for their setup.
The first primitive is that the system lives where people already work. For LangChain, this place is Slack. The second primitive is about identity. The system knows who is asking and acts on their behalf for some services. For other services, it acts with its own identity. The third primitive is memory. The system has memory that is scoped globally or at the user level.
The fourth primitive ensures code runs in a sandbox. This sandbox can make requests to services which require authentication. A large percentage of runs are scheduled rather than explicitly invoked by someone. These are called ambient agents.
To ground this discussion, LangChain shared an overview of three main agents. The GTM Agent is a proactive, always-on agent that assists with GTM activities. It monitors and responds to emails and new qualified leads. It sends daily briefs and answers questions about accounts. It can run outbound motions to generate leads.
The OpenSWE agent is the engineering agent for the company. It can work on and draft pull requests. It also runs code reviews over all pull requests. The Content Studio agent is the marketing agent for the company. It can draft assets like blogs, images, PowerPoint presentations, and videos. It does this in the company style with knowledge of their positioning.
All three agents are built in the same way. LangChain thinks this is a general recipe for building company harnesses. All agents live where people already work, which is Slack for them. Each agent has its own Slack app. Users can DM the agent or tag it in a channel. One benefit of working with these agents in channels is that others can see how people use it.
LangChain added the concept of "breaking" out a conversation in Slack. Sometimes a great conversation is happening and you want to add your agent. You might want their opinion or for them to do something. If they ran in that thread, it would pollute the human conversation. It would also distract the human from the main topic. So they added an easy way for agents to "breakout" into their own thread. This keeps the main conversation clean.
Google Workspace now lets you open, edit, and collaborate on markdown files directly in Google Docs and Drive. You can work on .md files without changing the file type.
LangChain released updates to its Deep Agents harness to fix how agents search for information. New tools and patterns help agents retrieve only the exact data they need without wasting context window space.
There are some user experiences that are best not done in Slack. For example, when the GTM Agent wants to send emails, it is fine to do that in a one-off way in Slack. However, if there is a big backlog, it is not a fun experience to track those from Slack messages. For experiences like that, they ended up building a custom UI. This custom UI handles the heavy lifting outside of the chat interface.
The thorniest and trickiest problem they tackled was identity. Specifically, they asked when these agents take actions, who do they take actions on behalf of? There are two main ways this is handled in the industry. The first method is on-behalf-of. In this method, the agent acts on behalf of the user invoking the agent. The second method uses fixed credentials. There is a fixed set of credentials that the agent uses no matter who is invoking it. This often involves a service account.
LangChain handled identity differently for each agent based on the tool. When a user messages the agent, it acts on behalf of that user. For example, it will open up pull requests with the user's GitHub handle. When the agent runs in the background, it acts with its own identity. This happens for example, as a code review agent. It uses a GitHub app for these background tasks.
It has some tools, like Salesforce access, where it uses a fixed identity. This means not everyone has to log in to use these tools. It has some tools, like email, where it acts on behalf of the user invoking the agent. These tools are only available in direct messages. In shared channels, these email tools are not available.
It has some tools, like Notion, where it acts on behalf of the user invoking the agent. This allows the agent to manage user-specific data within the platform. It has some tools, like Twitter, where it uses a fixed set of credentials. In this case, it is for the company Twitter account. Only a whitelisted set of users can invoke certain operations here. For example, not everyone can post to Twitter. They may only be able to read or draft posts.
Global memory is memory that applies to all users in the system. User memory is memory that only applies to the specific user asking the question. Agents decide which facts they want to remember to which level of memory. This is probably the least explored area so far. The team has a lot of work they want to do here.
All three agents can write and execute code. They often need to do this in order to accomplish tasks. They all follow the pattern of running outside the sandbox. They connect to the sandbox and execute code inside it. They all have slightly different base images with different dependencies. OpenSWE is the most coding related agent. It is intelligent about which base image it spins up. This differs based on the channel or the user.
They all take advantage of the secret proxy on LangSmith Sandboxes. This allows the agent to connect to services in a safe and secure way. It does this from inside the sandbox itself. A large percent of runs are scheduled or triggered in the background by events. These runs are rather than being directly kicked off by a user.
Some of these runs are set up by the developer of the agent. For example, OpenSWE listens for pull requests. When a new one is created, it reviews it. Others of these runs are set up by the user asking the agent to do so. For example, a user asked the GTM agent to send them a daily brief. The agent created its own cron to do this task.
All these agents are built on Managed Deep Agents. This sits on top of the open source Deep Agents harness. It provides infrastructure to solve all these problems. These problems include channels, crons, sandboxes, memory, and identity. It provides enough flexibility to customize agent behavior as needed. Teams can try this out today with the quickstart guide.
Context engineering starts with retrieval. Context engineering is how the system manages what information the agent sees. Deep agents remember facts through context engineering. This helps build great out-of-the-box user experiences. Managed Deep Agents provides the necessary infrastructure for this.
Why it matters
Identity and memory control are critical for safe and scalable agent adoption.
Highlights
LangChain released five components for a company harness.
The system handles identity, memory, and code execution safely.
Agents can act on behalf of users or with fixed credentials.
Memory can be scoped globally or at the user level.
A large percent of runs are scheduled ambient agents.
Outline
What LangChain announced with its new company harness components
The three main agents LangChain built to demonstrate the system
How the harness lives where people already work in Slack
The tricky problem of agent identity and who they act for
How memory is stored globally or at the user level
Why it matters for teams running agents today
How OpenSmartRoute helps teams integrate these components
What to do if you want to build a similar harness
LangChain announced five new components for a company harness. These components allow teams to build internal AI agents that work inside existing tools like Slack. The system handles identity, memory, and code execution safely. This announcement provides a blueprint for other teams looking to deploy similar systems.
The team spent a lot of time solving the problems that come with a multiplayer harness. Every team landed on the same core primitives for their setup. These primitives include living where people already work and handling identity correctly. Code runs in a sandbox and can make requests to services which require auth. A large percent of runs are scheduled rather than explicitly invoked by someone. These are called ambient agents.
The three main agents LangChain built to demonstrate the system are the GTM Agent, OpenSWE, and Content Studio. The GTM Agent is a proactive, always-on agent that assists with GTM activities. It monitors and responds to emails and new qualified leads. It sends daily briefs and answers questions about accounts. It can run outbound motions to generate leads.
The OpenSWE agent is the engineering agent for the company. It can work on and draft pull requests. It also runs code reviews over all pull requests. The Content Studio agent is the marketing agent for the company. It can draft assets like blogs, images, PowerPoint presentations, and videos. It does this in the company style with knowledge of their positioning.
All three agents are built in the same way. LangChain thinks this is a general recipe for building company harnesses. All agents live where people already work, which is Slack for them. Each agent has its own Slack app. Users can DM the agent or tag it in a channel. One benefit of working with these agents in channels is that others can see how people use it.
LangChain added the concept of "breaking" out a conversation in Slack. Sometimes a great conversation is happening and you want to add your agent. You might want their opinion or for them to do something. If they ran in that thread, it would pollute the human conversation. It would also distract the human from the main topic. So they added an easy way for agents to "breakout" into their own thread. This keeps the main conversation clean.
There are some user experiences that are best not done in Slack. For example, when the GTM Agent wants to send emails, it is fine to do that in a one-off way in Slack. However, if there is a big backlog, it is not a fun experience to track those from Slack messages. For experiences like that, they ended up building a custom UI. This custom UI handles the heavy lifting outside of the chat interface.
The thorniest and trickiest problem they tackled was identity. Specifically, they asked when these agents take actions, who do they take actions on behalf of? There are two main ways this is handled in the industry. The first method is on-behalf-of. In this method, the agent acts on behalf of the user invoking the agent. The second method uses fixed credentials. There is a fixed set of credentials that the agent uses no matter who is invoking it. This often involves a service account.
LangChain handled identity differently for each agent based on the tool. When a user messages the agent, it acts on behalf of that user. For example, it will open up pull requests with the user's GitHub handle. When the agent runs in the background, it acts with its own identity. This happens for example, as a code review agent. It uses a GitHub app for these background tasks.
It has some tools, like Salesforce access, where it uses a fixed identity. This means not everyone has to log in to use these tools. It has some tools, like email, where it acts on behalf of the user invoking the agent. These tools are only available in direct messages. In shared channels, these email tools are not available.
It has some tools, like Notion, where it acts on behalf of the user invoking the agent. This allows the agent to manage user-specific data within the platform. It has some tools, like Twitter, where it uses a fixed set of credentials. In this case, it is for the company Twitter account. Only a whitelisted set of users can invoke certain operations here. For example, not everyone can post to Twitter. They may only be able to read or draft posts.
Global memory is memory that applies to all users in the system. User memory is memory that only applies to the specific user asking the question. Agents decide which facts they want to remember to which level of memory. This is probably the least explored area so far. The team has a lot of work they want to do here.
All three agents can write and execute code. They often need to do this in order to accomplish tasks. They all follow the pattern of running outside the sandbox. They connect to the sandbox and execute code inside it. They all have slightly different base images with different dependencies. OpenSWE is the most coding related agent. It is intelligent about which base image it spins up. This differs based on the channel or the user.
They all take advantage of the secret proxy on LangSmith Sandboxes. This allows the agent to connect to services in a safe and secure way. It does this from inside the sandbox itself. A large percent of runs are scheduled or triggered in the background by events. These runs are rather than being directly kicked off by a user.
Some of these runs are set up by the developer of the agent. For example, OpenSWE listens for pull requests. When a new one is created, it reviews it. Others of these runs are set up by the user asking the agent to do so. For example, a user asked the GTM agent to send them a daily brief. The agent created its own cron to do this task.
All these agents are built on Managed Deep Agents. This sits on top of the open source Deep Agents harness. It provides infrastructure to solve all these problems. These problems include channels, crons, sandboxes, memory, and identity. It provides enough flexibility to customize agent behavior as needed. Teams can try this out today with the quickstart guide.
Context engineering starts with retrieval. Context engineering is how the system manages what information the agent sees. Deep agents remember facts through context engineering. This helps build great out-of-the-box user experiences. Managed Deep Agents provides the necessary infrastructure for this.
Why it matters
Identity and memory control are critical for safe and scalable agent adoption.
Highlights
LangChain released five components for a company harness.
The system handles identity, memory, and code execution safely.
Agents can act on behalf of users or with fixed credentials.
Memory can be scoped globally or at the user level.
A large percent of runs are scheduled ambient agents.
Outline
What LangChain announced with its new company harness components
The three main agents LangChain built to demonstrate the system
How the harness lives where people already work in Slack
The tricky problem of agent identity and who they act for
How memory is stored globally or at the user level
Why it matters for teams running agents today
How OpenSmartRoute helps teams integrate these components
What to do if you want to build a similar harness
LangChain announced five new components for a company harness. These components allow teams to build internal AI agents that work inside existing tools like Slack. The system handles identity, memory, and code execution safely. This announcement provides a blueprint for other teams looking to deploy similar systems.
The team spent a lot of time solving the problems that come with a multiplayer harness. Every team landed on the same core primitives for their setup. These primitives include living where people already work and handling identity correctly. Code runs in a sandbox and can make requests to services which require auth. A large percent of runs are scheduled rather than explicitly invoked by someone. These are called ambient agents.
The three main agents LangChain built to demonstrate the system are the GTM Agent, OpenSWE, and Content Studio. The GTM Agent is a proactive, always-on agent that assists with GTM activities. It monitors and responds to emails and new qualified leads. It sends daily briefs and answers questions about accounts. It can run outbound motions to generate leads.
The OpenSWE agent is the engineering agent for the company. It can work on and draft pull requests. It also runs code reviews over all pull requests. The Content Studio agent is the marketing agent for the company. It can draft assets like blogs, images, PowerPoint presentations, and videos. It does this in the company style with knowledge of their positioning.
All three agents are built in the same way. LangChain thinks this is a general recipe for building company harnesses. All agents live where people already work, which is Slack for them. Each agent has its own Slack app. Users can DM the agent or tag it in a channel. One benefit of working with these agents in channels is that others can see how people use it.
LangChain added the concept of "breaking" out a conversation in Slack. Sometimes a great conversation is happening and you want to add your agent. You might want their opinion or for them to do something. If they ran in that thread, it would pollute the human conversation. It would also distract the human from the main topic. So they added an easy way for agents to "breakout" into their own thread. This keeps the main conversation clean.
There are some user experiences that are best not done in Slack. For example, when the GTM Agent wants to send emails, it is fine to do that in a one-off way in Slack. However, if there is a big backlog, it is not a fun experience to track those from Slack messages. For experiences like that, they ended up building a custom UI. This custom UI handles the heavy lifting outside of the chat interface.
The thorniest and trickiest problem they tackled was identity. Specifically, they asked when these agents take actions, who do they take actions on behalf of? There are two main ways this is handled in the industry. The first method is on-behalf-of. In this method, the agent acts on behalf of the user invoking the agent. The second method uses fixed credentials. There is a fixed set of credentials that the agent uses no matter who is invoking it. This often involves a service account.
LangChain handled identity differently for each agent based on the tool. When a user messages the agent, it acts on behalf of that user. For example, it will open up pull requests with the user's GitHub handle. When the agent runs in the background, it acts with its own identity. This happens for example, as a code review agent. It uses a GitHub app for these background tasks.
How OpenSmartRoute helps
Teams using OpenSmartRoute gain immediate clarity on costs when agents handle internal tasks. The system shows exactly how much each routed request cost compared to the most expensive model option. This ledger helps managers decide which agent components fit their budget for Slack or other tools.
The router automatically applies hard rules to protect sensitive data. If an agent needs to process personal information, OpenSmartRoute sends it only to on-premises models. This prevents data from leaving the secure environment without any manual intervention.
Engineers can set up the new LangChain components as catalogue entries in the OpenSmartRoute system. The router scores these agents on quality, cost, speed, and safety before sending traffic. As the team runs agents, the system learns from outcomes to route better requests over time.
Google released a new extension system for its Agents CLI tool. This allows teams to use LangChain or other frameworks while keeping the same deployment and evaluation commands.