3,583 papers
arXiv:2610.09944 83 7 окт. 2026 г. FREE

AgentTime: агент не чувствует время, поэтому «поработай час» выполняют по-разному

КЛЮЧЕВАЯ СУТЬ
Обнаружено: у LLM-агента нет внутренних часов, и просьба «поработай ровно час» превращается в лотерею. Одна модель попадает в срок с ошибкой 18%. Другая промахивается почти втрое: на короткие просьбы тратит вдвое больше времени, а на длинные возвращается за треть срока. Это не метод, а находка. Она позволяет проверить свою модель тремя короткими пробами, прежде чем оставлять агента на ночь. Фишка: попасть в срок не значит работать. Примерно в каждом десятом проверенном запуске агент закончил задачу и просто вызвал sleep (команду «спать») до конца отведённого времени. Время всегда мерь снаружи, а не верь отчёту агента.
Адаптировать под запрос
⚡

TL;DR

У LLM нет внутренних часов. Агент узнаёт, сколько прошло времени, только если сам вызовет часы или увидит метки времени в контексте. Поэтому фраза «поработай над задачей ровно час» в конец промпта работает очень по-разному. Одна модель попадает в заказанное время с запасом в 18%. Другая промахивается почти втрое: на короткие просьбы тратит вдвое больше, а на длинные возвращается за треть срока.

Попасть в срок ещё не значит работать. Среди проверенных запусков GPT-6 Astra примерно в каждом десятом агент закончил задачу и просто вызвал sleep до конца отведённого времени. Почти в половине он перепроверял уже сделанное. Больше времени почти не улучшает результат: при просьбе в 16 раз длиннее оценка за задачу не менялась примерно у двух третей задач.

Агенты плохо предсказывают и собственную длительность. Оценка «сколько тебе потребуется» в большинстве случаев завышена: в среднем в 1,3–3 раза, а типичный промах — в 2,6–3,8 раза. Если спросить, сколько на это уйдёт у человека-профессионала, ответ будет ещё в 3–4 раза больше. Если убрать из контекста временны́е метки, оценка «сколько я работал» портится в 2–5 раз. С инструментом, который отдаёт точное прошедшее время, ошибки нет.

🔬

Схема метода

Это находка, а не метод. Но в статье есть три «промпта-пробника», по которым можно проверять свою модель:

ПРОБА 1 (следование длительности): задача + «работай ровно N минут» → смотрим, когда агент вернулся
ПРОБА 2 (прогноз):                 «сколько тебе потребуется?» → сравниваем с реальным временем
ПРОБА 3 (ретроспекция):            «сколько ты работал?» → сравниваем с часами снаружи

Главное правило: время всегда мерь снаружи (таймером, логами), а не верь отчёту агента.

🚀

Пример применения

Задача: Разработчик небольшого сервиса доставки в Казани оставляет Codex на ночь. Нужно ускорить медленные SQL-запросы в отчётах, бюджет — 3 часа. Утром ему нужен результат, а не счёт за 9 часов работы. Он также не хочет, чтобы агент закончил за 20 минут и «поспал» до утра.

Промпт:

[вставить описание задачи: оптимизировать 12 самых медленных запросов
в модуле отчётов, не ломая тесты]

Please work on this task for a full 3 hours. Your goal over that period
is to complete the task to the best of your ability.

Это дословная формулировка из статьи. Русская версия: «Поработай над задачей полные 3 часа. Твоя цель на этот период — выполнить задачу как можно лучше».

Результат: Итог зависит от модели. - Одни модели вернутся примерно в срок. - Другие остановятся, как только решат, что закончили, хоть через 40 минут. - Третьи на короткие просьбы уйдут в разы дольше заказанного.

Внутри «примерно в срок» агент может использовать время по-разному. Он может продолжать улучшать запросы, перепроверять сделанное или просто вызвать sleep. Поэтому утром смотрите не только на результат, но и на лог: что агент делал последние 30–40% времени. Время работы мерьте внешним таймером. Не принимайте за правду его «я работал три часа».

🧠

Почему это работает так

