Галоўная / Артыкулы

Інжынерыя агентав у пяць шароў: ад спецыфікацыяў і паралельных агентав да правілаў і нагляду

Карпаты назваў перыод працы «вібраскодыраннем». Пагляньце на пяць шароў інжынерыі агентав: спецыфікацыі, оркестрацыя, кодаваныя правілы, людская пераглядка і можлівасць назірання, а таксама план на тыдзень.

Выдавец: REACTAPP.TOP19 хв чытання4378 слоў

Крыніцы: Beyond Spec-Driven Development: The Agentic Engineering Playbook That’s Replacing How We Build Software

Метод кодавання на адаптаванне мелодыі меў успех. Андрэй Карпаты, чалавек, які запрацоўваў гэты тэрмін, згодна з тым заявіў, што гэтае падзея завершылася, і ён не толькі назваў проблему. Ён таксама распісаў, што можа яе заменіць: інжынерыя агентав, у якай штучныя інтэлектуальныя агенты плануюць, пішуць, тэстуюць і выкладзяюць код, а чалавек здыйснюе структураваны нагляд. Чалавек задае мету, агенты яе выкананяюць, а чалавек пераканальваеся ў рэзультат. Гэта професійны метод стварэння продуктаваў з вядомасцю штучнага інтэлекту, а не проста разам з яй, і гэта далёка ад простага запуску задачы з надзеяй на успех.

Ранейшыя спробы развіць практыку розработкі, адмініструванай спецыфікаціямі, тое ўсё, калі перш чым які-небудзь агент ўтворыць што-небудзь, неабходна запісаць, калі саме ён павінен выконваць задачы, адкрыліся як пакрытые толькі однім слоем гэтай дысцыпліны. Команды, якія працуют у практычных умовах, згодна з тым допрацавалі ўсьго чатыро іншых слоёў. У наступным апісаны ўсе пяць слоёў, показана, як кожны з іх выглядае на практыцы, а таксама прыведзены план трэнінгу на адну недзелю для початку працы.

Чаму важна назва

Назва — гэта не проста брэнд. Яна пазначае межу між двума абсалютна разнымі способамі працы, і Карпаты паказаў гэтую межу за дапамогою пары запітанняў. Метод «Vibe coding» спрашвае, чы можна ўрадзіць так, каб ўсё працавало. Метод «Agentic engineering» спрашвае, чы можна ўрадзіць так, каб усё працавало надзеямо, у масштабных умовах, без стварэння вразламоў.

Першыя запітанні скасоўваюць обмежэння. Цяпер кожны можа стварыць пратэтап: чалавек, які працуе у вякенды, опісвае тое, чаго хочаць, прыме тое, што атрымае у вярненне, і ў канцы канцоў застаецца з працюючым дэманстрацыйным варыянтом. Гэта справдзіва корыстна для дакладнага абстракцыйнага аналізу. Другія запітанні ставяць межы. Програмнае забезпечэнне, якое апрацоўвае платэжы, керуе медычнымі данымі або запускае інфраструктуру, як і раней, выказвае патрэбу ў професійнай дысцыпліне. Агент можа напісаць код, але людзі павінны спраектаваць сістэму, встановіць ўсе неабходныя межы і пераканацца ў правільнасці рэзультатаў.

Сам Карпаты выразіўся працоўна: інжынерыя агентавак ёсць інжынерныя даследжэння, а агенты ўсё час знаходзяцца пад вплывам неспакою, стахастычных фактораў і маюць вельмі вялікую сілу, таму асалоджаным задачай ёсць коордынацыя іх дзеянняў, каб яны працавалі быстрэй, не падвяшваючы стандартаў якосці. Гэтая задача — швальнасць без жэртвавання якосцю — зараз ёсць ключовым пытаннем галузі. Гэта не толькі яго падход. IBM, Forrester і Anthropic кожны ў тым жа квартале опублікавалі формальныя рамкі для новай, аднойчыннай даследжэнняўскай галузі, дасягнувшы гэтага рашэння незалежна. Калі організацыі, якія рэдка схвалююць аднаковыя падходы, з’яўляюцца ў той самы момент, ідэя стае значным падходам.

Гэты тэрмін застаўся, таму што інжынерам была патрэбна слова для апісання работы, яю яны вядзілі ўжо: гэта было б больш структураванае, чым проста запуск задання, больш дысцыплінованае, чым кодаванне на адчуваннях, і водночас не супадала з традыцыяным розвіццем. Дысцыпліна, якую гэты тэрмін пазначае, складаецца з пяці слоёў, прычым кожны з іх стоіць на тым, што знаходзіцца пад ям. Калі прыхіліцца толькі да аднаго слою, усё, што знаходзіцца вышэй, стане ненадзеяным.

