Automation is not novel.
Programmers write scripts, cron jobs, workflows, webhooks, RPA bots, and event-driven pipelines all the time.
The typical process could be described like this:
Event
↓
Check conditions
↓
Perform action
↓
Modify system
↓
Notify user
Works superbly well for predictable processes.
However, what if the system has to interpret data, select from multiple actions, or respond to the things it wasn't explicitly programmed for?
It's when AI agents become exciting.
Traditional Automation Is Predictable
A traditional automation solution usually follows predetermined logic.
For example:
New order
↓
Check inventory
↓
Inventory is available?
↓
Yes → Create invoice
↓
Confirm
Every branch is predetermined by the developer.
It's great because it ensures:
Predictable behavior
Testability
Debuggability
Simplicity of operation
Traceability
Determinism
Exactly what is needed for stable processes.
There is no need to implement an AI agent for running database backups on schedule.
The agent can choose to:
Search Order Database
↓
Search Inventory API
↓
Search Shipping System
↓
Analyse Results
↓
Identify Likely Cause
↓
Suggest Next Step
The developer doesn’t explicitly build every possible path.
The agent decides what tools to use based on its inputs and what it does next.
That’s the paradigm shift.
Rules vs Goals
An illustrative mental model is:
Automation:
"Follow these instructions."
AI Agent:
"Achieve this goal with these tools."
This doesn't imply AI agents are better suited for everything.
It implies they were built to solve a different type of problem.
When the process is predictable, automation may be preferable.
When the process involves interpretation and decision-making, agents may offer more flexibility.
AI Agents Also Need Deterministic Systems
One fallacy is that AI agents replace APIs, databases, workflows, software.
In reality, they rely on those a lot.
The agent can figure out what should be done, but it will need something to execute it.
Example:
AI Agent
↓
Reasoning
↓
Tool Selection
↓
API / Database / Search
↓
Result
↓
Next Action
Cron job will do the trick better.
AI Agents Allow for Dynamic Action Selection
An AI agent functions differently.
Instead of coding all the branches, the developer specifies the goal and provides access to certain tools.
For example:
Objective:
Find out why the order was delayed.
This is why AI agents should be considered as a supplementary layer of decision-making and not as a replacement of traditional software altogether.
A Hybrid Approach Is More Appropriate
Let us consider the case of an invoicing investigation tool.
Instead of providing AI with full freedom, developers may design a controlled workflow:
┌───────────────┐
│ AI Agent │
│ Reasoning │
└───────┬───────┘
↓
Select approved tool
↓
┌───────────────┼───────────────┐
↓ ↓ ↓
Invoice API Payment API Customer DB
│ │ │
└───────────────┼───────────────┘
↓
Analyse results
↓
Recommendation
↓
Human review
Agent takes care of interpreting decisions.
Software layer takes care of executing actions.
A human can stay in the loop in case the decision is critical.
Such approach allows one to achieve a good balance of flexibility and control.
Under What Conditions Should Developers Go for Traditional Automation?
Go for conventional automation in case:
the workflow is predictable;
rules are well-defined;
same steps take place regularly;
deterministic behaviour is crucial;
auditability of processes is needed;
interpretation of actions is not required.
Examples include:
scheduled tasks;
data synchronization;
backups;
ETL pipelines;
regular notifications;
CI/CD pipelines;
fixed approval processes.
Adding an LLM to these systems won't necessarily improve them.
Sometimes it will only complicate maintenance.
When Are AI Agents More Suitable?
Agents tend to be useful if there is:
Unstructured data to process
Ambiguity in the request
Several options for solutions
Dynamic work processes
Natural language communication
Research and investigation
Reasoning across several steps
Take a helpdesk ticket as an example.
The traditional process would go like this:
If category = billing
→ Send to billing department
An AI agent could do something more like:
Read the ticket
↓
Analyse the problem
↓
Retrieve the customer’s account info
↓
Check the necessary documentation
↓
Explore the problem
↓
Figure out several potential solutions
↓
Propose or execute a solution after approval
The second case requires way more controls, but it can manage things that are harder to codify into rules.
Engineering Concerns: The Guardrails
Accessing the tools doesn’t mean letting AI do anything.
The agentic system needs guardrails.
For example:
Read-only access
Give access to information retrieval.
Limited write access
Provide access to actions via API.
Approval gates
Mandatory human approval before certain actions.
Tool access limits
Expose only what is needed for the agent to function.
Logging
Log certain actions and decisions of the AI.
Monitoring
The Future is Likely Both
The discussion should not focus on:
Traditional automation versus AI agents
Instead, a more appropriate structure would be:
Deterministic systems + AI logic + human intervention
Apply traditional automation if the system is predictable.
Apply AI agents if the role of interpretation and decision making adds value.
Include humans when accountability or judgment comes into play.
The best AI systems don't need to replace current systems.
Rather, they will overlay the current system and interface with it using controlled tools to simplify previously complicated workflows.
For engineers, the question should not be:
"How can I make this workflow an AI agent?"
But rather:
"What part of this workflow needs to reason?"
Top comments (0)