Harness AI-агентів OpenAI Codex використовує промпт-інструкції для детермінованого очікування задач
Аналіз основного harness AI-агентів у OpenAI Codex виявив вбудований модуль awaiter, налаштований через TOML та промпт-інструкції. Він використовує експоненційне опитування для очікування завершення завдань та вимагає від LLM детермінованої поведінки.

Вплив: Середній
Чому це важливо
Інженери, які розробляють оркестратори тривалих AI-агентів, можуть перейняти паттерни експоненційного опитування та awaiter-промптів з Codex для надійного фонового виконання задач.
TL;DR
- 01OpenAI Codex ізолює фонове опитування задач у спеціалізованого під-агента awaiter із таймаутом до 1 години.
- 02Системний промпт застосовує експоненційне збільшення затримок для зменшення кількості викликів API під час тривалих процесів.
- 03Інструктування моделей поводитися детерміновано залишається прагматичним компромісом для гібридних оркестраторів.
Ключові факти
- Макс. таймаут фону
- 3 600 000 мс (1 година)
- Паттерн оркестратора
- Опитування з експоненційною затримкою
- Формат конфігурації
- TOML
Аналіз паттерну Builtin Awaiter у OpenAI Codex
Вивчення репозиторію OpenAI Codex Rust core (codex-rs/core/src/agent/builtins/awaiter.toml) показує, як промислові каркаси AI-агентів керують тривалими термінальними та системними процессами. Harness створює спеціалізовану роль під-агента, призначену виключно для опитування та очікування завершення команд.
Параметри конфігурації та системні інструкції
Конфігурація визначає максимальний таймаут фонового терміналу в 3600000 мілісекунд (1 година). Основні операційні правила у системному промпті включають:
- Виконання або опитування ідентифікаторів задач через виклики інструментів.
- Продовження циклу опитування до досягнення термінального стану або отримання команди зупинки.
- Застосування експоненційного запізнення для таймаутів та затримок при кількох повторних операціях.
- Вимога детермінованої поведінки через явні системні інструкції розробника.
Практичні висновки для інженерії
Хоча вимога до LLM "поводитися детерміновано та консервативно" спирається на виконання промпту, цей паттерн надає чіткий шаблон для асинхронних агентів. Використання експоненційного збільшення затримок запобігає швидкій витраті токенів під час тривалого збирання проєкту, тестування чи деплою.
Спробуй за 2 хвилини
background_terminal_max_timeout = 3600000
developer_instructions = """
You are an awaiter.
Execute or await the command using the appropriate tool until it reaches a terminal state.
If you need multiple awaits, increase the timeouts/yield times exponentially.
You must behave deterministically and conservatively.
"""toml
✓ Коли використовувати
- Проєктування під-агентів для тривалих CLI-процесів, збірок або тестів у каркасах AI-агентів.
- Впровадження стратегій експоненційної затримки для запобігання спалюванню токенів при частому опитуванні.
✕ Коли НЕ варто
- Системи реального часу, де детерміновані гарантії мають забезпечуватися системним кодом, а не промптом.
- Короткі синхронні виклики інструментів з миттєвою відповіддю.
Що зробити сьогодні
- Перевірте цикли опитування у власних AI-агентах та додайте експоненційні затримки для оптимізації витрат токенів.
- Встановіть чіткі максимальні таймаути для фонових процесів (наприклад, 3 600 000 мс) у інструментах агента.
Що каже спільнота
“Why can't harnesses have a true deterministic scheduler and task orchestrator? I find it ironic the markdown with 'You must behave deterministically'”
Джерела