Слою 1: спецыфікацыя

Запісуйце спецыфікацыю прычым раней, чым які-небудзь агент запускае стварэнне коду. Указайце, што сістэма павінна робіць завжды, што яе павінна ніколі не робіць, як з’ясавіць, чы робіць яна сваю работу, і як з’ясавіць, чы яна зупінілася. Усё гэта трэба пакласты ў адны документ, старавацца, каб гэты документ заставаўся актуальным, і адметрабаваць усё, што стварае агент, па яго стандартам.

Разныя спецыялісты ў інжынерыі AI называюць гэта стратэгічным планаваннем, візначэннем намеру або проста спецыфікацыяй. Назвы разніцяюцца, але сама практыка застаецца адной і той жа: трэба ведаць, чаго хочацца, прычым прашаць агента пра стварэнне чаго-небудзь.

Есць аспект, які лёгкая праця занедбаць. Спефікацыя — гэта не дакумент, створаны на дзень запуску; гэта жывой дакумент. Калі практычная рэалізацыя адкрывае ўсё тое, чаго спефікацыя не прывідвала, а такое будзе, спефікацыя апдэйтуецца. Команды, чыяя учаснікі паступова адхіляюцца ад первачага намеру, практычна завжды ёсць тымі командамі, якія напісалі спефікацыю з самага пачатку і больш ніколі яе не адкрывалі.

Мінімальны шаблон пачынаецца з заголовка, які прызначае дакумент календарным адказам:

# Feature Spec: [Feature Name]
## Last updated: [Date] — this document is the source of truth

Потым іду спіскі пераконтроўвання паведзення: аддзел з выкліканымі формамі паведзення і аддзел з строгімі лімітамі, напрыклад, нельга апрацоўваць вярненне сумы, прэўышаючай $500, без падтрымкі чалавека:

## What this must always do
- [ ] [Behaviour 1 — specific, testable]
- [ ] [Behaviour 2 — specific, testable]## What this must never do
- [ ] [Boundary 1 — e.g. "Never process refund >$500 without human approval"]
- [ ] [Boundary 2 — e.g. "Never fabricate a citation"]## Success criteria (measurable)
- Context recall: >0.85
- Faithfulness: >0.90
- Cost per query: <$0.15
- Latency p95: <2s## Failure signals (alert if breached)
- Any metric drops >5% from 7-day baseline
- Cost per task exceeds 3x expected range
- User complaint rate exceeds 2% of sessions## Decomposition (for parallel agents)
- [ ] Task A: [scope] — can be delegated independently
- [ ] Task B: [scope] — depends on Task A output
- [ ] Task C: [scope] — can run parallel with Task A

Зберагаеце тэкст на адной старонцы. Калі спефікацыя становіцца дужэй, значы функцыя занадта веліка і яе трэба раздзеліць, каб кожная частка пасляўжвала.

Ідэальная спефікацыя, якая даўцаеся аднаму агенту, такім чынам застаецца пад межай працэздатнасі, і самэльга існуе другiй слой.

Слой 2: оркестрацыя

Разглядзім функцыю, якая вплывае на схему базы дадзеных, API, фронтэнд і набор тэстаў. Звычайна аднін інжынер працуе з кожной часткой почарава, або команда коордынуе свою работу працэсам спрынта. У інжынерыі з агентамі чатырох агентаў адразу беруцца на сябе всі чатыро часткі. Адні пішае код для майграцыі, другі — канцэнтры, трохі — компоненты фронтэнду, а чатверты пішае тэсты і пераглядае рэштку на наявнасць проблем з безпекай. Кожны мае свой кантэкст і абмежэнняя, а ўсе ўзятые янымі рашэннія з’едынаюцца ў адну цэлеспрамованую зміну.

Гэта не гіпотэтычна сітуацыя. Stripe выкарыстоўвае такі падход у рэальных умовах, пры чым існуе внутрэшняя сістэма агентав, якая ўтварае пад час тыдня больш за 1 000 з’еднаных запрошэнняў пра адчыненне праграмкі, кожна з яых напісана агентам і пераглянута чалавекам, пасля чаго праходзіць пераканальныя тэсты і выконваецца.

