Building a Robust Harness for Agents in Production
monday AI engineering ● Covered by 2 sources
monday.com built a safety harness for its feed agent so it doesn’t go off the rails. The big lesson: production AI fails more in the plumbing than in the model.
Based on reporting by monday AI engineering — read the original for the full story.
Summary, retelling and take written by AI under human oversight; images are AI-generated illustrations. How we work · Report an error
monday.com says its feedAgent works like a bowling ball with bumpers. The model does the rolling, but the harness keeps one bad turn from sending the whole run into the gutter with hallucinated citations, broken output, or a loop that keeps spending money.
That was the lesson the team pulled out of building a personalized activity feed for every workspace member. The agent has to pull from multiple sources, reason in loops, call tools, and then return structured output that users can actually act on. It also has to stay grounded: every feed item cites the activities behind it, and the system has to sift through a large amount of workspace data to find what matters.
So the team built the harness by walking the flow phase by phase. Before the agent runs, an activity preprocessor trims bursts of events, removes setup noise, and strips PII before the model ever sees the prompt. A separate alias system replaces raw IDs with short aliases and catches invented references, while prompt caching avoids paying the full token cost for static system text on every run.
Then come the boundaries. The agent is created with runtime settings, tools, a system prompt, and middleware. Output has to pass a schema rather than relying on free-form text. If that fails, the run retries with the validation error fed back as context. And there are hard stops: a model call limit, a recursion limit, and exception handling that keeps failures from spilling straight to the user.
The same idea shows up in the tools and in the exit path. Tools get narrow permissions, clear error messages that tell the model what to do next, and guaranteed cleanup. Once the run ends, hallucinated citations are dropped, duplicate activities are removed, and the whole thing is traced in LangSmith with events that capture duration, counts, model name, tool trajectory, and prompt breakdowns. Feed Memory then feeds user rules and observed behavior back into the next run, while offline and online evals watch for regressions. The punchline is blunt: the model is only one part of the system. The harness is the part that makes it usable.
My take — AI-written commentary, not fact-checked reporting
This is the right way to build agent systems, and it’s mildly embarrassing that it still needs saying out loud. The industry keeps acting like prompt magic is the product, when the real product is a pile of constraints, checks, and boring cleanup that stops the model from freelancing. Open models, closed models, whatever — without a serious harness, both are just expensive improvisers.
Read more about this at: monday AI engineering