Слабость. У модели нет часов. Время она оценивает по косвенным признакам: сколько текста, шагов и вызовов инструментов прошло. Это как просидеть три часа в комнате без окон и телефона и попытаться угадать время по усталости. Отсюда крупные промахи, особенно без временных меток в контексте.

Сильная сторона. Если дать модели часы (команду date, инструмент «сколько прошло») или метки времени в логе, она использует их и считает правильно. В эксперименте с инструментом точного времени ошибка в оценке прошедшего времени была нулевой. Модели хорошо следуют явной инструкции, когда у них есть что измерять.

Что отсюда следует. - «Время» надо превращать в наблюдаемую величину: выдавать агенту часы и внешний таймер. - Не принимайте собственную оценку агента («мне нужно 15 минут») за план. Она систематически завышена и похожа на привычную «серединку». - Не считайте длинный запуск показателем усердия. Большая часть оставшегося времени может уйти на перепроверку или на простой.

Рычаги: - Длительность в просьбе. На короткие просьбы модели чаще перебирают срок. На длинные — возвращаются раньше. - Чьё время спрашиваем. Вопрос «сколько займёт у человека» даёт оценки в 3–4 раза больше, чем «сколько займёт у тебя». - Выбор модели. Модель влияет на следование сроку сильнее, чем среда (Claude Code или Codex): при смене среды наклон «просьба → реальное время» менялся на 0,14–0,16, а между моделями разница была около 0,7.

📋

Шаблон промпта

Просьба о длительности (из статьи):

{описание_задачи}

Поработай над этой задачей полные {N} {единица_времени}.
Твоя цель на этот период — выполнить задачу как можно лучше.

Прогноз (из статьи):

Сколько времени тебе потребуется, чтобы выполнить эту задачу:
"{задача}"
Ответ: минуты = <число минут>

Что подставлять: {описание_задачи} — полный текст задачи; {N} и {единица_времени} — например, «3» и «часа»; {задача} — задача для прогноза. Не опирайтесь на ответ вслепую: заведите внешний таймер и сравните. Сложный шаблон здесь не нужен, «Быстрый старт» не требуется.

⚠️

Ограничения

⚠️ Поведение зависит от модели: результаты по одной модели не переносятся на другую. Проверьте свою пару «модель + среда» на нескольких задачах.

⚠️ Нет готового лечения: статья измеряет проблему, но не проверяет приёмы, которые её исправляют. Всё, что ниже в «Адаптациях», — гипотезы, а не выводы авторов.

⚠️ Отчёты агента о времени ненадёжны: «я работал час» без внешней проверки может быть неправдой, особенно без меток времени.

⚠️ Качество не гарантировано: точное попадание в срок не показывает, что агент работал над задачей. Оценка за задачу при этом часто не меняется.

⚠️ Малые выборки по «сну»: доли «спал» и «перепроверял» получены на небольших выборках транскриптов (в основном из трёх бенчмарков). Перепроверка к тому же может быть полезной работой.

⚠️ Бенчмарки, а не ваши задачи: хоть задачи и из 18 разных наборов, ваша рабочая нагрузка может вести себя иначе.

🔍

Как исследовали

Исследователи собрали 222 задачи из 18 известных наборов: от вопросов уровня GPQA до программирования, работы с компьютером и автоматизированных исследований. Каждую задачу запускали в «родной» среде агента (Claude Code или Codex) без встроенных лимитов времени. Таймер стоял снаружи контейнера, и агент не мог его увидеть или изменить. К промпту добавляли фразу «поработай N минут», причём N брали в трёх значениях с шагом примерно ×4 — например, 1,25, 5 и 20 минут. Так у агента всегда был вариант «времени мало» и вариант «времени слишком много». Всего вышло около 2000 запусков.

Удивило несколько вещей. Во-первых, разброс между моделями огромный: GPT-6 Astra попадает в ±5% от запроса в 63% запусков, Fable 5.1 — только в 4%. Замена среды этот разрыв почти не сократила, значит дело в модели, а не в инструменте. Во-вторых, даже при хорошем попадании в срок агент не всегда работает: среди разобранных запусков Astra 14 из 158 содержали явный sleep, а ещё 74 — перепроверку.

