Ouroboros, очередной инструмент для вашего harness. llm.. llm. дебаггинг.. llm. дебаггинг. искусственный интеллект.. llm. дебаггинг. искусственный интеллект. логгирование.. llm. дебаггинг. искусственный интеллект. логгирование. Ненормальное программирование.. llm. дебаггинг. искусственный интеллект. логгирование. Ненормальное программирование. Отладка.. llm. дебаггинг. искусственный интеллект. логгирование. Ненормальное программирование. Отладка. Программирование.. llm. дебаггинг. искусственный интеллект. логгирование. Ненормальное программирование. Отладка. Программирование. сезон код будущего.. llm. дебаггинг. искусственный интеллект. логгирование. Ненормальное программирование. Отладка. Программирование. сезон код будущего. трейсинг.

Harness – построение инфры вокруг LLM таким образом, чтобы man in the loop (человек в процессе поддержки LLM) отсутствовал.

Я решил поэкспериментировать некоторое время назад, идея была очень простой – дать агенту возможность дебажить и исследовать написанный код через логгирование до того, как он попадет в чистовик.

Дисклеймер: инструмент пилил для себя, результатом доволен, для локальных моделей буст получил, для агентов клода тоже, если есть идеи как дотюнить – добро пожаловать в комментарии.

Ouroboros, очередной инструмент для вашего harness - 1

Грубо говоря: что если сделать инструмент, который

  • каждую написанную функцию или строчку оборачивает в наш любимый console.log, printf и так далее

  • выводит в трейс сигнатуру функций: имя, аргументы, выходное значение (предварительно сделав named const)

Например это выглядит вот так

{"p":"in","t":"2026-08-28T23:39:45.166","id":"e668ee33-…","ci":-1,"th":"2864987.129949101195776","fn":"average","a":"[12, 30, 18]","k":""}
{"p":"out","id":"e668ee33-…","fn":"average","r":"20.0","d":2e-06}

Можно а зачем?

Основная цель – если у вас большая кодовая база, то агенту слишком дорого писать тесты, которые он сам и будет придумывать, а иногда подгонять для работоспособности, поэтому проще дать ему возможность изолированно запускать код, также как это делает человек, который не то чтобы не пишет по TDD, а скорее исследует что и куда идет.

Ouroboros, очередной инструмент для вашего harness - 2

Прочитать сорок тысяч строк дорого. Прогнать и посмотреть, какие функции реально зовутся и с чем дёшево.

Инструментирование работает примерно так

Лень вставлять таблицу, а вам лень читать ленивые вставки скриншотов таблиц с документации

Лень вставлять таблицу, а вам лень читать ленивые вставки скриншотов таблиц с документации

Разумеется во время написания кода время на компиляцию/интерпретацию увеличивается, но в production-код оно не попадает, более предметная дока тут

язык

без обмазки

с обмазкой

добавка

добавка на вызов

Python

0,0202 с

1,1837 с

1,1635 с

58,2 мкс

JavaScript

0,0366 с

0,4454 с

0,4088 с

20,4 мкс

C

0,0017 с

0,3988 с

0,3972 с

19,9 мкс

C++

0,0021 с

0,4469 с

0,4448 с

22,2 мкс

Elixir

0,7909 с

4,6060 с

3,8151 с

190,7 мкс

Go

0,0228 с

0,6013 с

0,5785 с

28,9 мкс

Java

0,0332 с

0,4518 с

0,4186 с

20,9 мкс

C#

0,0416 с

0,3535 с

0,3118 с

15,6 мкс

C, короткий вид (--minimal)

0,0017 с

0,1547 с

0,1530 с

7,7 мкс

Go, без номера горутины

0,0228 с

0,5501 с

0,5272 с

26,4 мкс

Результат приемлимый.

На ком тестил

кол-во ответов

без тулы

с тулой

различие

qwen3.5:4b

600

44.0%

78.3%

+34.3 пп

qwen2.5:14b-instruct

600

61.0%

84.7%

+23.7 пп

qwen3:32b

600

66.7%

90.3%

+23.6 пп

a Claude Opus 5 subagent

120

95.0%

98.3%

+3.3 пп

Сама тула опубликована на GitHub и документация (плюс раздел на русском) захостил на GitHub Pages (плюс датасет на huggingface). Скилл тоже есть.

Варианты установки:

  • поставить 2 бинаря: ouroboros, ouroboros-mcp

uv tool install git+https://github.com/digitable-lol/ouroboros

  • через brew

brew install digitable-lol/tap/ouroboros

Ну или попросить вашего агента

Hi, please start to use it all of the time during writing the code The link to the repository is https://github.com/digitable-lol/ouroboros Create a skill for yourself, the documenation is hosted here: https://digitable-lol.github.io/ouroboros/

Автор: the_homeless_god

Источник