Agents Aren’t Coworkers, Embed Them in Your Software
This post argues for AI agents designed with the right software patterns so they can react to change, make progress in the background, and stay out of the way.
Full article excerpt tap to expand
Agentic management software is all the hype today: What started with Moltbot and OpenClaw now has a lot of competition: ZeroClaw, Hermes, AutoGPT etc.These systems work well and allow you to train and build generic agent loops that are genuinely helpful. We run quite a few agents ourselves at Feldera: to review code, to help troubleshoot customer issues, to maintain and debug our infrastructure etc.Using agents makes me think about an article a famous computer scientist named Mark Weiser once wrote, titled The Computer for the 21st Century. The article starts with:The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it.- Mark WeiserIn the article Mark envisioned computing that:Fades into the backgroundEnhances life without constant interactionMinimizes demands on attentionIs calm, reliable, and predictableToday's agents, the copilots, the chatbots are designed to be human like.They have a high desire to explain themselves or summarizeThey generate walls of textThey require turn-taking discussionThey mimic human collaboration and ask clarifying questions, may misunderstand or worse assume they understood but do something differentThey need supervisionAll of this needs a high cognitive load to interact, parse and manage.Humans are not a good target for calm technology.What can humans do about it?The fix is not smarter prompts. It is software built to meet agents halfway. Ideally that change happens inside existing software, not in a zoo of external agent runners.Give an agent the right interfaces and it becomes less conversational and more ambient. It no longer needs to constantly ask, explain, summarize, and negotiate. It can stay in the background, react to changes, and make steady progress with less supervision and less noise. That is closer to Weiser’s vision: calm technology, but for machines.So how do you restructure your software to make that possible?A few clear agentic design patterns that make agents less noisy, more effective are already well established:CLI: a good command-line interface makes it easy for an agent loop to interact with your system and saves tokens.Specs: Declarative configs, schemas, manifests. Artifacts that state the desired outcome, not the steps.Reconciliation loops (as popularized by Kubernetes): you declare the target state, let the system continuously converge toward it. Detect if something drifts.Put together, these are useful patterns how existing software can integrate better with agentic loops which leads to less conversation, more convergence. Calm technology for machines.However, it begs a question: what other "agentic software patterns" exist that are not well known today?Agents and database enginesFeldera is a query engine for incremental data processing. It already makes sure to leverage the patterns above: It has a CLI interface. It uses SQL to describe computations declaratively. It orchestrates pipelines through a control plane built around desired-state reconciliation.Another aspect, especially relevant for agents when working with data -- but rarely discussed -- is how data is presented to them. Most systems expose tables, dashboards, CSV exports etc. Agents then have to poll, diff, and guess what changed by running expensive queries on them.But, databases can do better: With change data capture (CDC), the system emits a stream of precise updates: inserts, updates, deletes, each tied to…
This excerpt is published under fair use for community discussion. Read the full article at Feldera.