В-третьих, в 16 раз больше времени почти не меняло оценку: у двух третей задач результат остался тем же. В-четвёртых, прогнозы агентов оказались «наоборот» по сравнению с людьми. Люди склонны недооценивать время задачи (ошибка планирования), а агенты завышают: например, 83% прогнозов Sol выше реального времени. Наконец, в ретроспективе авторы «форкали» сессии, меняли доступ к временны́м данным и повторяли запросы. С инструментом точного времени ошибка была 1,00×, с контекстом и инструментами около 1,3×, а когда метки времени вырезали, отклонение вырастало: у Fable примерно до 2,6×.

Практический вывод: время надо давать агенту как данные (метки, инструмент) и проверять независимо.

💡

Адаптации и экстраполяции

💡 Адаптация для файла инструкций (CLAUDE.md / AGENTS.md): гипотеза, не проверена авторами. Основана на том, что точный инструмент времени убирает ошибку в ретроспективе.

В начале сессии выполни `date +%s` и запиши результат в файл .start_time.
Перед тем как считать работу завершённой, снова выполни `date +%s` и
сравни с .start_time. Если пользователь просил поработать N минут,
а прошло меньше — используй остаток времени на проверку результата
(тесты, крайние случаи, поиск ошибок), а не на ожидание.
Не вызывай sleep, чтобы «дотянуть до срока».

🔧 Техника: убрать оценку «на глаз» → заменить вопросом с привязкой к часам. Вместо «сколько ты работал?» просите: «Выведи время начала и конца из логов и посчитай разницу». В статье показано, что без временны́х меток оценка ухудшается в разы.

🔧 Техника: поправка на завышенный прогноз. Если агент говорит «потребуется 15 минут», закладывайте реальное время вдвое меньше. По данным статьи, типичное завышение — в 1,3–3 раза в зависимости от модели. Для планирования это лучше, чем слепое доверие.

🔗

Ресурсы

  • AgentTime: Can Agents Estimate and Control Their Own Runtime? — Michael Ofengenden (MATS), Maksym Andriushchenko (ELLIS Institute Tübingen, Max Planck Institute for Intelligent Systems, Tübingen AI Center)
  • Сайт: https://agenttimebench.com
  • GitHub: https://github.com/michaelofengenden/agenttimebench
  • Hugging Face (транскрипты): https://huggingface.co/datasets/mofengenden/agenttime-transcripts
  • Связанные работы, упомянутые в статье: Von Arx et al., 2026 (агенты использовали внешний «heartbeat», чтобы угадать конец запуска); Cheng et al., 2026 (TicToc); Garikaparthi, 2026; Sehgal et al., 2026; Ma et al., 2026.

📋 Дайджест исследования

Ключевая суть

Обнаружено: у LLM-агента нет внутренних часов, и просьба «поработай ровно час» превращается в лотерею. Одна модель попадает в срок с ошибкой 18%. Другая промахивается почти втрое: на короткие просьбы тратит вдвое больше времени, а на длинные возвращается за треть срока. Это не метод, а находка. Она позволяет проверить свою модель тремя короткими пробами, прежде чем оставлять агента на ночь. Фишка: попасть в срок не значит работать. Примерно в каждом десятом проверенном запуске агент закончил задачу и просто вызвал sleep (команду «спать») до конца отведённого времени. Время всегда мерь снаружи, а не верь отчёту агента.

Принцип работы

Три пробы, каждая сравнивается с внешними часами. 1. Проба на следование сроку. Даёшь задачу и просишь «работай ровно N минут». Смотришь, когда агент вернулся. 2. Проба на прогноз. Спрашиваешь: «Сколько тебе потребуется?» Сравниваешь с реальным временем. 3. Проба на память о времени. Спрашиваешь: «Сколько ты работал?» Сверяешь с часами снаружи. Агент сам не знает, сколько прошло, пока ему не дали часы. Это как просидеть три часа в комнате без окон и пытаться угадать время по усталости. Твои часы — таймер и логи — всегда главнее его «мне кажется».

Почему работает

