Здесь проявляется любопытная закономерность. Если просто попросить LLM исправить сообщение об ошибке, система воспримет информацию от интерпретатора буквально и сосредоточится на синтаксических аспектах, вместо того чтобы исследовать корневую причину.
Неудачный промпт:
Эффективный промпт:
Неудачный промпт:
Исправь ошибку
vim/loader.lua:0: ...soer/projects/agentsoer.nvim/lua/agentsoer/engine/ai.lua:43: '<name>' expected near 'function'
# stacktrace:
...
Эффективный промпт:
Проанализируй причину возникновения ошибки, рассмотри несколько подходов к решению и предложи способ устранения:
vim/loader.lua:0: ...soer/projects/agentsoer.nvim/lua/agentsoer/engine/ai.lua:43: '<name>' expected near 'function'
# stacktrace:
...
👎9👍6 2
В своих экспериментах я использовал QWEN3-Coder-480b-А35b-Instruct. При первом подходе модель начинала с синтаксического разбора, затем последовательно анализировала файл в поисках непечатных символов, способных сбить с толку интерпретатор, после чего пыталась создать минимально работоспособную версию и доработать её. В конечном счёте этот процесс приводил к исчерпанию лимитов сессии.
При втором, более эффективном подходе, та же самая модель находила и корректировала неточность всего за 2-3 итерации после начала диалога.
Чтобы сэкономить токины я в первую очередь предлагаю исправлять ИИ ошибки как синтаксические, потому что стадия "анализа ошибки" может быть весьма объемной, если ИИ не справляется с первого раза, то переходить на второй вариант. Если и второй вариант не помог, то смотреть ошибку самому. Как я уже сказал, большая часть проблема отсекается на первом этапе, семантические проблемы на втором. И крайне редко приходится смотреть самому, как правило если речь заходит о рефакторинге, где старый код сильно сбивает ИИ.
При втором, более эффективном подходе, та же самая модель находила и корректировала неточность всего за 2-3 итерации после начала диалога.
Чтобы сэкономить токины я в первую очередь предлагаю исправлять ИИ ошибки как синтаксические, потому что стадия "анализа ошибки" может быть весьма объемной, если ИИ не справляется с первого раза, то переходить на второй вариант. Если и второй вариант не помог, то смотреть ошибку самому. Как я уже сказал, большая часть проблема отсекается на первом этапе, семантические проблемы на втором. И крайне редко приходится смотреть самому, как правило если речь заходит о рефакторинге, где старый код сильно сбивает ИИ.
👍11👎6 1
Завел себе канал в Максе, говорят там самая адекватная аудитория! Когда телегу поблочат, увидимся с вами там)
https://max.ru/softwareengineervlog
https://max.ru/softwareengineervlog
MAX
S0ER
канал S0ER
1👎331😁75👍27👀7 5❤3 3🥰2🔥1
Сколько токенов в сутки потребляют ваши ИИ агенты?
Anonymous Poll
67%
Не использую агентов
19%
До 10 млн. токенов
5%
10-30 млн. токенов
1%
30-60 млн. токенов
1%
60-120 млн. токенов
7%
Более 120 млн. токенов
😁21👎5❤2
Forwarded from Соер.Клуб | Сервисная архитектура
This media is not supported in your browser
VIEW IN TELEGRAM
У меня две основные модели для кодинга - GLM-4.6 и Qwen3-code. Недавно мне стало интересно насколько модели могут осознать сами себя и я решил начать с простой рефликсии - скажи свое имя. Результат в видео.
😁12 4
Активно работаю с ИИ агентами, постепенно "высушиваю" промпты и описание сабагентов до минимально работающих функций. Заметил, что в моих промптах чаще всего используются ASCII деревья.
Это происходит потому что почти все программирование это структуры и операции над ними. А самая популярная структура - дерво. Есть ощущение, что любая декомпозийия в конечном итоге - дерево.
Далее, как ни странно, в описаниях лидируют "стек" и "очередь".
А завершает цепочку рекурсивное описание.
А вот условия встречаются крайне редко.
Получается, что я работаю с агентами в функциональном стиле - и основная задача декларативно описать результат, который хочу получить, а дальше пусть сам думает.
Это происходит потому что почти все программирование это структуры и операции над ними. А самая популярная структура - дерво. Есть ощущение, что любая декомпозийия в конечном итоге - дерево.
Далее, как ни странно, в описаниях лидируют "стек" и "очередь".
А завершает цепочку рекурсивное описание.
А вот условия встречаются крайне редко.
Получается, что я работаю с агентами в функциональном стиле - и основная задача декларативно описать результат, который хочу получить, а дальше пусть сам думает.
1👍27🔥7❤1
Forwarded from Соер.Клуб | Сервисная архитектура
Сейчас идет активное переосмысление старых подходов к разработке, много разговоров про вайб-кодинг. Под вайб-кодиногом обычно имеют в виду использование одного умного агента, которому достаточно поставить задачу, а он все сделает сам. В текущих реалиях так сделать не получается, приходится постоянно корректировать результат работы LLM, что иногда не только не упрощает, но усложняет разработу.
Мы в своей лаборатории решили не придумывать велосипед, а начали работать по направлению метапрограммирования, взяли старую добрую идею "код - это тоже данные", ушли от идеи "одного агента" и сделали замкнутую агентскую систему (т.е. агенты сами "видят" результаты изменения кода).
Такой подход позоляет:
Какие выводы мы сделали:
- вайб-кодинг в его текущем варианте "одного агента" не заменит обычную разработку до появления AGI;
- агентские системы, основанные на идеях метапрограммирования, уже сейчас могут взять на себя решение типовых задач без необходимости постоянного контроля со стороны разработчика.
Основные проблемы: медленная работа LLM, большое потребление токенов (результат есть, но пока довольно дорого с позиции денег).
Думаю, что AGI в ближайшее время ждать не стоит, а вот агентские системы внедряться будут активно.
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍19🔥6❤2😁1👀1
Пришло время полезных тредов. Давайте обсудим какие llm вы запускаете локально, на каком железе и какие модельки вам нравятся. Заходите и делитесь опытом в комментариях, думаю всем будет полезно 👇👇👇
👍9👎3
Попросил DeepSeek сделать таблицу истиности для конъюнкции, используя язык JavaScript и битовые операции, вот что получил:
На собесах, идея использования вложенных циклов - это самое популярное решение. Тем временем мне больше нравится такой вариант:
Здесь я добавил иллюстрацию закона Де Моргана, пока не обращайте на него внимание.
Интересно, что многие программисты жалуются на излишнюю сложность второго варианта, мол нет насмотренности на битовые операци, сложно быстро понять код.
В целом с булевой алгеброй тоже возникают сложности, часто люди не могут применить закон Де Моргана, чтобы упростить свои условия. Я, конечно, по-стариковски думаю "Да, были люди в наше время, Не то, что нынешнее племя", но понимаю, что код должен быть понятен всем участникам проекта и первый вариант имеет в этом смысле явное преимущество, но при этом я хотел бы работать с ребятами, которые легко читают второй вариант, в целом это будет совсем другой "средний уровень команды".
Поэтому, интересно ваше мнение какой из двух вариантов кода вам нравится больше и почему? Пишите в комментариях 👇👇👇
console.log("Таблица истинности для a && b (битовые операции)");
console.log("a\tb\ta & b");
console.log("---------------");
// Используем битовые операции с числами 0 и 1
for (let a = 0; a <= 1; a++) {
for (let b = 0; b <= 1; b++) {
// Битовая операция И
const result = a & b;
console.log(`${a}\t${b}\t${result}`);
}
}
На собесах, идея использования вложенных циклов - это самое популярное решение. Тем временем мне больше нравится такой вариант:
for(let i = 0; i < 4; i++) {
const a = i & 1;
const b = i >> 1 & 1;
console.log(`\t${a} & ${b} = ${a && b} (${Number(!(!a || !b)}))`);
}
Здесь я добавил иллюстрацию закона Де Моргана, пока не обращайте на него внимание.
Интересно, что многие программисты жалуются на излишнюю сложность второго варианта, мол нет насмотренности на битовые операци, сложно быстро понять код.
В целом с булевой алгеброй тоже возникают сложности, часто люди не могут применить закон Де Моргана, чтобы упростить свои условия. Я, конечно, по-стариковски думаю "Да, были люди в наше время, Не то, что нынешнее племя", но понимаю, что код должен быть понятен всем участникам проекта и первый вариант имеет в этом смысле явное преимущество, но при этом я хотел бы работать с ребятами, которые легко читают второй вариант, в целом это будет совсем другой "средний уровень команды".
Поэтому, интересно ваше мнение какой из двух вариантов кода вам нравится больше и почему? Пишите в комментариях 👇👇👇
👎80👍19❤8 4😁2👀1
Forwarded from Соер.Клуб | Сервисная архитектура
Есть мнение, что микросервисы сильно переоценены. Хочу сказать пару слов на эту тему.
Вчера на созвоне разбирали архитектурный ландшафт сервисной архитектуры. Традиционно ребята уперлись в тонкое место SOA — общую шину предприятия. Попытались использовать API-gateway и вместо оркестрации уйти в хореографию. Нетрудно догадаться, что решение сразу стало не в SOA-стиле, а обычными микросервисами.
Мне кажется, что исторически именно раздутые ESB заставили уходить организации в микросервисы. И это остро чувствуется, когда сам сталкиваешься с задачей и ощущаешь всю неповоротливость шины.
Один такой практический созвон заменяет сотни споров, потому что в теории все просто, а практика показывает обратное.
Поэтому очень важно для усвоения материала пройти путь от монолитов через сервисы к микросервисам, без этого нет понимания "болевых" точек, которые привели индустрию к текущему состоянию. Микросервисы получились не случайно, они являются закономерным результатом многолетнего набивания шишек.
Вчера на созвоне разбирали архитектурный ландшафт сервисной архитектуры. Традиционно ребята уперлись в тонкое место SOA — общую шину предприятия. Попытались использовать API-gateway и вместо оркестрации уйти в хореографию. Нетрудно догадаться, что решение сразу стало не в SOA-стиле, а обычными микросервисами.
Мне кажется, что исторически именно раздутые ESB заставили уходить организации в микросервисы. И это остро чувствуется, когда сам сталкиваешься с задачей и ощущаешь всю неповоротливость шины.
Один такой практический созвон заменяет сотни споров, потому что в теории все просто, а практика показывает обратное.
Поэтому очень важно для усвоения материала пройти путь от монолитов через сервисы к микросервисам, без этого нет понимания "болевых" точек, которые привели индустрию к текущему состоянию. Микросервисы получились не случайно, они являются закономерным результатом многолетнего набивания шишек.
2❤25👍20👎5😁4 1
Forwarded from PVS-Studio: поиск ошибок в С/С++, С# и Java
Media is too big
VIEW IN TELEGRAM
Решили порадовать вас перед праздниками новым выпуском Разбаговки 🔥
Наш гость - Евгений Сергеев, архитектор ПО и автор Telegram-канала S0ER.
На подкасте поговорили про использование ИИ в разработке. Там интересно😉
Полное видео можно посмотреть тут:
- наш сайт
- VK video
- YouTube
#видео #подкаст #разбаговка
Наш гость - Евгений Сергеев, архитектор ПО и автор Telegram-канала S0ER.
На подкасте поговорили про использование ИИ в разработке. Там интересно
Полное видео можно посмотреть тут:
- наш сайт
- VK video
- YouTube
#видео #подкаст #разбаговка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍4👎3😁1