Рытм работы — цэлая петля, якая пераходзіць па кожнай функцыі: планаванне, выконанне, пераканальнае перагляд. Дзялы некаторых команд такую петлю называюць PEV-петлёй.

  • Планаванне. Чалавек складае тэхнічныя спецыфікацыі на адпаведнам роўні і дзеліць работу на самастоятэльныя, можна дэлегаваныя часткі. Важлівым рашэнням тут ёсць выбор тых задач, якія можна выконваць паралельна, адтолькі якія не залежаць ад рэзультатаў іншых задач, і тых, якія павінны выконваныцца по спецыяльной параду.
  • Выкананне. Агенты працуюць у своіх пасляведзеных блоках, кожны з якіх мае савой вокн абстракцыі, які мае толькі неабяжна частку спефікацыі, коду і правіл. Оркестрактар не дазволяе агентам рэдагаваць тыя ж файлы адночасова, фіксуе конфлікты і падтрымляе адносовую супараднасць паралельных потокаў.
  • Перакананне. Чалавек пераглядае рэзультаты, хоць і не лінія за лініяй — гэта немагчыма здарыцца з такой швальнай скорасцю. Перакананне ўжо структурнае: чыі рэзультат падпараджаецца спефікацыі, не суперчыць іншым модулям, дазволяе архітэктурным абмежэнням і праходзіць пераканальную серыю?
  • Тое, што раней заўсёды займала два тыдні, цяпер становіцца кіраванай рабочай сесыяй, якая трывае калькі гадзін або дзень. Большая частка працы чалавека складаецца з планавання і пераканання, а агенты віконваюць большую частку працы ў межах гэтага працэсу.

    Ўмоўкі трэба час, каб яе зрозумець: мета — корыстны паралелізм, а не максімальны. Тры агенты на строго скасаваных модулях ствараюць канфлікты, якія легчэй рашыць, чым заўдавана эконамія ад паралельнай працы. Два агенты на незалежных модулях, пры чым трэцій перагледвае аба, даюць цяперозрозумелы вынік. Майстэрнасць заключаецца ў разбіванні задач на часткі, каб іх можна было парадаваць без проблем з інтэграцыяй пазней.

    Оркестрактар-скелет можа паказаць гэты цыкл у сваёй докстрангу:

    class AgenticOrchestrator:
        """Plan → Execute (parallel) → Verify"""
    

    і адаптаваць крок планавання, які раздзеляе функцыю на задачы, якія можна парадаваць іншым:

        def plan(self, feature_spec: dict) -> dict:
            """Decompose feature into independently delegatable tasks."""
            tasks = []
            for component in feature_spec["decomposition"]:
                tasks.append({
                    "id": component["id"],
                    "spec": component["scope"],
                    "constraints": feature_spec["must_never"] + component.get("local_rules", []),
                    "depends_on": component.get("depends_on", []),
                    "verification": component.get("success_criteria", []),
                })
            independent = [t for t in tasks if not t["depends_on"]]
            sequential  = [t for t in tasks if t["depends_on"]]
            return {"parallel": independent, "sequential": sequential}    async def execute(self, plan: dict):
            """Run independent tasks in parallel, sequential tasks in order."""
            parallel_results = await asyncio.gather(*[
                self.delegate_to_agent(task) for task in plan["parallel"]
            ])
            for task in plan["sequential"]:
                result = await self.delegate_to_agent(task, prior=parallel_results)
                parallel_results.append(result)
            return parallel_results    def verify(self, results: list, spec: dict) -> dict:
            """Check all outputs against the spec — structural, not line-by-line."""
            issues = []
            for result in results:
                if not self.satisfies_spec(result, spec):
                    issues.append(f"{result['id']}: does not satisfy spec")
                if self.conflicts_with(result, results):
                    issues.append(f"{result['id']}: conflicts with another module")
            return {"passed": len(issues) == 0, "issues": issues}
    

    Каналізуючым прынцыпам являецца чыста нараджэнне кантэкста. Кожны агент павінен атрымляць толькі свой раздзіл спецыфікацыі, свае файлы коду і свае правілы. Занесенне всей базы коду ў кожны вікну кантэкста марнуе токены, падышвае вартасць і зменшвае ўвагу мадэлі.

    Оркестрацыя павышае праўоўернасць, а праўоўернасць без адпаведнасці прыводзіць да хаосу. Кожны агент павінен знаты стандарты каманды, архітэктурныя обмежэнні і правілы безпекі, а таксама спецыфікацію сваёй справы. Наступны слой забезпечвае гэта.

    Слой 3: кодаваныя правілы

    Большасць інструментаў вялікі час ужэ маюць версію гэтага. Claude Code завантажае файл CLAUDE.md на пачатку кожнай сесіі, Cursor чытае файл .cursorrules, а Codex — файл AGENTS.md. Канцэпцыя адна: файл у корні праекту, які паведамляе агента, як яму дзеяць.

    У 2026 році команды пішлі шчэ далі і закодувалі всю свою культуру распрацоўкі у вігляды обмежэнь, зрозуміліх для агентаў, поза межамі тэхналогічного стэку. Такі експерты, як Пол Дзювалл, документуюць шаблоні, што вінікаюць у командах, які працуюць за прынцыпамі агентного інжынірынгу, а InfoQ відстэжуе іхню зрылісць. Чотыры шаблоні постыйно зустрычаюцца там, дэ застосовуецца агентній інжынірынг:

    • Розробка, керована спецыфікаціямі – колі саме спецыфікація керуе працэсом працы (Рывень 1).
    • Кодовані правіла і архітэктурні обмежэння: конвенціі, політыкі безпекі, шаблоні апрацоўкі помілок, стандарты найменувань і процедуры розгортання – усе гэта знаходыцца у файлах, які агенты завантажуюць перад початком працы.
    • Атомарній розклад з паралельнімі агентамі – функціі роздыляюцца на найменшы частыні, які можна перэдаваты окрэмо (Рывень 2).
  • Візуабельны розвітак: лёгкі апіс і ацэнка для кожнага дзеяння, якое выконвае агент (Слой 5, ніжэй).
  • Масштабаеўчыя проблемы — галоўная перашкода для большасці команд. Одны файл CLAUDE.md добра падходзіць для пратотыпа з 1 000 ліній коду. База коду з 100 000 ліній не можа быць опісана ў аднам файле, і нават якбы магла, правілы займуць усю памяць для кантэксту прытым, як агент дасягне самай задачы.

    Команды, якія рашаюць гэту проблему, ствараюць іерархічныя сістэмы правілаў, падобна да налашоўкаў ESLint, якія спадчыяюць параметры арганізацыі і могу быць змененыя для кожнага праекту. Структура папак выглядае так:

    your-company/
    ├── .ai-rules/
    │   └── org-rules.md          ← Company-wide: security, compliance, style
    │
    ├── team-payments/
    │   ├── .ai-rules/
    │   │   └── team-rules.md     ← Team-level: error handling, testing, deploys
    │   │
    │   ├── service-checkout/
    │   │   ├── CLAUDE.md          ← Repo-level: architecture, tech stack, builds
    │   │   ├── src/
    │   │   │   ├── auth/
    │   │   │   │   └── .ai-rules.md  ← Module: auth-specific constraints
    │   │   │   └── payments/
    │   │   │       └── .ai-rules.md  ← Module: PCI compliance rules
    

    У верхней часты знаходзіцца файл арганізацыі, які завантажваецца для кожнага агента ў кожным рэпазітарыі. У яму паказвана інфармацыя пра тое, калі не трэба додаваць секрэтныя даны, пра неабходнасць аўтэнтыфікаціі ў публічных API і пра тое, калі не трэба прадаваць стэк-трэйсы ў адпаведзях на памылкі:

    # org-rules.md (loaded for every agent, every repo)
    - Never commit secrets or credentials
    - All public APIs require authentication
    - Error responses must never expose stack traces
    - Log every state-changing operation with user context
    

    Падае канфейтні файляк спадвае тыя правілы і дадае своі сасавы, якісьцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяцяця

    # team-rules.md (inherits org, adds team specifics)
    - Use Result<T, E> pattern — never throw exceptions
    - All database queries go through the repository layer
    - Tests must cover the happy path + 2 failure modes minimum# CLAUDE.md (inherits team, adds repo specifics)
    - This repo uses Express.js + Prisma + PostgreSQL
    - Run `npm test` before suggesting any PR is ready
    - Migrations are append-only — never modify applied migrations# module .ai-rules.md (inherits repo, adds module specifics)
    - auth/: All token operations must use constant-time comparison
    - payments/: PCI DSS requires field-level encryption on card data
    

    Агент завантажае правілы арганізацыі, правілы каманды, файл CLAUDE.md з рэпазітарыя і правілы для модуля, які ён адрабатвае. Цэўшчына дапамагае заліць кантэкст у межах неабходнасцяў і без зайваго. Агент у модулі платэжаў отрымае правілы супакоранасці з стандартамі PCI, а агент у фронтэндзе — няма, калі таму што гэтыя правілы займуць рэсурсы кантэкста без прынадзейнасці.

    Правілы паказваюць, як працаваць, але выніклы рэзультат все рава трэбуе людскага адгукту. Код можа выпалняць усі стандарты, але застаўся архітэктурна некорэктым, рашаючы заданую проблему так, што стварае большую проблэму ў іншым месцы. Саме таму наступны слой не ўзельгджы.

    Слой 4: людская надзорнасць

    Тры словы апісваюць модэль работы, які выйшаў: даверыць, пераглядаць, браць на сябе адпаведальнасць.

    Даваць заведамства. Дайце агенту чыткая задача з яснымі акцэнтамі і дазвольце яй працаваць. Не трэба мікракерування працэсам і не трэба стагнараваць, як ён пішчыць. Спецыфікацыя і правілы існуюць там, каб можна было паверыцца, што агент яных будзе дазваляць.

    Аналізаваць. Спрыяйце выданым рэзультатам як запрошэнню да співпрацы ад здольнага, але младшага інжынера: швыдкага, кампетэнтнага, але склоннага да тонкіх памылак, якія зможа выявіць толькі той, хто разумее вялікую сістэму. Пераканайцеся, што архітэктура падходзіць і ўсе крайнія случаў разглянуты. Паказвайце, што спецыфікацыя была выпанаяна, тое значыць, што мета была досягнута, а не проста тое, што тэсты пройшлі.

    Браць на сябе адпаведнасць. Чалавек несе адпаведнасць за канечную якасць. Агент выконаў работу, чалавек яе затвердзіў, і адказнасць за неудачы ў працэсе выканання лягае на чалавека. Гэтая адпаведнасць разлічвае інжынерыю, дзе агенты выконваюць задачы, ад кодавання, дзе ніхто не несе адпаведнасць за рэзультаты.

    Проблема саспензу рэальная. Агенты ствараюць код быстрэй, чым людзі можуць яго пераглянуць, і выклікаеся спакуса паслабіць строгасць, каб адгукавацца да такога тэмпу. Самэй гэтай спакусе і з’явіўся падход «vibe coding»: распрацоўшчыкі прымалі рэзультаты, таму што ўсё выглядала правільна, тэсты праходзілі, а паджыгвала канец часу. Інжынерыя агентных сістэм створаная, каб запобiec павтарэнню такога патэрна.

    Узвіт про тэндэнціі кодування ад компаніі Anthropic опісуе, як досведчэні інжэнеры керуюць цым працэсом. Яны дэлегуюць завдані, чыя правільнісць можна легко перэвірыты одразом, або жавкісць якіх нізька. Чым більш складнім за концептуальною хуткасцю чы залежнім ад дызайну ёсць задачы, тым більш ймовірно, што яго будуць віконуваты разом із агентом. Вміння візначыты, што перэдаты, а што залішыты собі — гэта нова ключова компетэнтнісць. Яна розвіваецца з практом, без жодніх шоркатыв чы марковіх шляхів, і саме гэта відрызняе продуктывного інжэнера, які ефектывно вікорыстовуе агентаў, ад того, хто створуе незадовольнівшый рэзультат.

    Перэвірочній спіс допомагае перад тым, як шчось створэне агентом потрапіць у віробніцток. Яго заголовок:

    ## Agent Output Review Checklist
    

    і ягоў тэла, структураванага па раздэлах, якія пачынаюцца з пераканалення спецыфікацыі (чы рэалізаваныя всі неабходныя функцыі, чы дотрымваны ліміты, чы задовольнены крэтэрыя успеху), а далей ідуць архітэктура і практычна цэнна:

    ### Spec alignment (does it do what was asked?)
    - [ ] All "must always do" behaviours are implemented
    - [ ] No "must never do" boundaries are violated
    - [ ] Success criteria from the spec are met or tested### Architectural coherence (does it fit the system?)
    - [ ] No new dependencies introduced without justification
    - [ ] Consistent with naming, patterns, and structure of existing code
    - [ ] No duplication of logic that exists elsewhere### Safety and edge cases
    - [ ] Error handling covers the failure modes the spec anticipated
    - [ ] No hardcoded credentials, keys, or environment-specific values
    - [ ] Input validation present on all external-facing boundaries### What the agent cannot check for itself
    - [ ] Does this make business sense? (not just technical correctness)
    

    Цікава ідэя — выдрукуваць яго і прыкрыпіць ля манітара. Інструменты для праблэм-фіксаціі і CI можу часткова автаматызаваць першыя тры раздзелы. Апошній, адносна бізнес-логіка, — гэта прычына, чаму людзі застаюцца ў процэсе.

    Перагляд праблем дапамагае ўпынці вылучыць іх пры выпуску. Павольны спад якасці, тонкія рэгрэсіі і адрыхленне расходоў, якіх ніхто не зазначае пакуль не прыйдзе рахунок, з’яўляюцца толькі пасля, і тады трэба ўжо апошній слой контролю.

    Слой 5: спостэрагаемая разработка

    Монітарынг і спостэрагаемая разработка звучаць падобна, але віконваюць розныя задачы. Монітарынг паказвае, што сістэма працюе, у яе нормальны латэнс, мало праблем і на дашбордзе ёсць зелены колер. Спостэрагаемая разработка паказвае, што саме зрабіла сістэма: які агент выканаў якую задачу, на падставе якіх спецыфікацый, з якімі інструментамі, створыў які код, і чыя рэзультаты падтрымалі початковыя цілі.

    Разлік стае відным о 2 гадзіні ночы. Калі выкарыстоўваецца толькі монітарынг, стае зрозумела, што ў чымсь проблема, але прычына застаецца невядомай, таму вечар прыходзіць на чытанне разлікав і здогадванняя ўжо па модулях. У разе працэсу, які можна спазіраваць, даныя аплыву паказваюць, што агент 3 змяніў працэс автанацыі на падставе спефікацыі, якая ігноравала адновленне токеноў паралельна. Гэта дзванацца хвілін цярпячаг адлучэння проблемы замест двух гадзін спекуляцый.

    У практыцы все зводзіцца да трох прывычак:

    • Кожная задача агента стварае структураваныя даныя аплыву: спефікацыю, яку ён отрымаў, інструменты, якія ён выкарыстоўваў, файлы, якія ён змяніў, версію модэлю, токены, якія былі выкарыстаны, і рэзультат пераканання. Калі праз тры дні з’яўляецца баг, даныя аплыву паказваюць, што сталося, і нікому не трэба нічога памяцаць.
  • Кожны выхідны рэзультат аналізуецца па правілах спецыфікацыі, а не толькі па набору тэстаў. Модуль можа працаваць правільна ў всіх тэстах, але ўсё раве нарабіць паляганняя ў архітэктурных вакансіях, заданых спецыфікацыяй. Тэсты пераканальваюць працэс выканання, а аналіз рэзультатаў — мету, і кожны з іх выяўляе тыя бракі, якія працягвае іншы.
  • Кожная сесія спрыяе паўтарнаму адладкаванню правілаў. Выявленыя шаблоны, трапленыя бракі і знайдзеныя способы ўсунення бракоў стаюць частынай правілаў слоя 3. Тое, што фіксуе слой 5, кодуецца слоем 3, а слой 2 корыстаецца гэтым, таму дысцыпліна паўтараецца з недзелы ў недзелю.
  • Мінімальная наладка пачынаецца з імпорту дакументаў для стварэння маленькага журналу логаў:

    from dataclasses import dataclass, field
    from datetime import datetime
    

    і клас дадзеў trace, які прыменяецца да кожнага дэлегаванага задання:

    @dataclass
    class AgentTrace:
        """Minimum trace for every agent-delegated task."""
        task_id: str
        agent_id: str
        spec_given: str                    # What was the agent told to do?
        tools_used: list[str]              # Which tools did it invoke?
        files_modified: list[str]          # What did it change?
        model_version: str                 # Which model, which version?
        tokens_consumed: int               # What did it cost?
        started_at: datetime = field(default_factory=datetime.utcnow)
        completed_at: datetime | None = None
        verification_result: str = ""      # pass / fail / needs_review
        human_reviewer: str = ""           # Who signed off?
        issues_found: list[str] = field(default_factory=list)
    

    Дадзіце апоўнюючыя перагляды кожны тыдзень на пятнаццац хвілін. Іх загалоўкі:

    ## Weekly Observable Development Review (15 minutes)
    

    і яе запытанні: сколькі задач было парадактавана, сколькі з іх праявілі перакананне за першай спробы (цэль — вышэ 80%), якая катагорыя мела найбольшае колічэство проблем, і якія былі тры найбольшыя проблемы:

    1. How many agent tasks were delegated this week?        ___
    2. How many passed verification on first attempt?        ___  (target: >80%)
    3. Which task category had the most issues?              ___
    4. Top 3 issues found during review:
       - ___
       - ___
       - ___
    5. Which issues should become codified rules (Layer 3)?  ___→ Update CLAUDE.md with any new rules from this week's observations.
    

    Пяццаць хвілін у тыяждэнь дапамагаюць завершыць цыкл. Абсаргі стаюць правіламі, правілы павышаюць качэнтку працы, крашчая організація працы дае лепшыя рэзультаты, а гэтыя рэзультаты ствараюць новыя абсаргі.

    Доказы таго, што гэта працюе

    Два показнікі выдзеляюцца. У Stripe ў тыяждэнь болей 1 000 злучаных запрошэнняў да падключэння коду — яны ствараюцца агентамі, пераглядаюцься людзьмі, праходзяць пераканальны тэсты і вікорыстоўваюцца у рэальных умовах, тое ўсё — не проста експерыменты в сэндбоксе. Гэта такі рывак у продуктывнасці, якога не было год назад. Іншыя експерты бачаць іншыя цыфры: апыткі McKinsey паказваюць зніжэнне эксплуатацыйных віткоў на 20–40 процэнтаў, што дапамагае перакануцься, што ШЫ можа стаць частынай оператывной інфраструктуры, а не проста ініцыятывай з інновацый — чаго трэбуе не толькі тэхнічны дырэктар, але і фінансовы дырэктар.

    Што гэта значыць для кар’еры інжынера

    Роль інжынера змяніцца, але не знікне. У 2026 году інжынеры пішуць менш каналізаваны код і прыдзеляюць больш часу кераванню агентамі, праектаванню архітэктуры, вяліканню целей і правілах, а таксама перакантролюванню рэзультатаў. Ключовая навык пераходзіць з сінтаксісу да мышлення пра сістэмы, з запітанняў пра тое, як напісаць функцыю, да запітанняў пра тое, як спраектаваць сістэму, у якой агенты зможуць ёю правільна паводзіцца.

    Карпаты распраўляе гэта на працэс працоўвання: трэба адмовіцца ад задач на рашэнне гэтычных пазлов і запропанаваць значны праект, напрыклад стварэнне захішчанага клону Twitter, а пасля прабавіць, каб агенты яго зламалі, працюючы разам з кандыдатам над інструментамі, тэхнічнымі спецыфікаціямі і наглядам. Гэта перакантролюе дысцыпліну, а не швальнасць набірання тэкста.

    У размовах з керавальнікамі інжынерскіх падраздэлень разважна вылучаюцца тры навыкі:

    • Спроможнасць да пісаць тэхнічныя спефікацыі. Напісанне спефікацыі, якая будзе дастаткова точная, каб агент могаў яе выконваць без неяснасцей, ёст крыхкім заданнем у порৱэнні з напісаннем коду. У коду ёсць кампайляр, які выявляе бягы, тады калі спефікацыя мае толькі інтэрпрэтацыю агента. Калі спефікацыя нечыстая, агент з упэўненасцю выберае певную інтэрпрэтацыю, будуе на ёй далей і праказвае рэзультат як тое, што было запрасана.
    • Спроможнасць да організацыі працы. Знанне таго, што трэба дэлегаваць, а што залішыць сабе, калі паралельныя запускі ёсць корыстнымі, а калі зв’язкі межа агентамі занадта жорсткія, і калі выходны рэзультат трэба рэшытна пераглянуць, а не толькі пераканалізаваць. Гэта навык развіваецца праз сотні дэлегацый, кожная з якіх дапамагае з’ясавіць, што працюе, а шта стварае проблемы з інтэграцыяй.
  • Дысцыпліна пераканання. Анаіз з той жа строгасцю, якую выкарыстоўвае старшы інжынер, пераглядаючы запрошэнне да змін ад младшага інжынера: без формальнасцяў толькі таму, што тэсты праходзяць, без перапісвання толькі таму, што рэвізор хацеў бы зробіць гэта інакш. Пытанні: чы рэзультат падпаўляе спецыфікацыям, чы ён стварае рызыкі, якіх спецыфікацыя не прыведвала, і чы ён пасходзіць да шырэйшай сістэмы.
  • Гергей Орош добра гэта выразіў: існуе ўсё, што ў большай меры, чым програмаванне, робіць інжынераў унікальнымі, і гэта заслуговае на развіць. Тое, што адзначае інжынераў у 2026 годзе, — гэта сістэмы, якія яны праектуюць, спецыфікацыі, якія яны пішуць, іх суджэнне ў кантэксце дэлегавання задач і стандарты якосці, якія яны адмовляюцца паслабляць. Гэтыя навыкі цяпер ўжо ценны саме таму, што механічная рэалізацыя ўжо автаматызавана.

    Пяцядзённы план для пачатківаўцаў

    Пяць вправ прыбліжна за тыдзень, кожная з якіх будуе на празыходнай:

    • Паўніч, кодаванне знаёмасцей каманды. Напішыце файл CLAUDE.md або .cursorrules для чырговага праекту. Не пісайце спіс тэхналогій, а зазначыце стандарты: як працаваць з спалучэннямі, як структуруваць тэсты, як называць элементы, а таксама непрыявленыя правілы, якія кожны новачак павінен вывучыць вядома дня.
    • Втарг, апраначыце задачу і дэлегаванне. Выберыце адну з задач з спіску на выпаленне і напісайце ўзор спефікацыі: што яна павінна робіць, чаго не павінна робіць, крытэрыя успеху і сігналы невыпання. Перадайце ёю абсалютна всю адпаведальнасць агенту, і запісвайце час як на апраначыць спефікацыю, так і на ўтверджэнне. Спаведамленыя показнікі пакажуць, куды на самай справе ідзе зусілля.
  • Серцавек, работа паралельна. Раздзеліце ўтолькі што можна іншую функцыю на два незалежныя заведаменні і перадайце кожнае з іх сваёй сесыі агента, якая будзе працаваць з адным кантэкстам і аднаковымі лімітамі. Пасля таго разберыцеся, дзе ў выніках ёсць суперсчытання. Саме тыя месцы паказваюць, дзе раздзеленне было занадта грубым і заведаменні на самай працоўналі не былі незалежнымі.
  • Чэрвенек, перагляд з колегай. Разам працавіце над вынікамі пярэдньага дня і пораўняйце, што кожны засёк. Праследы паказваюць, дзе крэтарыя верыфікацыі трэба уточніць. Запісайце іх і дадзіце да шаблону спэкыфікацыі.
  • Пятніца: завершыце цыкл. Дадзіце тры найважлівейшыя урокі тыяжня ў CLAUDE.md: правілу, якое агент постаўляў неправільна, шаблону дэкомпанавання, яны працавалі, і перакананню, якое трэба включыць у кожны будучы аналіз. Гэта ўсё ўскладненая памяць, і агент наступнай тыяжні будзе чырвоначы ўжо лепшы, чым зараз. Калі так продаваць восемь тыяжняў, разлік будзе значным.
  • Одна тыяжнь не зробіць нікога інжынерам-агентам. Але яна паказвае, як выглядае гэтая дысцыпліна, і чы робіць пераход з напісання коду да керавання агентамі стварае энергію чы выкарыстоўвае яе. Будзь-якая з адказаў ёсць праваматыванай, але корыстна ведаць, які з іх правы.

    Дзе недастаткова толькі спецыфікацыя

    Спрытліва адказка на пытанне заключаецца не толькі у тым, каб прыйняць спефікацыю як абсалютную вярніцу, запісаць яе, дотрымвацца ўсіх ўказанняў і пераканацца ў ўсаснасці, але і ў іншых аспектах. Спефікацыя ёсць вхідным дадзенням для сістэмы керавання працэсамі, а не самастоятэльной практыкай. Ідэальная спефікацыя, даная аднаму агенту, дапамагае якісна выконаць заведамення. Аднак тая ж спефікацыя, распадзена між пяццю паралельнымі агентамі, кожны з якіх керуецца зафіксаванымі правіламі, працюе пад структураваным наглядам і мае можлівасць стэжыцца за своім розвіткам, дапамагае выконаць заведамення прыблізна у дэсяць разоў эфектывней, пры тым жа рэвалюеціі.

    Слой 4 таксама легка недаценіць. Спефікацыя вказывае на намер, а чалавек вяршыць рашэнне, чыры ён быў выпана. Спефікацыя сама сабе не нав’язваецца, і яе перакананне трэбуе такога ж дысцыплінарнага падходу, як і ў момент напісання. Перакананне, а не мадэль, фрэймворк чы інструменты, ёсць там, дзе большасць команд пачынае еканаць, калі падходзяць канечныя тэрміны.

    Што будзе далей

    Відны два направленні: адзін — майжэ павярожны, іной — спекулятывны.

    Майжэ павярожным ёсць тое, што агентны інжынерынг стане стандартным методам для прафесійнага развіцца програмнага забавы прыблізна за 18 месцаў, не таму што всі пра гэта чыталі, а таму што эканамічныя прычыны ўсёўпорні. Тры інжынеры, якія працуюць за такой метод, з чысткімі спефікаціямі, паралельным кераваннем і строгім наглядам, даюць рэзультаты, равнае тым, якія даў бы дзванаццаць інжынераў, працуючых традыцыйным спосабам. Калі лячэнне такое яснае, дыскусыя заканчываецца.

    Спекулятывным ёсць ідэя агентных рою: сетэй агентаў, якія коордынуюцься межа сабою і адрабатваюць цэлыя рабочыя працэсы або бізнес-функцыі з мінімальным участкам людзей. Ёсць команды, якія вучоцца гэтаму. Невядома, чы гэта будзе эфектываў у масштабах вялікіх падпрыемств з такой жа надзеяй на надзейнасць, і заінтэрэсаванасць лепш супаўставляць з скепсізам.

    Тое, што не ўскладнена гадка, — гэта тое, што роль інжынера ужо змянілася. Актуальным пытаннем ёсць тое, чы розвіваюцься кампетэнціі новай ролі — спецыфікацыя, оркестрацыя і перакананне — чы праця ўсё яшчэ ведзецца так, нібы напісанне коду ёсьць основной заводком. Раней заводкам было набіранне коду. Цяпер жа заводкам ёсць праектаванне сістэмы, якая яго стварае, і паказанне таго, што створана сістэма працюе правільна.