Pull to refresh
3
Евгений@Riketta

Пользователь

7
Subscribers
Send message

В таких случаях практически всегда есть кто-то, кто знает свою часть. Это называется "когнитивный долг". Который LLM по определению сразу и генерируют. Сразу прямиком в помойку.

Скрытый текст

It’s exactly the same complaint engineers have always had about managers who don’t understand the code asking for fanciful or impossible things. Except now you’ve become that manager.

"How I want to do this is that I want to be incharge of all decisions and direction and I want to tell you what to do. I don’t want you to plan, I don’t want you to be independent. Is that clear?"

Several times I ’lost touch’ with the codebase and there were surprising issues where I would just have to say ‘AI, please debug’, and I hated that feeling.” The fix: “I made it a habit to read code myself regularly to stay in ’touch’ with the system.
Instead of ‘change FooClass to do X’, you have to be like ‘change the thing which does Bar to do X’. And then the agent has to figure out Bar, how that maps to FooClass, sometimes it will get it wrong. Exactly the same complaint we’ve had forever with software engineering managers who don’t understand the code asking for fanciful things.

The takeaway for me is simple: AI is an incredible force multiplier for implementation, but it’s a dangerous substitute for design. It’s brilliant at giving you the right answer to a specific technical question, but it has no sense of history, taste, or how a human will actually feel using your API. If you rely on it for the “soul” of your software, you’ll just end up hitting a wall faster than you ever have before.

И т.д.

Статью что-ли попробуйте почитать. Автор буквально говорит что без полного контроля это гарантированный мусор, поэтому он не спеша делал все точечно, на уровне отдельно взятых функций и файлов, и все самостоятельно перепроверял.

А не эти ваши легендарные вайбкодерские 10-37к строк в день и "мейк но мистейкс".

Разница в том что Я ЗНАЮ ЧТО Я ПИШУ. И если вдруг что-то окажется не так, то я знаю где и как это чинить. И я не знаю что пишет нейроген. И никто в этом мире этого не знает, включая самого нейрогена. Смекаете?

И все самое важное, ключевое, автор написал... вручную! Вау!

Я уже сказал что такое ваш "Agentic Engineering", да и статья вроде понятно объясняет чем это закончилось.

Когда код, написанный LLM, с тестами от LLM и получает ревью от LLM... это и есть вайбкодинг, только чуть получше.

Главный вывод автора: ИИ — мощный усилитель для реализации, но опасная замена для проектирования. На уровне функции или класса у задачи обычно есть правильный ответ, и агент справляется отлично. Но архитектура, вкус в API и чувство истории проекта — то, что модели пока не дают.

Из статьи как раз таки следует что он стал использовать AI как это было изначально предложено - автокомплит и локальная агентность (как это было в Copilot и как это использует Primeagen).

И не надо обманывать ни себя, ни остальных. Весь так называемый "AgEnTiC EnGiNeErInG" это и есть вайбкодинг. Никто не способен ревьювить десятки тысяч строк кода.

Qwen вроде уже все. Для 3.6 весов не опубликовано. И после разборок внутри команды, когда лидер и часть команды ушли (которые и были за открытость), есть мысли что это не совпадение.

Рынка свободного не бывает, и никогда не было ни мгновенья. А сейчас особенно - "рынок" пляшут не по правилам капитализма и демократии, а скорее по киберпанку.

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

ffmpeg -i https://devopsradio.ru/radio/stream -c copy Radio.mp3 # Одним файлом.
ffmpeg -i https://devopsradio.ru/radio/stream -f segment -segment_time 3600 -c copy Radio_%03d.mp3 # Чанками по часу.

Или очередной шутинг, которые стали регулярными, уже по два в неделю. Даже у загнивающих омэрэканцев со свободным доступом к оружию такого нет.

Тут уже разумнее всю pedantic группу включить. Вот мой комплект правил "по-умолчанию":