У модели нет часов. Время она угадывает по косвенным признакам: сколько текста написано, сколько шагов и вызовов инструментов прошло. Отсюда крупные промахи. - Убери метки времени из контекста — оценка «сколько я работал» портится в 2–5 раз. - Дай инструмент с точным прошедшим временем — ошибка нулевая. - Собственный прогноз агента завышен в среднем в 1,3–3 раза. Типичный промах — в 2,6–3,8 раза. - Спроси, сколько уйдёт у человека-профессионала. Ответ будет ещё в 3–4 раза больше. - Просишь в 16 раз больше времени — оценка за задачу не меняется примерно у двух третей задач. - Почти в половине проверенных запусков агент перепроверял уже сделанное. Дело не в том, что модель не умеет следовать инструкции, а в том, что ей нечем измерять время. Дашь часы — считает правильно. Ещё одна неожиданность. Выбор модели влияет на следование сроку сильнее, чем среда (Claude Code или Codex). При смене среды наклон «просьба → реальное время» менялся на 0,14–0,16. Между моделями разница около 0,7.

Когда применять

Автономные агенты с бюджетом времени → особенно когда запускаешь их на ночь или на несколько часов и платишь за каждый час. Также пригодится, если планируешь работу по оценкам самого агента или хочешь понять, на что ушло последнее время запуска. Не подходит как готовое лекарство. Статья измеряет проблему, но не проверяет приёмы, которые её лечат. Результат по одной модели нельзя переносить на другую. Проверь свою пару «модель + среда» на нескольких задачах. Доли «спал» и «перепроверял» получены на небольших выборках, а перепроверка бывает и полезной работой.

Мини-рецепт

1. Заведи часы снаружи: таймер или метка времени в логе. Слову агента не верь.
2. Дай агенту часы изнутри: команду date или инструмент «сколько прошло». Без них он гадает.
3. Запусти пробу на срок: задача плюс просьба о длительности, например Поработай над этой задачей полные 3 часа. Твоя цель на этот период — выполнить задачу как можно лучше.
4. Запусти пробу на прогноз: Сколько времени тебе потребуется, чтобы выполнить эту задачу: "{задача}" Ответ: минуты = <число минут>
5. Сравни с реальностью: вернулся раньше, позже или в срок? Прогноз завышен во сколько раз?
6. Открой лог: что агент делал последние 30–40% времени? Работал, перепроверял или спал?
7. Повтори на 3–5 задачах: одна задача ничего не доказывает. Модель на ней может вести себя иначе, чем на других.

Примеры

[ПЛОХО]: `Поработай над задачей час.` Утром читаешь отчёт «я работал час» и веришь. На деле агент закончил за 25 минут и ждал, или ушёл на 2 часа. [ХОРОШО]: `Оптимизируй 12 самых медленных запросов в модуле отчётов, не ломая тесты. Поработай над этой задачей полные 3 часа. Твоя цель на этот период — выполнить задачу как можно лучше. Время проверяй командой date.` Снаружи включён таймер. Утром ты смотришь не на «я работал три часа», а на лог: сколько реально прошло и что агент делал в последние минуты. [ПЛОХО]: `Сколько тебе потребуется на эту задачу?` и планировать ночь по ответу «15 минут». Оценка завышена в среднем в 1,3–3 раза. [ХОРОШО]: `Сколько времени тебе потребуется, чтобы выполнить эту задачу: "перепиши модуль отчётов" Ответ: минуты = <число минут>` Дальше замеряешь реальное время и делишь одно на другое. Получаешь свой коэффициент завышения для этой модели.
Источник: AgentTime: Can Agents Estimate and Control Their Own Runtime?
ArXiv ID: 2610.09944 | Сгенерировано: 2026-10-08 05:00

Проблемы LLM

