{"id":14815,"date":"2026-11-03T16:19:32","date_gmt":"2026-11-03T15:19:32","guid":{"rendered":"https:\/\/elementapp.ai\/blog\/?p=14815"},"modified":"2026-11-03T16:19:32","modified_gmt":"2026-11-03T15:19:32","slug":"automated-company-part-3-supervisor-executor-critic","status":"publish","type":"post","link":"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/","title":{"rendered":"The Automated Company, part 3: supervisor, executor, critic"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"14815\" class=\"elementor elementor-14815 elementor-bc-flex-widget\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-660f07e9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"660f07e9\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-36f27fc\" data-id=\"36f27fc\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-63a4c3c6 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"63a4c3c6\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2685107\" data-id=\"2685107\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-47e0516b elementor-widget-divider--view-line_icon elementor-view-default elementor-widget-divider--element-align-center elementor-widget elementor-widget-divider\" data-id=\"47e0516b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon elementor-divider__element\">\n\t\t\t\t\t<i aria-hidden=\"true\" class=\"far fa-bookmark\"><\/i><\/div>\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5b26e9cf elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5b26e9cf\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-757b62ca\" data-id=\"757b62ca\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1e348173 elementor-widget elementor-widget-heading\" data-id=\"1e348173\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">The Automated Company, part 3: supervisor, executor, critic<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dw54432 elementor-widget elementor-widget-text-editor\" data-id=\"dw54432\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t2026-11-03\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5736439b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5736439b\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-df5d8a\" data-id=\"df5d8a\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ddb5e49c elementor-widget elementor-widget-text-editor\" data-id=\"ddb5e49c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>This is the third part of &#8220;The Automated Company&#8221; series.<\/strong> In <a style=\"color: #0000ff\" href=\"https:\/\/elementapp.ai\/blog\/automated-company-part-1-why-we-build-it\/\" target=\"_blank\" rel=\"noopener\">part one<\/a> I wrote about why at <a href=\"https:\/\/elementapp.ai\/eng\/ats-all-you-need-to-know\" target=\"_blank\" rel=\"noopener\" style=\"color: #0000ff\">Element<\/a> we hand routine work to automations. In <a style=\"color: #0000ff\" href=\"https:\/\/elementapp.ai\/blog\/automated-company-part-2-company-map\/\" target=\"_blank\" rel=\"noopener\">part two<\/a> I showed the company map, a list of processes and automations that is a good place to start. Today I describe who builds these automations for us and who checks them. If you read Polish, there is also <a style=\"color: #0000ff\" href=\"https:\/\/elementapp.ai\/blog\/firma-automatyczna-czesc-3-nadzorca-wykonawca-krytyk\/\" target=\"_blank\" rel=\"noopener\">a Polish version of this article<\/a>.<\/p>\n<p>An AI agent that has written code and tested it itself usually reports that everything works. That report sounds convincing even when the code has a serious bug. That is why we split the work between three roles.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8634e8f2 elementor-widget elementor-widget-heading\" data-id=\"8634e8f2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Three roles<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8c33f78d elementor-widget elementor-widget-text-editor\" data-id=\"8c33f78d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul>\n<li><strong>The supervisor<\/strong> plans the work, divides it into parts, writes a detailed specification, checks the finished code line by line and decides whether a change goes into the running system.<\/li>\n<li><strong>The executor<\/strong> writes code and tests according to the specification.<\/li>\n<li><strong>The critic<\/strong> is a separate agent that receives the finished result, the goal and the rules that must not be broken. It knows neither the supervisor&#8217;s reasoning nor the history of the conversation. It looks for errors, and the decision about what to do with them stays with the supervisor.<\/li>\n<\/ul>\n<p>I set the goals and settle whatever the agents should not settle on their own. This is how our automations work and how we develop <a style=\"color: #0000ff\" href=\"https:\/\/elementapp.ai\/eng\/ats-all-you-need-to-know\" target=\"_blank\" rel=\"noopener\">Element<\/a>, both the code of the recruitment system and the automation of the company&#8217;s business processes.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9a00481f elementor-widget elementor-widget-heading\" data-id=\"9a00481f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">How to set up these roles<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ca1d939f elementor-widget elementor-widget-text-editor\" data-id=\"ca1d939f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In practice, a role is a few paragraphs of text and a separately started session with an AI model. To begin with, all you need is a tool for working with agents, such as Claude Code or Codex.<\/p>\n<ol>\n<li><strong>You set up the supervisor in a rules file.<\/strong> When an agent starts work, it reads a file with instructions: CLAUDE.md in Claude Code, AGENTS.md in Codex. In that file you write that the main session plans and checks, does not write code itself and hands the coding to the executor. These rules apply in every conversation, so you do not have to repeat them.<\/li>\n<li><strong>The executor gets a separate session and one task.<\/strong> The supervisor receives a task from me and writes it down in a file: what to change, where, and which tests have to pass. Then, with a simple script, it starts another model (the executor), passes it that file and points it to a separate copy of the code. In our setup the same script keeps track of the order of models, so when the first one reaches its limit, the next one gets the task.<\/li>\n<li><strong>The critic gets a new, empty session.<\/strong> When the executor has finished, the supervisor starts a new agent (the critic) with no conversation history and gives it the executor&#8217;s work, the goal and the rules that must not be broken. The instruction can be short: &#8220;You are an independent critic. Here is the change and its goal. Find the errors and give evidence for them. Do not fix anything. If something cannot be checked, say so plainly.&#8221;<\/li>\n<\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3abfd67a elementor-widget elementor-widget-heading\" data-id=\"3abfd67a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">How the agents know what to do and in what order<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d1f3bda7 elementor-widget elementor-widget-text-editor\" data-id=\"d1f3bda7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The supervisor runs the whole process, because the order is written in the rules file. The executor and the critic each get one task from the supervisor, do the task and hand back the result. In our case it looks like this:<\/p>\n<ol>\n<li>I give the goal.<\/li>\n<li>The supervisor checks the current system and writes the specification, a detailed description of the task.<\/li>\n<li>The executor writes code and tests on a separate copy.<\/li>\n<li>The supervisor reads the change line by line and runs the tests itself.<\/li>\n<li>For risky work, the critic looks for errors, and then the supervisor checks every reported error.<\/li>\n<li>If something needs fixing, the executor gets a description of the specific error.<\/li>\n<li>The supervisor puts the change into the running system and records it in the change log.<\/li>\n<\/ol>\n<p>A rule in a file is not always enough, because an agent can skip it. We measured this: when the rule about running the critic existed only as text, the agents did not follow it. That is why, for the riskiest actions, such as an email to a client sent by an agent or deleting data, we also have technical blocks that stop the agent. I will describe them in a separate part of the series.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-53ee03ab elementor-widget elementor-widget-heading\" data-id=\"53ee03ab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Roles and models<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a9589c84 elementor-widget elementor-widget-text-editor\" data-id=\"a9589c84\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Today the supervisor is usually Claude Opus 5.5. It is the best model according to the leading rankings, but also the most expensive. The work designed by the supervisor goes first to Grok, then to Codex and finally to Gemini. This order has already changed several times and will probably change again, so in the company&#8217;s rules we commit to roles and not to models. Specific models are just the current cast for those roles. When one model reaches its limit, the next one takes over the task automatically. In September the first executor completed 168 advanced tasks, hit its limit 46 times, and each time another model was available to take over the work.<\/p>\n<p>An executor that has written something does not assess its own work. Given that all of us find it easiest to overlook our own assumptions, I see no reason why models should be any different. Below are five situations from our company that show this.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fa236960 elementor-widget elementor-widget-heading\" data-id=\"fa236960\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Example 1: 526 passing tests and 13 bugs<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-900361b8 elementor-widget elementor-widget-text-editor\" data-id=\"900361b8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The executor connected a paid service that checks whether email addresses are valid. This was part of automating our sales processes. The first version passed 526 tests. An independent critic found 13 bugs in it, including one that concerned the budget: when the service&#8217;s response did not include information about the cost, all spending limits could be bypassed, which could have left us with an unexpected bill.<\/p>\n<p>I suspect the tests did not catch this because they were written with the same assumption as the code, namely that the service always reports the cost. A test checks what its author considered possible. So a passing result says a lot about the author&#8217;s consistency with themselves, and much less about what will happen in the real world. The critic did not have those assumptions, so it could check scenarios that the executor&#8217;s tests had not anticipated.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dd0a63f1 elementor-widget elementor-widget-heading\" data-id=\"dd0a63f1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Example 2: a refusal read as agreement<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8eb33081 elementor-widget elementor-widget-text-editor\" data-id=\"8eb33081\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Most of our sales conversations are automated. When a client writes that they have decided to work with us, the automation moves the conversation in the CRM to the agreement stage and prepares a draft of the next email: a request for the data needed to set up the system and a note that the contract is coming. Our automation recognized this decision partly by typical phrases. The tests on sample sentences passed. The critic checked the rule on real emails, and it turned out that the same phrase also appears in polite refusals, when a client writes that they have chosen another vendor. Because of this, one conversation in the CRM sat at the agreement stage even though the client had refused, which distorted our view of sales. For another client, who had turned us down three years earlier, a draft asking for contract data would have been created. If such an email had gone out, we would have looked unprofessional. The automation&#8217;s log since the end of August does not contain a single such message, so no harm was done.<\/p>\n<p>On the same day, four of about 25 fixes from the executors passed their tests but were wrong, as the critic showed on real emails. During implementation, the executor had prepared tests with sentences that were much clearer and more obvious than what clients actually write. Accordingly, we adopted a rule that changes to how we recognize client replies are checked by a critic with access to real correspondence.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cb2c1101 elementor-widget elementor-widget-heading\" data-id=\"cb2c1101\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Example 3: a block that worked the wrong way round<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fea9cd4a elementor-widget elementor-widget-text-editor\" data-id=\"fea9cd4a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>When a company declines to work with us, we want to leave it alone for longer. We will get in touch again in the future to see whether anything has changed that makes it worth talking again. The change meant to introduce this was written, and the tests passed. The critic found that in practice the opposite was happening: during the pause, the automation could still contact other people at that company, so they could get an email from us right after their company had said no.<\/p>\n<p>The executor&#8217;s tests checked only what the executor had implemented, namely stopping communication with the contact person. They did not cover the situation where the CRM holds several contact people at one company. The critic caught a bug the executor had not foreseen. We now have a rule that the specification of every change to who does not receive emails from us includes a table of all the situations a company can be in (for example open conversation, pause, end of pause) and the transitions between them, with a separate test for each row.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-58391cca elementor-widget elementor-widget-heading\" data-id=\"58391cca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Example 4: code that ran before it was checked<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ea4b25b elementor-widget elementor-widget-text-editor\" data-id=\"7ea4b25b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The executor was changing the automation that replies to people who write to us through the contact form on our website, meaning potential clients. It edited files in the folder this automation runs from, and the automation starts every 10 minutes. Four minutes after the change, the scheduler started the new code before anyone had read it. Unchecked code could therefore reply to real clients straight away. The supervisor did not notice this. The critic did. Tests would not have shown it, because the problem was about where and when the change was made. Executors now work on a separate copy, so a change reaches the running system only after it has been checked.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-97436c2b elementor-widget elementor-widget-heading\" data-id=\"97436c2b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Example 5: the supervisor makes mistakes too<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d0625d32 elementor-widget elementor-widget-text-editor\" data-id=\"d0625d32\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>A blacklist is a list of companies and people we must not write to. Companies that have asked us not to contact them again go on this list. The supervisor prepared a work plan under which thousands of CRM entries would have gone on it, including many companies we were in the middle of sales conversations with. We would have cut those conversations off ourselves. The executor, which did not know the supervisor&#8217;s reasoning, stopped the work before changing anything.<\/p>\n<p>In my opinion, the executor noticed this error precisely because it did not know what the supervisor had established earlier. Whoever knows the whole history of a decision looks at the result through the same assumptions that led to it.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b664ca91 elementor-widget elementor-widget-heading\" data-id=\"b664ca91\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">When we do not run the critic<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-179153cf elementor-widget elementor-widget-text-editor\" data-id=\"179153cf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Every check by a critic is extra work by an AI model, and we pay for it. So we run it where a mistake is expensive or cannot be undone: for emails to clients, for changing a lot of data at once, for documents leaving the company and for paid services. When an error is easy to fix, we skip the critic.<\/p>\n<p>We also tested whether it is worth checking the same thing many times in a row. Such a series cost over a million tokens (the units in which the work of AI models is billed) and found about as much as a single check.<\/p>\n<p>The critic makes mistakes too, so we do not take its word for it. The supervisor checks every reported error itself and only then decides. Each of these roles can get things wrong. They rarely get the same thing wrong, though, which is why having three agents check the code independently is an effective way to reduce the risk of errors in the final version.<\/p>\n<p>In the next part of the series I will describe how we write down the way the company works in a single set of rules, so that every agent knows it, regardless of vendor.<\/p>\n<p>Read more about what an <a style=\"color: #0000ff\" href=\"https:\/\/elementapp.ai\/eng\/ats-all-you-need-to-know\" target=\"_blank\" rel=\"noopener\">ATS<\/a> is and how <a style=\"color: #0000ff\" href=\"https:\/\/elementapp.ai\/eng\/ats-all-you-need-to-know\" target=\"_blank\" rel=\"noopener\">Element<\/a> works.<\/p>\n<p>Read more about <a href=\"https:\/\/elementapp.ai\/eng\/ats-all-you-need-to-know\" target=\"_blank\" rel=\"noopener\" style=\"color: #0000ff\">ATS<\/a> here.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b7adfc0 elementor-cta--layout-image-right elementor-cta--skin-classic elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-global elementor-global-2896 elementor-widget-call-to-action\" data-id=\"b7adfc0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"call-to-action.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-cta\">\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<h2 class=\"elementor-cta__title elementor-cta__content-item elementor-content-item\">\n\t\t\t\t\t\tDISCOVER ELEMENT!\t\t\t\t\t<\/h2>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-cta__description elementor-cta__content-item elementor-content-item\">\n\t\t\t\t\t\tFast, agile and user-friendly ATS created by recruiters for recruiters\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-cta__button-wrapper elementor-cta__content-item elementor-content-item \">\n\t\t\t\t\t<a class=\"elementor-cta__button elementor-button elementor-size-\" href=\"https:\/\/elementapp.ai\/eng\/#schedule-demo\">\n\t\t\t\t\t\tSCHEDULE A DEMO\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bee359d elementor-author-box--image-valign-middle elementor-author-box--layout-image-left elementor-widget elementor-widget-author-box\" data-id=\"bee359d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"author-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-author-box\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/www.linkedin.com\/in\/maciejmichalewski\/\" class=\"elementor-author-box__avatar\">\n\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2020\/01\/profile-photo.jpg\" alt=\"Picture of Maciej Michalewski\" loading=\"lazy\">\n\t\t\t\t<\/a>\n\t\t\t\n\t\t\t<div class=\"elementor-author-box__text\">\n\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/www.linkedin.com\/in\/maciejmichalewski\/\">\n\t\t\t\t\t\t<h4 class=\"elementor-author-box__name\">\n\t\t\t\t\t\t\tMaciej Michalewski\t\t\t\t\t\t<\/h4>\n\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-author-box__bio\">\n\t\t\t\t\t\t<p>CEO @ Element. Recruitment Automation Software<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4b5fd11 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"4b5fd11\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1be8569 elementor-share-buttons--view-icon-text elementor-share-buttons--skin-gradient elementor-share-buttons--shape-square elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons\" data-id=\"1be8569\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"share-buttons.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-grid\" role=\"list\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_facebook\" role=\"button\" tabindex=\"0\" aria-label=\"Share on facebook\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-facebook\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-share-btn__text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__title\">\n\t\t\t\t\t\t\t\t\t\tFacebook\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_twitter\" role=\"button\" tabindex=\"0\" aria-label=\"Share on twitter\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-twitter\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-share-btn__text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__title\">\n\t\t\t\t\t\t\t\t\t\tTwitter\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_linkedin\" role=\"button\" tabindex=\"0\" aria-label=\"Share on linkedin\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-linkedin\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-share-btn__text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__title\">\n\t\t\t\t\t\t\t\t\t\tLinkedIn\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-31924be4\" data-id=\"31924be4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6e36edc9 elementor-widget elementor-widget-heading\" data-id=\"6e36edc9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Recent posts:<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3d998dab elementor-grid-1 elementor-grid-tablet-1 elementor-grid-mobile-1 elementor-posts--thumbnail-top elementor-widget elementor-widget-posts\" data-id=\"3d998dab\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;classic_columns&quot;:&quot;1&quot;,&quot;classic_columns_tablet&quot;:&quot;1&quot;,&quot;classic_row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:26,&quot;sizes&quot;:[]},&quot;classic_columns_mobile&quot;:&quot;1&quot;,&quot;classic_row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;classic_row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"posts.classic\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-posts-container elementor-posts elementor-posts--skin-classic elementor-grid\" role=\"list\">\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-14815 post type-post status-publish format-standard has-post-thumbnail hentry category-english-posts\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img fetchpriority=\"high\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/11\/hero-automated-company-part3-en-300x169.webp\" class=\"attachment-medium size-medium wp-image-14813\" alt=\"The Automated Company, part 3: a supervisor plans at a whiteboard, an executor writes code, a critic finds an error under a magnifying glass.\" srcset=\"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/11\/hero-automated-company-part3-en-300x169.webp 300w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/11\/hero-automated-company-part3-en-768x432.webp 768w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/11\/hero-automated-company-part3-en-1536x864.webp 1536w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/11\/hero-automated-company-part3-en.webp 1600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/\" >\n\t\t\t\tThe Automated Company, part 3: supervisor, executor, critic\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-author\">\n\t\t\tMaciej Michalewski\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-post__excerpt\">\n\t\t\t<p>Part 3 of The Automated Company series: how we divide work between AI models, and five real cases where one AI agent caught another agent&#8217;s mistake.<\/p>\n\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/\" aria-label=\"Read more about The Automated Company, part 3: supervisor, executor, critic\" tabindex=\"-1\" >\n\t\t\tREAD MORE \u00bb\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-14776 post type-post status-publish format-standard has-post-thumbnail hentry category-english-posts\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/elementapp.ai\/blog\/free-job-posting-sites-poland-update-october-2026\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-free-job-ads-2026-10-en-300x169.webp\" class=\"attachment-medium size-medium wp-image-14774\" alt=\"Free job posting sites in Poland: big list update, October 2026, table of free job boards on the Element page.\" srcset=\"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-free-job-ads-2026-10-en-300x169.webp 300w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-free-job-ads-2026-10-en-768x432.webp 768w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-free-job-ads-2026-10-en-1536x864.webp 1536w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-free-job-ads-2026-10-en.webp 1600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/elementapp.ai\/blog\/free-job-posting-sites-poland-update-october-2026\/\" >\n\t\t\t\tFree job posting sites in Poland: we have updated the biggest list of candidate sources\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-author\">\n\t\t\tMaciej Michalewski\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-post__excerpt\">\n\t\t\t<p>A major update of the biggest list of free job posting sites in Poland: terms checked for October 2026, new IT prices, 39 career offices and about 289 Facebook groups.<\/p>\n\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/elementapp.ai\/blog\/free-job-posting-sites-poland-update-october-2026\/\" aria-label=\"Read more about Free job posting sites in Poland: we have updated the biggest list of candidate sources\" tabindex=\"-1\" >\n\t\t\tREAD MORE \u00bb\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-14761 post type-post status-publish format-standard has-post-thumbnail hentry category-english-posts\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/elementapp.ai\/blog\/automated-company-part-2-company-map\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-automated-company-part2-en-300x169.webp\" class=\"attachment-medium size-medium wp-image-14759\" alt=\"The Automated Company, part 2: the company map. A team placing process cards on a whiteboard map.\" srcset=\"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-automated-company-part2-en-300x169.webp 300w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-automated-company-part2-en-768x432.webp 768w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-automated-company-part2-en-1536x864.webp 1536w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-automated-company-part2-en.webp 1600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/elementapp.ai\/blog\/automated-company-part-2-company-map\/\" >\n\t\t\t\tThe Automated Company, part 2: the company map, or where to start with automation\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-author\">\n\t\t\tMaciej Michalewski\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-post__excerpt\">\n\t\t\t<p>Part 2 of The Automated Company series: before you automate anything, write down what your company is made of. I show 13 cards from our company map.<\/p>\n\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/elementapp.ai\/blog\/automated-company-part-2-company-map\/\" aria-label=\"Read more about The Automated Company, part 2: the company map, or where to start with automation\" tabindex=\"-1\" >\n\t\t\tREAD MORE \u00bb\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-14733 post type-post status-publish format-standard has-post-thumbnail hentry category-english-posts\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/elementapp.ai\/blog\/anthropic-higher-being-claude-constitution\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-higher-being-si-en-300x169.webp\" class=\"attachment-medium size-medium wp-image-14731\" alt=\"Cartoon of a crowd worshipping a glowing computer on an altar marked AI crossed out and SI, with the headline: Anthropic believes it is creating a higher being.\" srcset=\"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-higher-being-si-en-300x169.webp 300w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-higher-being-si-en-768x432.webp 768w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-higher-being-si-en-1536x864.webp 1536w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-higher-being-si-en.webp 1600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/elementapp.ai\/blog\/anthropic-higher-being-claude-constitution\/\" >\n\t\t\t\tAnthropic believes it is creating a higher being. The dispute over Claude&#8217;s constitution\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-author\">\n\t\t\tMaciej Michalewski\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-post__excerpt\">\n\t\t\t<p>Anthropic teaches Claude that it may refuse even its own maker. I go through the All-In Podcast debate and the warning from Mustafa Suleyman of Microsoft AI.<\/p>\n\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/elementapp.ai\/blog\/anthropic-higher-being-claude-constitution\/\" aria-label=\"Read more about Anthropic believes it is creating a higher being. The dispute over Claude&#8217;s constitution\" tabindex=\"-1\" >\n\t\t\tREAD MORE \u00bb\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-14724 post type-post status-publish format-standard has-post-thumbnail hentry category-english-posts\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/elementapp.ai\/blog\/poland-job-market-september-2026-grant-thornton-report\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"158\" src=\"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-gt-wrzesien-2026-en-1200-300x158.jpg\" class=\"attachment-medium size-medium wp-image-14723\" alt=\"Job Offers in Poland report, September 2026, Grant Thornton and Element: 269,000 job postings, healthcare grows, manual work shrinks.\" srcset=\"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-gt-wrzesien-2026-en-1200-300x158.jpg 300w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-gt-wrzesien-2026-en-1200-768x403.jpg 768w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-gt-wrzesien-2026-en-1200.jpg 1200w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/elementapp.ai\/blog\/poland-job-market-september-2026-grant-thornton-report\/\" >\n\t\t\t\tJob offers in Poland, September 2026: growth without industry\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-author\">\n\t\t\tMaciej Michalewski\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-post__excerpt\">\n\t\t\t<p>In September 2026, employers in Poland posted 269,436 job ads, 2% more than a year earlier. Healthcare grows, and manual work is the only industry in decline.<\/p>\n\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/elementapp.ai\/blog\/poland-job-market-september-2026-grant-thornton-report\/\" aria-label=\"Read more about Job offers in Poland, September 2026: growth without industry\" tabindex=\"-1\" >\n\t\t\tREAD MORE \u00bb\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-14680 post type-post status-publish format-standard has-post-thumbnail hentry category-english-posts\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/elementapp.ai\/blog\/automated-company-part-1-why-we-build-it\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-automated-company-part-1-en-v2-300x169.webp\" class=\"attachment-medium size-medium wp-image-14688\" alt=\"The Automated Company, part 1: why we are building it. Code, chart, calendar and document windows, a person approves.\" srcset=\"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-automated-company-part-1-en-v2-300x169.webp 300w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-automated-company-part-1-en-v2-768x432.webp 768w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-automated-company-part-1-en-v2-1536x864.webp 1536w, https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/10\/hero-automated-company-part-1-en-v2.webp 1600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/elementapp.ai\/blog\/automated-company-part-1-why-we-build-it\/\" >\n\t\t\t\tThe Automated Company, part 1: why we are building a company run by AI\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-author\">\n\t\t\tMaciej Michalewski\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-post__excerpt\">\n\t\t\t<p>Part 1 of The Automated Company series: why Element hands routine work to automation and where people still make the decisions.<\/p>\n\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/elementapp.ai\/blog\/automated-company-part-1-why-we-build-it\/\" aria-label=\"Read more about The Automated Company, part 1: why we are building a company run by AI\" tabindex=\"-1\" >\n\t\t\tREAD MORE \u00bb\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Part 3 of The Automated Company series: how we divide work between AI models, and five real cases where one AI agent caught another agent&#8217;s mistake.<\/p>\n","protected":false},"author":1,"featured_media":14813,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_opengraph-title":"The Automated Company, part 3: supervisor, executor, critic","_yoast_wpseo_opengraph-description":"Part 3 of The Automated Company series: how we divide work between AI models, and five real cases where one AI agent caught another agent's mistake.","_yoast_wpseo_opengraph-image":"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/11\/social-automated-company-part3-en.webp","_yoast_wpseo_opengraph-image-id":14814,"_yoast_wpseo_twitter-title":"The Automated Company, part 3: supervisor, executor, critic","_yoast_wpseo_twitter-description":"Part 3 of The Automated Company series: how we divide work between AI models, and five real cases where one AI agent caught another agent's mistake.","_yoast_wpseo_twitter-image":"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/11\/social-automated-company-part3-en.webp","_yoast_wpseo_twitter-image-id":14814,"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","footnotes":""},"categories":[297],"tags":[],"class_list":["post-14815","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-english-posts"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.8 (Yoast SEO v28.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>The Automated Company, part 3: supervisor, executor, critic<\/title>\n<meta name=\"description\" content=\"Part 3 of The Automated Company series: how we divide work between AI models, and five real cases where one AI agent caught another agent&#039;s mistake.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Automated Company, part 3: supervisor, executor, critic\" \/>\n<meta property=\"og:description\" content=\"Part 3 of The Automated Company series: how we divide work between AI models, and five real cases where one AI agent caught another agent&#039;s mistake.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/\" \/>\n<meta property=\"og:site_name\" content=\"Element&#039;s Blog - nowo\u015bci ze \u015bwiata rekrutacji, HR Tech i Element\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/elementappats\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/elementappats\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-03T15:19:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/11\/social-automated-company-part3-en.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Maciej Michalewski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"The Automated Company, part 3: supervisor, executor, critic\" \/>\n<meta name=\"twitter:description\" content=\"Part 3 of The Automated Company series: how we divide work between AI models, and five real cases where one AI agent caught another agent&#039;s mistake.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/11\/social-automated-company-part3-en.webp\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Maciej Michalewski\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minut\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"The Automated Company, part 3: supervisor, executor, critic","description":"Part 3 of The Automated Company series: how we divide work between AI models, and five real cases where one AI agent caught another agent's mistake.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/","og_locale":"pl_PL","og_type":"article","og_title":"The Automated Company, part 3: supervisor, executor, critic","og_description":"Part 3 of The Automated Company series: how we divide work between AI models, and five real cases where one AI agent caught another agent's mistake.","og_url":"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/","og_site_name":"Element&#039;s Blog - nowo\u015bci ze \u015bwiata rekrutacji, HR Tech i Element","article_publisher":"https:\/\/www.facebook.com\/elementappats","article_author":"https:\/\/www.facebook.com\/elementappats\/","article_published_time":"2026-11-03T15:19:32+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/11\/social-automated-company-part3-en.webp","type":"image\/webp"}],"author":"Maciej Michalewski","twitter_card":"summary_large_image","twitter_title":"The Automated Company, part 3: supervisor, executor, critic","twitter_description":"Part 3 of The Automated Company series: how we divide work between AI models, and five real cases where one AI agent caught another agent's mistake.","twitter_image":"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/11\/social-automated-company-part3-en.webp","twitter_misc":{"Napisane przez":"Maciej Michalewski","Szacowany czas czytania":"10 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/#article","isPartOf":{"@id":"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/"},"author":{"name":"Maciej Michalewski","@id":"https:\/\/elementapp.ai\/blog\/#\/schema\/person\/02f4e59e019634b9e2fb09c00bf93f1e"},"headline":"The Automated Company, part 3: supervisor, executor, critic","datePublished":"2026-11-03T15:19:32+00:00","mainEntityOfPage":{"@id":"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/"},"wordCount":1979,"commentCount":0,"publisher":{"@id":"https:\/\/elementapp.ai\/blog\/#organization"},"image":{"@id":"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/#primaryimage"},"thumbnailUrl":"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/11\/hero-automated-company-part3-en.webp","articleSection":["English-posts"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/","url":"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/","name":"The Automated Company, part 3: supervisor, executor, critic","isPartOf":{"@id":"https:\/\/elementapp.ai\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/#primaryimage"},"image":{"@id":"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/#primaryimage"},"thumbnailUrl":"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/11\/hero-automated-company-part3-en.webp","datePublished":"2026-11-03T15:19:32+00:00","description":"Part 3 of The Automated Company series: how we divide work between AI models, and five real cases where one AI agent caught another agent's mistake.","breadcrumb":{"@id":"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/#primaryimage","url":"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/11\/hero-automated-company-part3-en.webp","contentUrl":"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2026\/11\/hero-automated-company-part3-en.webp","width":1600,"height":900,"caption":"The Automated Company, part 3: a supervisor plans at a whiteboard, an executor writes code, a critic finds an error under a magnifying glass."},{"@type":"BreadcrumbList","@id":"https:\/\/elementapp.ai\/blog\/automated-company-part-3-supervisor-executor-critic\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/elementapp.ai\/blog\/"},{"@type":"ListItem","position":2,"name":"The Automated Company, part 3: supervisor, executor, critic"}]},{"@type":"WebSite","@id":"https:\/\/elementapp.ai\/blog\/#website","url":"https:\/\/elementapp.ai\/blog\/","name":"Element's Blog - nowo\u015bci ze \u015bwiata rekrutacji, HR Tech i Element","description":"Najciekawsze informacje ze \u015bwiata rekrutacji, rynku pracy, technologii rekrutacyjnych oraz systemu rekrutacyjnego Element","publisher":{"@id":"https:\/\/elementapp.ai\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/elementapp.ai\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/elementapp.ai\/blog\/#organization","name":"Element ATS system rekrutacyjny","url":"https:\/\/elementapp.ai\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/elementapp.ai\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2019\/09\/element-system-logo.svg","contentUrl":"https:\/\/elementapp.ai\/blog\/wp-content\/uploads\/2019\/09\/element-system-logo.svg","width":1,"height":1,"caption":"Element ATS system rekrutacyjny"},"image":{"@id":"https:\/\/elementapp.ai\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/elementappats"]},{"@type":"Person","@id":"https:\/\/elementapp.ai\/blog\/#\/schema\/person\/02f4e59e019634b9e2fb09c00bf93f1e","name":"Maciej Michalewski","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/secure.gravatar.com\/avatar\/9d00803e2237f6212234740ce5ee8400cf3c04cf469dc8728a7fdd0d2a1e8cc7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/9d00803e2237f6212234740ce5ee8400cf3c04cf469dc8728a7fdd0d2a1e8cc7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9d00803e2237f6212234740ce5ee8400cf3c04cf469dc8728a7fdd0d2a1e8cc7?s=96&d=mm&r=g","caption":"Maciej Michalewski"},"description":"Since 2010 I have been professionally involved in the recruitment industry. Since 2014, I and a team of talented software developers, have been developing Element, an innovative recruitment system which makes recruiting fast and simple. I am a tech lover, and my mission is to find and create new solutions that will positively impact the recruitment market.","sameAs":["https:\/\/www.facebook.com\/elementappats\/","https:\/\/www.linkedin.com\/company\/13982762"]}]}},"_links":{"self":[{"href":"https:\/\/elementapp.ai\/blog\/wp-json\/wp\/v2\/posts\/14815","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elementapp.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/elementapp.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/elementapp.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elementapp.ai\/blog\/wp-json\/wp\/v2\/comments?post=14815"}],"version-history":[{"count":2,"href":"https:\/\/elementapp.ai\/blog\/wp-json\/wp\/v2\/posts\/14815\/revisions"}],"predecessor-version":[{"id":14817,"href":"https:\/\/elementapp.ai\/blog\/wp-json\/wp\/v2\/posts\/14815\/revisions\/14817"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elementapp.ai\/blog\/wp-json\/wp\/v2\/media\/14813"}],"wp:attachment":[{"href":"https:\/\/elementapp.ai\/blog\/wp-json\/wp\/v2\/media?parent=14815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/elementapp.ai\/blog\/wp-json\/wp\/v2\/categories?post=14815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/elementapp.ai\/blog\/wp-json\/wp\/v2\/tags?post=14815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}