Production Agents: Real-world Implementations of LLM-powered Autonomous Systems

various · Tech · 2023 · source Agentic: yes · promotional bias: low · source-backed · extracted with prompt 0.5.6 (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: Production autonomous agents across personal assistants, browser automation, and codebase navigation

Practitioners needed to make LLM agents useful in production despite rabbit-hole behavior, tool overload, unreliable browser control, slow response times, codebase-navigation limits, and the risk of doing the wrong thing instead of safely stopping.

Constraints:

Architecture

The panel presents three production agent architectures. Sam's personal assistant uses a ReAct loop with a WebSocket/Redis feedback channel and router/template agents that constrain tools by product flow. MultiOn uses a compressed DOM parser, OCR, browser controller, user override UI, planned critic, authorization rules, and evals for web automation. Devin's GitHub bot indexes repositories, receives issue events through a webhook/topic/cloud-function pipeline, runs a feature-request agent, and uses checkpointing so intermediate findings remain useful even when the agent cannot complete the full request.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  conversational-agent["Conversational agent"] --> feedback-websocket["Feedback websocket"]
  feedback-websocket["Feedback websocket"] --> conversational-agent["Conversational agent"]
  conversational-agent["Conversational agent"] --> router-agent["Router agent"]
  router-agent["Router agent"] --> conversational-agent["Conversational agent"]
  conversational-agent["Conversational agent"] --> template-task-agents["Template task agents"]
  template-task-agents["Template task agents"] --> conversational-agent["Conversational agent"]
  feedback-websocket["Feedback websocket"] --> redis-feedback-store["Redis feedback store"]
  redis-feedback-store["Redis feedback store"] --> feedback-websocket["Feedback websocket"]
  redis-feedback-store["Redis feedback store"] --> template-task-agents["Template task agents"]
  template-task-agents["Template task agents"] --> redis-feedback-store["Redis feedback store"]
  router-agent["Router agent"] --> template-task-agents["Template task agents"]
  template-task-agents["Template task agents"] --> router-agent["Router agent"]
  multion-browser-controller["MultiOn browser controller"] --> compressed-dom-parser["Compressed DOM parser"]
  compressed-dom-parser["Compressed DOM parser"] --> multion-browser-controller["MultiOn browser controller"]
  multion-browser-controller["MultiOn browser controller"] --> ocr-layer["OCR layer"]
  ocr-layer["OCR layer"] --> multion-browser-controller["MultiOn browser controller"]
  multion-browser-controller["MultiOn browser controller"] --> user-override-ui["User override UI"]
  user-override-ui["User override UI"] --> multion-browser-controller["MultiOn browser controller"]
  multion-browser-controller["MultiOn browser controller"] --> critic-agent["Critic agent"]
  critic-agent["Critic agent"] --> multion-browser-controller["MultiOn browser controller"]
  multion-browser-controller["MultiOn browser controller"] --> authorization-panel["Authorization panel"]
  authorization-panel["Authorization panel"] --> multion-browser-controller["MultiOn browser controller"]
  github-issue-event-pipeline["GitHub issue event pipeline"] --> repository-index["Repository index"]
  repository-index["Repository index"] --> github-issue-event-pipeline["GitHub issue event pipeline"]
  github-issue-event-pipeline["GitHub issue event pipeline"] --> feature-request-agent["Feature request agent"]
  feature-request-agent["Feature request agent"] --> github-issue-event-pipeline["GitHub issue event pipeline"]
  repository-index["Repository index"] --> feature-request-agent["Feature request agent"]
  feature-request-agent["Feature request agent"] --> repository-index["Repository index"]
  feature-request-agent["Feature request agent"] --> checkpoint-controller["Checkpoint controller"]
  checkpoint-controller["Checkpoint controller"] --> feature-request-agent["Feature request agent"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Conversational agent Top-level personal-assistant interface that talks with the user and spawns background task agents. Feedback websocket, Router agent, Template task agents
Feedback websocket Real-time user feedback stream written to Redis while the agent is running. Conversational agent, Redis feedback store
Redis feedback store Store read before each planning stage so new user feedback can modify the agent's trajectory. Feedback websocket, Template task agents
Router agent Selects product-flow templates or falls back to a dynamic agent when no template matches. Conversational agent, Template task agents
Template task agents Constrained agents for common flows such as scheduling or context-on-person lookup, each with its own instructions and tool set. Conversational agent, Redis feedback store, Router agent
MultiOn browser controller Browser automation agent that executes web tasks such as ordering, posting, navigation, and AWS changes. Compressed DOM parser, OCR layer, User override UI, Critic agent, Authorization panel
Compressed DOM parser Custom parser that simplifies website HTML into a compact representation for the browser agent. MultiOn browser controller
OCR layer Multimodal augmentation for icons and images that pure DOM text may miss. MultiOn browser controller
User override UI Text box and pause/override controls that let users see and steer current browser-agent commands. MultiOn browser controller
Critic agent Planned verifier that critiques each browser action to improve accuracy at the cost of latency. MultiOn browser controller
Authorization panel Planned control surface for read/write permissions by website. MultiOn browser controller
GitHub issue event pipeline Webhook, topic, and cloud-function path that starts the codebase-navigation agent from a GitHub issue. Repository index, Feature request agent
Repository index Index that is built after installation and updated as the repository evolves. GitHub issue event pipeline, Feature request agent
Feature request agent Code-understanding agent that navigates the repository, finds relevant files/issues, and suggests implementation steps. GitHub issue event pipeline, Repository index, Checkpoint controller
Checkpoint controller Planning/checkpoint structure where each focused agent's end state becomes the next agent's starting point or a useful partial output. Feature request agent

Data flow

A user request enters a conversational or web interface. For personal-assistant tasks, the top-level conversational agent routes the request to a template/background agent and watches a Redis-backed feedback stream before each planning step. For browser automation, the agent receives a task, parses the page DOM into a compressed representation, augments with OCR, controls the browser, and lets the user pause or override. For GitHub work, an issue event triggers a background feature-request agent over an indexed repository; the agent finds relevant files, emits interim checkpoints, and either suggests implementation steps or safely declines unsupported bug requests.

3 supporting quotes
“a stream another websocket that the user could kind of send um communication to while the agent was running and it would write to a redis store”transcript, stated
“the conversational agent as a top level and then the template names and descriptions or themselves tools”transcript, stated
“it pushes the event to um a web hook publishes it to a topic which then runs the cloud function in the background”transcript, stated

Why this architecture

The panelists converge on agents as systems rather than single prompts: routing constrains tool choice, live feedback keeps users in the loop without approving every step, browser automation needs compressed state plus override/authorization, and code agents need checkpoints so partial progress is valuable and unsupported requests can safely stop.

3 supporting quotes
“agents are pretty complex so breaking it down into these user workflows helped me as well”transcript, stated
“it felt it ended up feeling more organic to have this like main conversation where which would control the um other agents being spawned”transcript, stated
“doing nothing is actually the status quo right so um you if you rather than doing the wrong thing it's better to just do nothing”transcript, stated

Models used: GPT-4 · GPT-3.5 · LangChain ReAct-style agents · custom browser agent models

Scale

Alternatives considered (roads not taken)

Ask the user to approve every agent step

Rejected because: The personal-assistant team found constant confirmation frustrating and preferred optional live feedback.

“it's also a little more frustrating to constantly be like yeah I wanted”transcript, stated
“this was a little bit more of like user opt-in driving the agent”transcript, stated

Give one agent every CRUD tool for every API

Rejected because: The agent ran out of context and guessed tool sets poorly.

“create retrieve update delete for like every single API we were doing and the agent quickly ran out of space”transcript, stated
“sometimes it did a poor job guessing”transcript, stated

Use fully automatic browser control with no user override or authorization boundaries

Rejected because: Browser agents can make mistakes on real websites, so users need interpretability, pause/override controls, and site-level permissions.

“you need to be in a sense to be able to like observe them and make sure if they're working autonomously you don't like end up making a mistake”transcript, stated
“they can like pause this execution give it a custom command”transcript, stated

Require the code agent to produce a complete correct PR every time

Rejected because: The GitHub bot explicitly treats partial findings as useful and prefers stopping to doing the wrong thing.

“if the model can't figure out how to change the code but it thinks it's found relevant files it'll just post like here are the relevant files”transcript, stated
“rather than doing the wrong thing it's better to just do nothing”transcript, stated

Patterns

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

Sam's agent lets users intervene mid-execution through live feedback rather than forcing confirmation at every action.

“a real a way to give it real-time feedback and adjust its course as it's actually processing the thought action action input Loop”transcript, stated
“user opt-in driving the agent”transcript, stated

multi-agent-orchestration (agent-architecture)

The examples use router agents, template agents, planner agents, critic agents, and chained focused agents to decompose production workflows.

“this was um heavy use of a router agent”transcript, stated
“there's a planning agent and then so if there's a specific task the first one that it will be like okay is like this uh search agent”transcript, stated

tool-use-orchestration (agent-architecture)

Agents are constrained to workflow-specific tool sets, with router/template selection deciding which tools or sub-agents should execute.

“we tried to basically constrain the agents into different templates”transcript, stated
“the template names and descriptions or themselves tools”transcript, stated

context-compaction (context-management)

MultiOn compresses website DOM state into a compact representation so the browser agent can reason over web pages within context limits.

“we use like a very compressed term representation so we have custom password that can take the whole HTML and simplify it a lot”transcript, stated
“we are actually able to protect 90 of the websites in less than 2K tokens”transcript, stated

eval-driven-development (quality)

The browser-agent team planned critics, evals, and benchmarks to decide where automation is reliable enough for production tasks.

“we might build like say like evals or like benchmarks”transcript, stated
“this is like really reliable on this task and then sort of like uh you know like this won't uh cause an issue”transcript, stated

durable-execution (reliability)

The GitHub bot uses checkpoints, retries, and resumable partial outputs so long-running code-navigation work survives timeouts and remains useful.

“I've been calling it checkpointing”transcript, stated
“retriggering the agent I hash aggressively throughout the kind of process um so it just like resumes”transcript, stated

latency-optimization (performance)

The panel discusses streaming, caching, parallel actions, smaller models, and avoiding critic loops where latency would hurt UX.

“agents are powerful but slow down the response time”transcript, stated
“we streamed everything and we made it an early change to the Callback manager”transcript, stated

Tradeoffs

Use optional live feedback instead of step-by-step confirmations.

Chose User opt-in feedback while the agent runs over Mandatory approval at each action.

Rationale: This keeps the experience seamless while still allowing users to redirect the agent when it goes off course.

“it's also a little more frustrating to constantly be like yeah I wanted”transcript, stated
“user opt-in driving the agent”transcript, stated

Use routers and workflow templates to constrain agents.

Chose Product-flow-specific template agents over One general agent with every API tool.

Rationale: Constrained tool sets and instructions avoided context overflow and helped agents perform common workflows without reinventing the wheel.

“we tried to basically constrain the agents into different templates”transcript, stated
“we basically didn't want the agentf to reinvent the wheel every time it encountered a scheduling event”transcript, stated

Use compressed DOM parsing before vision-heavy browser control.

Chose Custom DOM parser with OCR augmentation over Sending full page context or relying entirely on vision.

Rationale: Full web pages exceed context limits, while the custom parser is fast and compact; OCR fills in icons/images where text misses elements.

“custom password that can take the whole HTML and simplify it a lot”transcript, stated
“contextness because like it's not possible for you to spread the context length of the full domain to AI model”transcript, stated

Prefer useful partial progress over wrong automation in codebase tasks.

Chose Checkpointed partial outputs and safe stopping over Always pushing toward full code changes.

Rationale: Relevant files, similar issues, or code-owner guidance can still reduce work, while wrong code creates confusion.

“this is the code owner you should talk to that is useful even if you can't you know get do the complete the request end to end”transcript, stated
“rather than doing the wrong thing it's better to just do nothing”transcript, stated

Use streaming and caching to offset agent latency.

Chose Streaming outputs, cached LLM calls, smaller/custom models, and parallel actions over Blocking user experience while one slow agent finishes.

Rationale: Agents are slow, and production users need visibility and responsiveness during long-running work.

“we streamed everything and we made it an early change to the Callback manager”transcript, stated
“if they're similar to what the user has done before then instead of calling gpd4 we can just like load it from a cache”transcript, stated

Gotchas (what bit them)

Agents went down rabbit holes without mid-run user steering.

Root cause: The ReAct loop kept executing based on prior observations even when the user saw it pursuing the wrong path.

Resolution: Add a WebSocket/Redis feedback channel read before each planning stage and teach the prompt to prioritize recent user feedback.

“sometimes you'll be like watching them console log as they go off into some rabbit hole”transcript, stated
“before it went on the next planning stage of the loop we would read from the Reddit store and see if there was any um any like new information in the feedback store”transcript, stated

Tool explosion caused poor tool selection.

Root cause: A single agent with CRUD operations across many APIs ran out of context and guessed badly.

Resolution: Constrain agents into product-flow templates with task-specific tools and instructions, plus a fallback dynamic agent.

“create retrieve update delete for like every single API we were doing and the agent quickly ran out of space”transcript, stated
“we decided to think about um the product flows that our user was going to experience frequently”transcript, stated

Browser agents can make real-world mistakes on live websites.

Root cause: Autonomous web control can click or change state on arbitrary websites, including sensitive systems like AWS.

Resolution: MultiOn uses user interpretability, pause/override, planned critic agents, benchmarks, and site-level authorization controls.

“we accidentally crashed the website uh because I was playing with it like a late night at 1am”transcript, stated
“we are also working on building like authorized authorization system”transcript, stated

Critic agents improve accuracy but add latency.

Root cause: Checking every browser action with another agent slows down an experience that users expect to be snappy.

Resolution: Use architecture combinations by use case and optimize between accuracy and speed.

“improves the uh like the accuracy a lot but uh it reduces like the like the it is the cause also like uh in case of the latent server system”transcript, stated
“how do we like optimize between like uh accuracy versus like making it fast”transcript, stated

Code agents should not fabricate complete work when only partial navigation is reliable.

Root cause: Repository navigation and code modification can exceed the model's ability or the implemented agent's scope.

Resolution: Use checkpoints and partial outputs such as relevant files, similar issues, or code owners; unsupported bug requests can be ignored rather than mishandled.

“if the model can't figure out how to change the code but it thinks it's found relevant files it'll just post like here are the relevant files”transcript, stated
“better to just do nothing um in my opinion because otherwise you can just be creating more confusion”transcript, stated

Evaluation

The panel evaluates agents through production usability: whether users can steer them, whether routing improves tool selection, whether browser tasks are reliable on target websites, whether checkpoints produce useful partial progress, and whether streaming/caching/parallelism make latency tolerable.

Metrics: MultiOn claimed roughly 90% website coverage in under 2K tokens · Remaining 5% of websites needing parser customization · DOM parser latency under 10ms · Two-minute timeout pressure on the GitHub bot · Examples of prompt 2.4-style live experiment improvements were discussed as a general production pattern

3 supporting quotes
“we are actually able to protect 90 of the websites in less than 2K tokens”transcript, stated
“we might build like say like evals or like benchmarks”transcript, stated
“the reverse proxy I'm currently using to run this um is I'm having timeouts after two minutes”transcript, stated

Outcomes

The panel covers a six-month personal-assistant effort, MultiOn's claimed 90% website coverage under 2K tokens, a two-minute timeout issue in the GitHub bot, and multiple production latency mitigations such as streaming, caching, smaller models, and parallel actions.

4 supporting quotes
“The implementation uses a parallel WebSocket connection that allows users to send messages while the agent is running.”summary, stated
“you can use it on like uh like do Dash Amazon emails um you've even got it to work on like AWS for example”transcript, stated
“kicks off this feature request agent to try to navigate this repository find the relevant files”transcript, stated
“agents are systems, not just models, requiring careful architecture around planning, execution, and human-in-the-loop interventions.”summary, stated