[lints.clippy]
# `clippy::restriction` group: 
unwrap_used = "deny"
indexing_slicing = "deny"
pedantic = { level = "warn", priority = -1 }
cargo = { level = "warn", priority = -1 }
cargo_common_metadata = "allow"

# Extras:
multiple_unsafe_ops_per_block = "forbid"
undocumented_unsafe_blocks = "forbid"
unnecessary_safety_doc = "forbid"

"Extras" идут туда где это имеет значение/смысл.

Детальнее все это изучать тут и тут.

Ну так это тоже что-то. Ведь сейчас им тоже нужны те же Samsung'и и Hynix'ы.

Автор вероятно сам не понимает о чем речь. Потому что даже его первый пример не приведет к проблемам. По крайней мере он точно не объясняет суть проблемы при этом налив какой-то воды.

Внутри обычной блокировки не должно быть yield-точек, т.е. await'ов которые могут завершиться не мгновенно - в таком случае никаких проблем не будет и быть не может. Это в случае с Tokio, в других рантаймах лучше либо избегать await'ов в принципе внутри лока, либо уточнять как там обрабатываются ситуации с моментально завершающимися await'ами.

Асинхронность в Rust кооперативная. Если внутри блокировки вы сами не отдадите управление обратно в шедулер никто у вас его не заберет - сидите в локе сколько хотите (но лучше, конечно, поменьше).

А асинхронный мьютекс имеет оверхед который совершенно не обязательно за собой тягать, если этого не требует ситуация (собственно, выполнение асинхронных вызовов внутри этой самой блокировки).

https://tokio.rs/tokio/tutorial/shared-state

В Rust есть модули core, alloc и std. std включает в себя core и alloc. В no_std окружении никто не запрещает использовать то что есть в core, а если есть возможность динамического выделения памяти - то и alloc добавляется, вместе со всеми своими Rc, String, Vec и т.д. А даже если alloc нет (может на микроконтроллерах каких так получится что нет возможности задействовать аллокатор), то часто можно обойтись крейтами типа heapless.

А что там, все знания аннулируются каждый релиз, переучиваться нужно?

Ну все, тогда выкидываю в помойку свои Windows Internals, они то 2017 года, емае. Да и "Developing Drivers with the Windows Driver Foundation" (2007) туда же отправлю.

А ничего что качественные книги описывают такую глубину, которая не меняется десятилетиями? А про то что там в новом релизе накинули еще одно ведро синтаксического сахара или еще какой ерунды в принципе не так важно читать из книг, для этого сейчас другие источники есть.

В Kingdom Come: Deliverance II, во втором регионе, побочная (секретка?) миссия в духе Outlast была вообще внезапной и прилично так напрягла атмосферой.

И в Cyberpunk 2077: Phantom Liberty вся миссия в Cynosure Facility в одной из сюжетных веток (с выбором за Reed'а) это что-то с чем-то.

The Legend of Zelda: Tears of the Kingdom на эмуляторе работает принципиально лучше чем на самом Switch. И это современная, новая, игра с современной консоли.

То что что-то там не работает с богом забытых платформ говорит только о том что это видимо не особо то и нужно.

Вот интервью, свежее (месяц): https://www.youtube.com/watch?v=7WbREHtc5sU.

В нем нет ничего, где второе лицо ядра Linux подтверждает ваш вброс. Как раз таки наоборот - Rust есть и будет. А вот про сипипи всякие никто даже не вспоминал.

Как это "просто не используй лоол" должно с гарантиями распространиться на всех разработчиков ядра и драйверов не добавляя работы другим?

Некоторым "осиляторам C++" для начала бы стать осилятором здравого смысла.

Как-то неосиляторы C++ резко перешли в класс осиляторов Rust. Интересно, как же так.

Да. В рамках закона, с соблюдением лицензий и с оплатой труда если она требуется. Удивлен что для некоторых такой подход это новость.

1
23 ...

Information

Rating
6,044-th
Registered
Activity