Хочете розібратися в інтелектуальному агенті Codex? Не пропустіть цей глибокий аналіз!
Хочете розібратися в інтелектуальному агенті Codex? Не пропустіть цей глибокий аналіз!
OpenAI щойно зробила щось "незвичайне".
Зазвичай OpenAI випускає більш потужні моделі (наприклад, o1), але цього разу вони опублікували глибокий технічний блог 《Unrolling the Codex agent loop》, не тільки відкривши вихідний код основної логіки Codex CLI, але й покроково розібрали, як саме працює зрілий інтелектуальний агент кодування (Coding Agent).

У той час, коли Claude Code і Cursor шалено набирають популярність, ця стаття OpenAI є не тільки демонстрацією сили, але й "посібником із запобігання помилкам для архітекторів Agent". Незалежно від того, чи хочете ви добре використовувати інструменти AI-програмування, чи хочете розробити власний Agent, цю статтю варто прочитати слово в слово.
У статті понад 8300 слів, на читання знадобиться приблизно 20 хвилин.
Перш за все, що таке Codex CLI?
Codex CLI — це інструмент Agent кодування з відкритим вихідним кодом від OpenAI, який можна запускати на локальному комп'ютері або встановлювати в редакторі коду. Підтримує VS Code, Cursor, Windsurf тощо.
Адреса відкритого коду: https://github.com/openai/codex

А Agent Loop (цикл агента), про який ми сьогодні поговоримо, є основною логікою Codex CLI: він відповідає за координацію користувача, моделі та викликів моделі для виконання цінних взаємодій між інструментами.
Agent Loop (Цикл інтелектуального агента)
Модель — це лише компонент, Agent (інтелектуальний агент) може створити продукт.
В основі кожного AI Agent лежить так званий "цикл інтелектуального агента (Agent Loop)". Схема циклу інтелектуального агента виглядає наступним чином:

Ми зазвичай вважаємо, що AI-програмування — це: "Я запитую, він відповідає". Але всередині Codex CLI це складний нескінченний цикл...
Стандартний Agent Loop містить такі етапи:
- Інструкції користувача: набір текстових інструкцій, введених користувачем (наприклад, "реструктуруйте цю функцію").
- Висновок моделі: модель вирішує, чи відповідати безпосередньо, чи викликати інструмент (Tool Call).
- Виклик інструменту: якщо модель вирішує викликати list files або run shell, CLI виконує ці команди локально.
- Спостереження (Observation): результат виконання інструменту (код, помилка, список файлів) фіксується.
- Цикл: ці результати додаються до історії розмови та знову передаються моделі. Побачивши результат, модель вирішує, що робити далі.
- Завершення: доки модель не вважатиме завдання виконаним, і не виведе остаточну відповідь.
Весь процес від "введення користувача" до "відповіді інтелектуального агента" називається раундом розмови (у Codex це називається потоком).

У міру розвитку розмови збільшується і довжина підказки (Prompt), яка використовується для висновків моделі. Ця довжина важлива, оскільки кожна модель має контекстне вікно, яке представляє максимальну кількість токенів, які модель може використовувати за один виклик висновку.
Висновок моделі
Codex CLI надсилає HTTP-запит до Responses API для висновку моделі. Codex використовує Responses API для керування циклом агента.
Що таке Responses API?
Responses API — це інтерфейс розробки інтелектуальних агентів нового покоління, запущений OpenAI у березні 2025 року, який має на меті уніфікувати можливості розмови, виклику інструментів і мультимодальної обробки, щоб надати розробникам більш гнучкий і потужний досвід створення AI-додатків.
Кінцева точка Responses API, яку використовує Codex CLI, є налаштовуваною та може використовуватися з будь-якою кінцевою точкою, яка реалізує Responses API.

Модель виконує вибірку (генерує відповідь)
HTTP-запит, надісланий до Responses API, запускає перший «раунд» (turn) у розмові Codex. Сервер повертає відповідь потоком через Server-Sent Events (SSE).

Зверніть увагу, що підказка попереднього раунду є точним префіксом нової підказки. Такий дизайн може значно підвищити ефективність наступних запитів — можна використовувати механізм кешування підказок.

Вплив постійного збільшення підказки з кожним раундом
1. З точки зору продуктивності
- Збільшення вартості вибірки моделі: постійне збільшення підказки призведе до збільшення вартості вибірки моделі, оскільки процес вибірки потребує обробки більшої кількості даних, що призводить до збільшення обчислень.
- Зниження ефективності кешування: оскільки підказка постійно збільшується з кожним раундом, складність точного зіставлення префіксів збільшується, а ймовірність потрапляння в кеш зменшується.
2. З точки зору управління контекстним вікном
- Контекстне вікно легко вичерпується: постійне збільшення підказки призведе до швидкого збільшення кількості позначок у розмові, і як тільки буде перевищено поріг контекстного вікна, це може призвести до вичерпання контекстного вікна.
- Збільшення необхідності операцій стиснення: щоб уникнути вичерпання контекстного вікна, необхідно стиснути розмову, коли кількість позначок перевищує поріг.
3. З точки зору ризику пропуску кешу
- Різні операції можуть легко спричинити пропуск кешу: якщо зміна доступних інструментів моделі, цільової моделі, конфігурації пісочниці тощо пов'язана з подовженням підказки, це ще більше збільшить ризик пропуску кешу.
- Інструмент MCP збільшує складність: сервер MCP може динамічно змінювати список наданих інструментів, і реагування на відповідні сповіщення під час тривалих розмов може призвести до пропуску кешу.
Довідкова інформація: 《Unrolling the Codex agent loop》Джерело: OpenAI





