Inkitt внедри агентична система за създаване на pull request-и с междинни състояния и контрол на грешките

Източник: InfoQ / Inkitt Engineering
Инженерният отдел на технологичната медийна платформа Inkitt представи в детайли своята вътрешна производствена система за автоматизирано генериране на завършени софтуерни промени (pull requests) чрез специализирани автономни агенти [1]. Разработката в сферата на софтуерното инженерство (software-engineering) и DevOps решава критичния проблем с чупливостта на дългите генерации чрез въвеждане на детерминирани междинни контролни точки (resumable checkpoints).
Справяне със системните ограничения на контекстните прозорци
Обичайните кодови агенти често губят нишката на логиката или прекъсват поради таймаути при промени, засягащи десетки файлове. Архитектурата на Inkitt разбива задачата на атомарни фази: синтактичен анализ, промяна на интерфейси, имплементация на тестове и валидация. Състоянието на всяка фаза се сериализира в разпределена база данни, което позволява възстановяване на работата точно от момента на евентуална грешка.
Интеграция с автоматизирани среди за изпълнение и тестове
Системата стартира изолирани Docker контейнери за всеки генериран PR, изпълнявайки пълния набор от юнит и интеграционни тестове. Ако даден тест се провали, агентът чете стектрейса и внася корекция в съответния файл, преди да изпрати финално известие за преглед от старши инженер.
Преходът от писане на синтаксис към архитектурно дирижиране
Успехът на Inkitt очертава профила на съвременния софтуерен отдел: човешкият програмист престава да бъде пишеща машина за рутинен код и се превръща в системен архитект и регулатор на процеси. Чрез осигуряване на стабилност на агентичните цикли, производителността на екипа скача в пъти, без това да води до натрупване на скрит технически дефицит. Такива оркестрационни рамки скоро ще бъдат стандартна част от всяко професионално CI/CD хранилище.

Диаграма на състоянията, изолацията в контейнери и автоматичната самокорекция.