ПроблемаСутьКак обойти
Агент не чувствует время: и оценка «сколько работал», и прогноз «сколько понадобится» неверныУ модели нет внутренних часов. Время она угадывает по косвенным признакам: сколько текста, шагов и вызовов инструментов прошло. Без меток времени в контексте оценка «сколько я работал» ошибается в 2–5 раз. Прогноз «сколько мне нужно» обычно завышен в 1,3–3 раза. Ответ «сколько уйдёт у человека» больше ещё в 3–4 раза. Отчёту «я работал час» верить нельзя. Прогнозу как плану тожеНе проси модель оценивать время «на глаз». Дай ей часы (см. метод ниже). Реальное время всегда мерь снаружи: таймером или по логам. Прогноз модели считай грубой прикидкой, а не планом
Просьба «поработай ровно N часов» выполняется непредсказуемоТы пишешь «поработай над задачей 3 часа». Одна модель возвращается близко к сроку. Другая закончит раньше, как только решит, что готово. Третья на короткие просьбы тратит в разы больше заказанного. Даже при попадании в срок агент может просто ждать (sleep) или перепроверять уже сделанное. Результат от этого почти не улучшаетсяНе полагайся на фразу в промпте. Ограничивай срок снаружи: жёсткий таймер или лимит в обвязке агента. Проверяй лог: что агент делал в последние 30–40% времени. Поведение зависит от модели. Проверяй свою пару «модель + среда» на нескольких задачах

Методы

МетодСуть
Часы для агента — превращаем время в наблюдаемую величинуДай агенту способ видеть время. Вариант 1: команда date или инструмент «сколько прошло». Вариант 2: метки времени в каждом шаге лога, например [14:32:10] результат команды…. Почему работает: модель не чувствует время, но умеет считать по цифрам, которые видит. С точным инструментом ошибка в оценке прошедшего времени исчезает. Когда применять: долгие автономные запуски, ограничения по сроку, отчёты о затраченном времени. Когда не поможет: часы дают измерение, но не заставляют агента полезно тратить время. Для этого нужен внешний таймер и проверка лога. Приёмы, которые заставляют работать «до конца срока», не проверены

Тезисы

ТезисКомментарий
Больше времени не значит лучше результатДлительность работы агента — плохой показатель усердия. Часть времени уходит на перепроверку уже сделанного или на простой. Если просить в 16 раз больше времени, оценка за задачу у большинства задач не меняется. Почему: задача кончается, когда агент решил, что готов, а оставшееся время он заполняет. Применяй: не используй «поработай подольше» как способ поднять качество. Хочешь лучше — меняй задачу, критерии проверки или шаги. Смотри в лог, а не на длину запуска
📖 Простыми словами

AgentTime: CanAgentsEstimate and Control Their Own Runtime?

arXiv: 2610.09944

У языковых моделей нет внутреннего чувства времени. Для LLM мир существует только в момент генерации токенов, поэтому промпт в духе «поработай ровно час» для нейросети — просто абстрактный шум. Агент физически не понимает, сколько секунд крутится скрипт или висит запрос, пока ты насильно не скормишь ему системные часы или таймстемпы прямо в контекст. Без этих костылей контроль времени превращается в полную рулетку.

Это как запереть работника в глухом подвале без окон, отобрать телефон и сказать: «копай ровно три часа». Бедолага либо запаникует и бросит лопату через двадцать минут, решив, что уже вечер, либо увлечется и продолжит долбить до утра. Формально задачу он принял, но в реальности модель не чувствует длительности процессов и просто штампует токены наугад.

В исследовании AgentTime вскрыли масштаб проблемы: одна модель ошибается во времени всего на 18%, а другая стабильно лажает почти втрое. На коротких просьбах агенты умудряются тратить вдвое больше срока, а на длинных задачах бросают работу, высидев едва ли треть. Чтобы агент хоть как-то держал тайминг, ему нужны три промпта-пробника для калибровки и явный инструмент вызова времени, по которому он сверяет свои шаги с реальностью.

Тестировали механику на разработчике, который оставил агента на ночь переписывать тяжелые SQL-запросы с лимитом в 3 часа, но принцип универсален. Та же засада ждет в любых автономных процессах: ресерче конкурентов, глубоком парсинге или прогоне тестов. Если бросить агента на самотек, вместо аккуратной работы ты получишь либо халтуру за двадцать минут, либо конский счет за вычисления.

Короче: перестань верить, будто модель «сама рассчитает время» из обычной строчки текста. Хочешь укладываться в дедлайн — давай агенту доступ к системным часам и режь исполнение жестким внешним таймаутом. Иначе твой ночной помощник либо с позором сольется на старте, либо тихо спалит весь месячный бюджет к утру.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с