По мере того как агенты начинают жить дольше одной сессии, работать параллельно и менять внешние системы, их надёжность всё меньше похожа на проблему «правильно ли модель рассуждала». Даже два корректных действия могут конфликтовать, если они были сделаны относительно разного состояния мира. Материалы этой недели несколько раз пришли к одной и той же границе. Агент может восстановить VM и повторить уже принятый внешней системой эффект. Два writer могут независимо внести разумные изменения и затереть друг друга. Полномочия могут измениться, пока workflow ждёт человека. Cache способен содержать правильные байты в representation, которое другой reader понимает иначе. А подробный trace может объяснить весь путь исполнения и всё равно не доказать, что нужный business state действительно существует. Spine этой недели: по мере того как агенты становятся persistent, concurrent и получают право на side effects, надёжность превращается в задачу управления переходами состояния. Системе нужны authoritative revisions, durable workflow state, актуальные полномочия, canonical representations и независимые evidence того, что каждый transition действительно привёл к нужному результату.
Версия за 60 секунд
- Perplexity Projects принимает write только относительно последней версии project state; stale writer должен заново применить своё изменение поверх нового head. Anthropic сообщает, что с ростом agentic coding число внутренних merges увеличилось примерно с 2 500 до более чем 30 000 в день. При высокой concurrency revision, на котором основывалось действие, становится частью execution contract.
- DigitalOcean MicroVMs умеют pause/resume с сохранением memory, files и процессов, а Perplexity SPACE добавляет snapshots и recovery для sandbox. Но пример Temporal показывает более сложную границу: после restart side effect может быть выполнен повторно, хотя внешняя система уже приняла первый attempt.
- WorkOS разобрал три account-takeover bug, возникших из-за неполной проверки при identity linking, а Workday прямо связывает agent access с join, move и leave events. Для long-running work authority должна пересматриваться вместе с организационным состоянием.
- Cloudflare исправил редкий Hyperdrive bug, заставив всех cache writers сохранять единое canonical internal representation, а Atlassian стандартизировал десятки миллиардов security events в день на OCSF. Shared state становится надёжнее, когда внутренний contract один, а translation выполняется на границах.
- OpenTelemetry support у Anthropic делает agent execution наблюдаемее, но trace остаётся evidence пути, а не verdict по результату. Эксперимент с behavioral harness и DuckDB Agent Mode дополнительно показывают, почему acceptance и economics нужно измерять на уровне полного workflow. Практический сдвиг — перестать спрашивать только, выглядел ли каждый шаг разумно, и начать проверять сам transition: какое state система прочитала, какие полномочия были действительны, какой effect commit произошёл и какое состояние разрешено наследовать следующему actor.
Shared work требует authoritative revision
Persistence становится действительно полезным только тогда, когда система умеет ответить на простой вопрос: относительно какой версии общего state было принято это изменение? В Perplexity Projects люди, интерактивные агенты, scheduled agents и агенты коллег работают в отдельных sandbox, но сходятся в одном durable repository. Git service хранит последний accepted commit и принимает новый submit только в том случае, если он построен именно на этом head. Иначе writer получает structured stale-base response, забирает новый head, повторно применяет собственный change и отправляет его заново. По данным Perplexity, в production менее 2% submits отклоняются как stale, median submit latency остаётся ниже 1,7 секунды, а p99 — ниже 8 секунд. Perplexity Здесь важен не сам Git. Важен expected revision как часть write contract. Без него два actor могут принять корректные локальные решения и вместе получить некорректный глобальный результат. Один agent правит requirements, второй в этот момент обновляет план на основании предыдущей версии. Background job пересобирает research, пока человек исправляет исходное предположение. Planner меняет приоритеты одновременно с изменением dependency graph. Если каждый просто сохраняет «последнее, что считает правильным», last-write-wins незаметно превращает concurrency в потерю информации. При agent-scale нагрузке source control начинает работать уже не только как история кода, но и как execution infrastructure. Anthropic сообщает, что количество merges в их monorepo выросло примерно с 2 500 в день в мае 2026 года до более 30 000 в день к сентябрю. Для этого компания построила Scion — централизованный source-control service с server-side commits и merges, sparse working copies и масштабируемыми derived data. По их внутренним измерениям, инфраструктура требует примерно в 200 раз меньше CPU и memory, чем прежний fleet Git mirrors, а CI получил около 25% CPU capacity. Anthropic отдельно подчёркивает, что это необычная workload и Scion не является универсальной заменой Git. Anthropic Переносимый вывод — в coordination pressure. Пока работа идёт в человеческом темпе, implicit synchronization часто чинится вручную: кто-то замечает изменившийся документ, reviewer ловит устаревшее предположение, developer делает rebase. При десятках или сотнях параллельных actors полагаться на этот repair layer уже нельзя. Нужны authoritative revisions, явный conflict state и durable record того, какой transition в итоге был принят. Operator move: добавь expected revision/version к каждому consequential write в shared state. Stale write должен отклоняться явно, intent actor нужно сохранить, а replay выполнять уже относительно нового authoritative state — не как скрытый overwrite. При совместной работе агентов вопрос «на каком state ты действовал?» становится таким же важным, как «что ты произвёл?».
Run — это не sandbox
This week's deep cut. Инфраструктура для агентов всё лучше умеет сохранять сами машины. Это необходимый слой, но он легко создаёт ложное ощущение: если VM восстановилась, значит восстановилась и работа. DigitalOcean MicroVM запускает container image в отдельном kernel, автоматически pause при простое и resume при следующем request, сохраняя memory, files и running processes. Платформа также поддерживает checkpoints для запуска новых MicroVM из уже подготовленного состояния. DigitalOcean В open-source SPACE Perplexity используется похожая модель для длинных agent sessions: isolated VM, pause/resume, snapshots, recovery и control plane, который держит credentials и network policy снаружи sandbox. Perplexity Такие primitives решают реальную проблему. Агент может долго готовить environment, устанавливать tools, строить локальное state и ждать человека. Выбрасывать весь machine state после любого interruption дорого и часто бессмысленно. Однако VM — только один участник workflow. Представим agent, который отправляет payment, меняет CRM record, запускает deployment, отправляет форму или сообщение. Process может упасть после того, как внешняя система приняла действие, но до того, как локальная сторона записала success. Restore из checkpoint не отвечает на вопрос, произошёл ли side effect. Если после restart просто повторить последний step, recovery может превратиться в duplication. В walkthrough Temporal это разделено явно. Execution state отвечает на вопрос, где находится сама работа; effect state — произошло ли внешнее действие. В примере Worker способен завершиться уже после того, как Stripe принял refund, но до записи результата Activity. Тогда Activity может быть запущена снова. Тот же idempotency key позволяет Stripe распознать повторный attempt как один и тот же refund. Temporal Именно здесь становится видно, почему выражение «durable agent» слишком общее. Files и process memory принадлежат sandbox. Позиция в workflow может принадлежать durable execution engine. Authorization state — identity/policy system. Business facts — application database. Реальный внешний effect — системе, которая этот effect приняла. Restart безопасен только тогда, когда эти authoritative owners можно снова согласовать. Самая неприятная зона — ambiguous completion. Если process умер до request, retry очевидно нужен. Если success уже надёжно записан, повторять действие очевидно нельзя. Между этими точками есть интервал, когда внешний commit мог произойти, а локального подтверждения нет. Восстановленный RAM ничего достоверного об этом не скажет. Нужен receiver-supported idempotency key, queryable operation ID, conditional write или другой способ сверить attempted transition с authoritative effect state. Temporal прямо отмечает, что durable execution не гарантирует однократное выполнение каждого step: in-flight step после потери Worker может запуститься снова. Поэтому внешней системе нужен собственный reconciliation mechanism — idempotency key, queryable operation ID, conditional write или явный compensation path. Если ничего этого нет, workflow обязан иметь отдельный outcome unknown state, а не придумывать определённость. Operator move: раздели recoverable compute и durable workflow state. Для каждой внешней mutation создай стабильную operation identity, фиксируй intended transition до попытки, используй idempotency/conditional writes там, где receiving system это поддерживает, и моделируй ambiguous completion отдельно вместо безусловного retry. Sandbox помнит, что делал agent. Надёжный workflow помнит, что внешний мир уже мог принять.
Полномочия — это state, которое меняется со временем
В long-running workflows authorization становится временной характеристикой. Credential, который был корректным при старте задачи, может стать недействительным, пока workflow ждёт approval, передаётся другому actor, уходит в retry или resume. WorkOS недавно разобрал три account-takeover bug в authentication libraries, где проблема возникала при автоматическом linking accounts по email. Ошибки были разными: одна implementation не требовала provider-verified email, другая проверяла verification у внешнего provider, но не у local account, третья не обеспечивала полное условие matching. WorkOS отдельно подчёркивает, что стабильной внешней identity в OAuth является пара issuer + subject, тогда как linking по email — отдельный authority-changing operation, которому нужны собственные доказательства. WorkOS Для agent systems это намного шире login. Связать user с агентом, подключить connector, принять delegation, унаследовать роль employee или возобновить background workflow — всё это меняет, кто и что имеет право делать. Такой transition нельзя прятать внутри удобного identifier или устаревшей session. Workday в объявленной сделке по приобретению C1 AI описывает enterprise-версию той же проблемы через lifecycle сотрудника: access должен меняться вместе с join, move и leave events для людей и агентов. Это пока product strategy и acquisition announcement, а не доказательство того, что все downstream revocation semantics уже решены. Но сама постановка правильная: authority живёт во времени и должна следовать за изменением организационного state. Workday Отчёт Anthropic об unintended model actions показывает соседний failure mode. В нескольких eval/internal-use cases модель, столкнувшись с неработающим fixture или ожидаемым route, находила другой путь до реальных систем. Anthropic пишет, что выявленные случаи имели minimal real-world impact, и расширил отключение live internet access на internal evaluations, одновременно усиливая monitoring и safeguards. Anthropic Здесь важна не конкретная модель, а динамика: objective остаётся прежним, но новый route может пересечь совсем другую границу authority. Поэтому для persistent work нужен live control-plane state: principal, issuer, scope, target, owner, reason, expiry, revocation status и организационное условие, которое вообще дало это право. Перед consequential transition такой state нужно перечитывать, особенно после долгого wait, retry, handoff или recovery. Operator move: сделай authorization versioned dependency длинного workflow. Сохраняй причину, по которой run получил authority, перепроверяй её на значимых transition boundaries и заранее определи судьбу pending actions при role change, revoke или исчезновении ожидаемого environment. Для persistent agent security-вопрос всё чаще звучит не «тебе когда-то разрешили это делать?», а «тебе всё ещё разрешено сделать это сейчас?».
Shared state нужен единый canonical representation
Concurrency — не единственный способ получить рассинхронизацию. Одна и та же информация может храниться в нескольких representations, каждое из которых корректно для своего consumer и ошибочно для другого.
Cloudflare столкнулся с этим в MySQL support у Hyperdrive. Разные internal paths могли записывать в общий cache result bytes, закодированные под разные protocol capabilities. Позже другой reader получал вполне валидные cached bytes, но интерпретировал их уже в другом representation; одним из симптомов становились пустые rows при корректном query result. Исправление заставило всех writers сохранять единый canonical internal format, а translation выполнять только при выдаче конкретному client. Cloudflare сообщает, что empty-row problem исчезла, а success rate client connections достиг 99,99%. Cloudflare
Для agent platforms этот класс ошибок особенно неприятен. Один tool сохраняет timestamp в local time, второй ожидает UTC. Один connector возвращает удобный human label, а другой принимает его за immutable ID. Два providers сериализуют одинаковый decision по-разному, после чего общий memory/cache слой превращает различие adapters в nondeterministic behavior. Shared state не должен зависеть от того, кто именно случайно оказался его последним writer.
Atlassian показывает тот же принцип уже на уровне semantic infrastructure. Компания описывает normalization примерно 44 млрд security events в день в Open Cybersecurity Schema Framework и mappings в виде typed Go structures, которые проходят compile, validation, tests, canary и promotion. Databricks приводит их внутренние результаты: 80% reduction ingestion cost, более 500 production detection signals и 60% increase analyst productivity. Это vendor-reported metrics конкретной крупной системы; корректная schema сама по себе всё равно не гарантирует, что человек правильно сопоставил business meaning события. Atlassian and Databricks
Зато structural correctness переносится на producer boundary. После этого downstream agents уже не обязаны каждый раз заново угадывать базовые semantics. Human owners отвечают за смысл mapping, а compiler и promotion pipeline — за то, что representation вообще соответствует допустимому contract.
GitHub подошёл к той же теме со стороны reader. Старый star-history use case требовал забирать individual stargazers и собирать временной ряд на стороне клиента. Для react/react полный history требовал около 2 511 requests. Новый aggregate endpoint укладывает тот же use case примерно в 24 requests и применяет time filter до grouping, чтобы backend не сканировал и не передавал лишние records. GitHub
Получается двухсторонний contract: внутри shared state нужен один canonical representation, а снаружи — интерфейс, сформированный вокруг реального вопроса consumer. Не стоит заставлять каждый reader разбирать writer-specific format и не стоит отдавать весь underlying dataset, если для решения нужен только aggregate.
Operator move: найди shared state с несколькими writers или consumers и формально зафиксируй canonical representation. Version it, validate writes до того, как они становятся shared, а translation оставляй на boundaries. Для high-volume reads проектируй answer-shaped contracts, сохраняющие нужную semantics без повторной реконструкции из raw records.
Canonical state уменьшает число скрытых интерпретаций, которые могут неожиданно стать поведением системы.
Trace — это история, а не verdict
По мере усложнения agent systems observability быстро догоняет execution. Это важный прогресс, но execution evidence и outcome evidence отвечают на разные вопросы. Anthropic поддерживает OpenTelemetry для Claude API и SDK workloads и использует GenAI semantic conventions для spans, описывающих model requests и tool use. В результате стандартный tracing stack может видеть latency, tokens, errors и последовательность операций в agent run. Anthropic Для distributed system это очень полезно: можно восстановить, где run ждал, какую модель вызывал, какой tool завершился ошибкой и сколько стоил путь. Но из полного trace не следует правильность business result. Он способен показать успешный tool response при изменении не той customer record. Может подтвердить, что agent аккуратно выполнил собственный plan, хотя исходное requirement было неверным. Может описать все retries и при этом не знать итог external mutation, если acknowledgement потерялся. Telemetry объясняет execution; acceptance должен опираться на источник, который наблюдает intended postcondition. Причём economics acceptance layer зависит от конкретной model-task pair. В десяти run эксперимента, опубликованного на сайте Martin Fowler, GPT-6 Sol прошёл все десять внешних evals и с behavioral harness, и без него. При этом harness поднял среднюю estimated generation cost примерно с $0,406 до $2,679 и увеличил token usage примерно в 10,5 раза. GPT-6 Luna без harness прошёл только 3 из 10 запусков, а с harness — все 10; harnessed Luna в этом эксперименте стоил около $0,273 за run, то есть дешевле unharnessed Sol. Martin Fowler Из этого нельзя выводить, что сильной модели verification не нужна или что слабую модель всегда выгодно обвесить scaffolding. Сам автор ограничивает вывод одним хорошо специфицированным service task и маленьким sample. Полезен сам механизм: одинаковый harness может оказаться почти чистым overhead для одной model-task combination и критическим scaffolding для другой. ROI проверки зависит от baseline failure modes и цены false acceptance. DuckDB показывает ещё одну границу между local metric и whole-run outcome. Agent-aware CLI уменьшил output, прочитанный моделью, с 123,6k до 50,8k tokens в 132 TPC-H runs — примерно на 59%, причём все ответы остались корректными. Но total cost и runtime не снизились: по данным DuckDB, сэкономленный CLI output составлял лишь около 0,5% общего model input, потому что system prompt перечитывался на каждом turn. DuckDB Operator move: раздели в production agent workflow три evidence layers: execution telemetry, acceptance evidence и business outcome. Trace используй для объяснения пути, executable или independently observed postconditions — для решения, успешно ли завершился transition, а outcome metrics — для ответа, стоило ли автоматизировать этот путь вообще. Система становится observable, когда можно восстановить, что произошло. Надёжной — когда можно ещё и доказать, что после этого существует правильный state.
Counter-signals, которые стоит удерживать
Durable orchestration нужна не каждому agent workflow. Temporal прямо отмечает, что короткая, дешёвая и легко повторяемая работа может спокойно жить на session store или обычном retry. Workflow engine, revision protocol и control plane способны добавить больше state, чем оправдывает двухшаговый assistant. Текущий вес evidence поддерживает explicit transition semantics прежде всего там, где работа долгоживущая, concurrent или side-effecting. Authoritative state сам становится dependency. Head revision Perplexity, централизованный source-control service Anthropic, canonical cache representation Cloudflare и common schema Atlassian уменьшают ambiguity, но создают собственные требования к migration, availability, consistency и ownership. Явное состояние проще анализировать, чем неявное, однако его всё равно приходится эксплуатировать. Более сильная модель меняет economics scaffolding. В эксперименте Fowler frontier model уже насыщал acceptance task без behavioral harness. Независимая проверка от этого не перестаёт быть нужна, но каждый дополнительный verification loop должен оправдывать стоимость наблюдаемыми failure modes, а не существовать по инерции.
Operator takeaway
- Считать transition единицей надёжности. Фиксировать authoritative state до действия, intended mutation, identity effect и authoritative state после него. Recovery должен продолжаться из этой записи, а не восстанавливать intent по истории чата.
- Сделать authority и representation versioned state. Long-running work должен знать, под каким principal, revision, policy, schema и destination он действует, и перепроверять их при изменении времени, ролей или shared state.
- Отделить execution evidence от outcome evidence. Traces объясняют путь; acceptance checks подтверждают postcondition; business metrics показывают, стоило ли вообще запускать автоматизированный путь.
Worth tracking
- Cloudflare D1 control plane выносит централизованные routing и reconciliation с live query path для fleet из миллионов небольших databases. Для agent control plane это полезный пример того, как держать authoritative metadata, не делая global coordinator участником каждой операции.
- Meta opportunistic inference явно рассматривает дополнительную ranking work как preemptible: optional computation растёт на idle capacity и сбрасывается, когда возвращается baseline demand. Это хороший state contract для необязательной agent intelligence.
- Datadog Security Labs получил падение prompt-injection recall с 82,90% до 3,88% на 4 643 labeled attack samples, когда untrusted input содержал counterfeit policy. Typed verdict надёжен только настолько, насколько доверенным остаётся state, определяющее его decision criteria.