CodeWithLLM-Updates
-

Останні пів року більшість нових великих мовних моделей вже не просто можуть відповідати на питання якісно, а й мають здатніть для довгої самостійної роботи.

Loop Engineering (інженерія циклів) - спосіб будувати роботу з агентами так, щоб агент не просто відповідав на один запит, а багато разів проходив цикл: зрозуміти завдання, зібрати контекст, зробити малу дію, перевірити результат, виправити помилку і зупинитися за явним правилом.

Промпт-інженерія намагається покращити одну відповідь моделі. Інженерія циклів намагається покращити весь процес доведення роботи до перевіреного результату.

Що таке інженерія циклів
https://kilo.ai/articles/what-is-loop-engineering
Цей матеріал дає основу. Сила не в одному кроці, а в замиканні циклу коли будь-яка помилка тесту, помилка коду - це не просто невдача, а новий контекст. Але добрий розроблений цикл не повинен працювати безмежно, потрібно явно задавати ціль, контекст, перевірку і правила зупинки. Також розглядаються ризики такої небезпечної автономності.

Базовий цикл виглядає так:

  1. Намір. Людина або система задає конкретний результат.
  2. Контекст. Агент читає код, документацію, помилки, журнали, вимоги, правила проєкту.
  3. Дія. Агент змінює код, запускає команду, викликає інструмент або готує план.
  4. Спостереження. Система отримує тести, помилки компілятора, результат збірки, журнал, скриншот, коментар рев'ю.
  5. Корекція. Агент змінює план і повторює цикл.
  6. Зупинка. Цикл завершується, коли є доказ виконання, або коли з'явився блокер.

Звідки популярність терміну
https://addyosmani.com/blog/loop-engineering/
Addy Osmani посилається на думки Peter Steinberger і Boris Cherny та популяризував формулювання. Замість того щоб самому кожного разу підказувати агенту наступний крок, ми будуємо систему, яка підказує агенту за нас. Вчимося проєктувати контур перевірки, пам'яті, доступів і закінчення роботи.

Під-агенти розділяють того, хто робить, і того, хто перевіряє; Автоматизації запускають роботу за розкладом, окремі робочі дерева ізолюють паралельних агентів, плагіни і підключення дають доступ до реальних інструментів. Знання про проєкт зберігаються окремо - що зроблено, що лишилось, що вже пробували.

https://lushbinary.com/blog/loop-engineering-ai-coding-agents-guide/
Lushbinary багато в чому переказує Addy, але додає практичніші деталі: цикл Ralph, як виглядають автоматизації, окремі робочі дерева, навички, підключення, під-агенти і пам'ять у сучасних інструментах.

Якщо в циклі немає запобіжника, бюджету, журналів, стійкої пам'яті, ізоляції і ручного виходу з помилки, то це не продукційна система, а просто нескінченний цикл із дорогим агентом усередині.

Чотири рівні циклів
https://www.langchain.com/blog/the-art-of-loop-engineering
LangChain намагається нам продати свій стек та прямо визнає компроміс: перевірки збільшують вартість і затримку, але для якості потрібні. Вони пропронують розгядати чотири цикла:

  1. Цикл агента. Модель викликає інструменти, доки задача не завершена.
  2. Цикл перевірки. Окремий агент-оцінювач перевіряє результат за правилами і повертає агенту-виконавцю зворотний зв'язок.
  3. Цикл подій. Запуск відбувається не вручну, а через події: розклад, зовнішній сигнал, повідомлення, новий документ.
  4. Цикл покращення. Логи запусків аналізуються, щоб покращити налаштування, інструменти або промпти.

Відео Matthew Berman
https://www.youtube.com/watch?v=dMrm2jAyrKM

Відео "Only the best are using them..." подає тему як нову "мету" для кодування. Там є сильний хайповий тон: "майбутнє програмної інженерії", "лише небагато людей знають, як це робити", "найкращі вже використовують". Воно добре пояснює ідею для широкої аудиторії, але найбільше підсилює хайп.

Критика терміна
https://iii.dev/blog/loop-engineering-is-just-software-engineering/
У багатьох текстах "Loop Engineering" звучить так, ніби з'явилась нова парадигма. Частина авторів подає це як майбутнє всієї розробки, хоча багато складників давно відомі як нормальна інженерія: тести, черги, планувальники, журналювання, контроль доступів, повторні спроби, перевірка людиною.

Переклад термінів:

Найкраще це працює для механічної, повторюваної і добре перевірюваної роботи, де завдання можна розбити на чіткі кроки з перевіркою. Для продуктових рішень, архітектури, безпеки, фінансових дій, змін у базі даних і всього, де потрібне судження, людина має залишатися у контурі прийняття рішення.