I keep seeing companies build agentic systems that sit above coding agents and decide what work should happen.
Recently, I received an email from Cogno by Genaxis promoting their AI system.
Here is how they describe it:
Cogno is the layer above your agent.
You probably built something in-house already. But it fires on a schedule, right? Cron, hooks, a rule somewhere.
Cogno decides its own timing. And more importantly, it decides which tasks not to do.
It watches Slack, GitHub and meetings. It decides on its own when to act. It hands the work to your agent. You just review the PR.
It is written in Lisp, so it rewrites its own workflow while running. That is why you never get junk tasks and it never nags you.
This made me think more deeply and I would like to share my takes on AI agents and their role in decision-making.
More AI activity does not mean better engineering
In my opinion, having an autonomous agent watch over all your interactions and act based on them just introduces more bloat.
Of course, for small typo fixes or dependency upgrades, this is useful, and you save yourself some chores.
For more complex tasks, though, you may think, “Oh, my AI is fixing and improving my codebase.” But what it really does is find a little bit of this and a little bit of that, refactor it into what it thinks is the best code, spend unnecessary tokens reasoning about it, and finally hand you another PR.
The problem is not that every AI-generated change is bad. Some of them may be perfectly fine. The problem is that nobody had a reason to make the change other than the agent finding something it thought could be improved.
Engineering is not about letting AI constantly look for little imperfections and fix everything it finds. The difficult part is having a thought behind every change and understanding the user context.
Slack, GitHub, and meeting transcripts do give the model some context, but not the full context. They do not tell it what users actually feel, which constraints were never written down, why a certain tradeoff was made, or why the team intentionally decided not to change something.
AI may produce code that looks better locally, while making the product worse as a whole.
The more PRs the agent creates and the more code it refactors, the fewer people on the team understand the actual code. The team gets pulled further away from it. Reviewing a PR is not the same as designing the change or writing the code.
The agent does not actually decide its own timing
Another popular concept these days, including in systems like OpenClaw and Cogno, is that the agent “decides its own timing”.
We are using large language models. By design, an LLM does not wake itself up and start thinking. Someone has to send it input first, and then it predicts what comes next.
So how do these products do it? Easy. They set up a cron schedule or some other deterministic trigger, which keeps the agent asking, more or less, “Is there something I should do?”
The model may decide whether to act after it receives the trigger. That is fair. But it did not decide when to wake up.
This part of the email is funny:
You probably built something in-house already. But it fires on a schedule, right? Cron, hooks, a rule somewhere.
While questioning me about my rules, their system also uses triggers and rules somewhere under the hood, since somehow these messages have to reach the LLM. They are recommending that I offload MY OWN RULES and leave them to their “intelligent” AI decision layer, which is less predictable. The rules just moved somewhere I cannot see them, with an LLM added in the middle.
Marketing it as though the agent has the ability to act autonomously is not cool, man.
The claim about Lisp and the agent rewriting itself is also funny. If anything, a system that changes its own workflow while running only creates more questions. How do you audit the changes? How do you know why it made a certain decision? What happens when its improved workflow is actually worse? For a personal agent, such as my Hermes agent, I am fine with it editing its own workflow because it's not in production or doing anything mission-critical. But in production, you cannot afford unsupervised workflow edits.
Being self-modifying is not the same as being intelligent.
AI should execute decisions, not invent them
There are a lot of products trying to replace parts of engineering management or decision-making with AI.
I am not against AI in software development. I use it myself, and it has massively improved my productivity. But right now, AI is good at executing decisions. It is not in a position to make and execute them autonomously.
AI is not a human. It does not know what I or another engineer actually wants to do. It is not going to magically come up with the exact same idea, understand all the same tradeoffs, and choose the exact approach I had in mind. If you hand the idea-creation step to AI, only to spend time later prompting it to change the implementation, does that actually simplify the workflow? You have added another loop where the AI guesses what you want and you correct it afterward.
Too many AI startups claim they are going to “revolutionize” the industry. But when you remove the fancy marketing and grand vision, what remains is still a dumb, predefined workflow where the LLM does the labor.
Decisions are hard, and that’s what makes us human.
0 reads