Неудобняет. Нужна подсветка, удобный вывод результатов в виде дерева, а не простыню. Гуглил вчера возможность вывода выдал модуль GtkSourceView, но инклуд для него для моего языка программирования устаревший 2012 года, переделывать несколько тысяч строк лень, Scintilla тащит 2 мб с собой, да и вывод я победил на 98%, а на CachyOS он сломался, сам Scintilla. Так что много отрицательных флагов для начала проекта.
Мысль о том, что однажды создавать программы можно будет по описанию мне приходила ещё в 0-вых. Но тогда казалась фантастикой, хоть и в теории математически возможной.
Т.е. текущее состояние сферы выглядит закономерным.
А если знать предшествующую философию всему этому, то станет понятно: к этому и шли, как коммунисты-технократы, так и капиталисты.
Смысла читать статью особенно нет.
В общем весь технический сценарий развития мира описан наперед, даже в массовой фантастической литературе.
А я и не спорю - он знает все существующие архитектуры. Но юзер не знает какую в данном случае и как использовать. И правильно спросить не может.
Вот да. Уже много раз замечал, что когда существенной разницы нет, то и Клоду особо пофиг. Более того, он просто делает как ты делаешь, повторяет за тобой. Ну или будет повторять то, что ранее в проекте сгенерировано. Это как крутой программист, но которому пофиг на всё. Типа деньги заплатили, я неделю у вас поработаю, сделаю задачу, и на этом всё.
А когда ты нанимаешь крутого программиста не на неделю, а на 10 лет, он начнёт разгребать авгиевы конюшни, критиковать всё, что было сделано до него, переделывать всё как лучше. Тебе это может быть и не понравится, но по факту это нужная деятельность, чтобы компания не зашла в тупик технического долга. И вот я пока не видел именно такого направления деятельности от ИИ.
В общем пока ИИ это как нанятый консультант, которому надо решить проблему максимально быстро. Сделает на тяп-ляп, получит свою оплату и отчалит. В целом это естественным образом вытекает из того, как ИИ используют и как за него платят. Но вот не хватает какой-то более глубокой работы над кодом.
В связи с этим мне интересны агенты вроде openclaw, которые не просто отвечают на запросы, а живут какой-то своей жизнью. Возможно это будет следующая веха во внедрении ИИ в проекты. Заселяешь такого агента в проект и он его потихоньку улучшает, рефакторит, оптимизирует, фиксит какие-нибудь древние баги и тд и тп. Пока сложно представить, как именно это будет выглядеть, но какие-то очертания проглядываются. Кстати для таких агентов можно использовать оплату вычислительных мощностей со скидкой. Т.к. им не требуется очень быстро реагировать, можно выделять им остатки невостребованной вычислительной мощности, обычно такое оплачивается в разы дешевле.
К этому моменту деньги уже мало что значат, любые новые технологические плюшки легко тебе доставят на дом, ибо дефицита в их производстве нет. Теперь богатство мерется не в количестве денег, а в количестве современных роботов во владении отдельного человека или корпорации.
Я не работаю уже, разрабов всех уволили остался только маркетинг/продажи
Это конечный пункт вашей эволюции? Ну я так и понял, что будет хеппи-енд.
А я где-то с этим спорил? Нет. Но вот те хакеры, которые пришли на вайбе (нет на работе ты их не увидишь, там работу надо делать и они либо переучивались быстро, либо хоббисты, зарабатывающие на жизнь чем-то другим) им по кайфу сам процесс, а не результат. Так что не исключаю что ковыряние в своих же багах, которых можно было бы просто избежать для них тоже в кайф будет. Ля какой молодец — баг пофиксил. Ну или что-то вроде того.
Я сам примерно так ковыряю МК сейчас в своём хобби проекте (да я могу взять готовую прошивку и сделать то что мне хочется, может подпилить её чуть-чуть ИИ-шкой и всё будет хорошо), но куда интереснее узнать некоторые детали, делая всё самому с нуля. В кои то веки я в сорцы ядра линукса залез (чтоб утянуть оттуда /dev/random, т.к. родной random на моём МК софтварный и потому хреновый, хотя есть источники шума, но они не то чтоб качественные были).
В компании, где я работаю, есть такой менеджер, кстати. Сам по себе он программировать вроде не умеет, но немного разбирается в смежных областях. К примеру XML или JSON его не пугает, сделать HTTP запрос через какие-то там тулзы умеет, а в последние годы немало «кода» «написал» на n8n (там программирование в чём-то вроде блок-схем). У него вообще такой workflow сложился, когда он сервис делает на n8n, деньги от заказчика выбивает, а потом это всё программисты переписывают уже на что-то более существенное. И на практике неплохо получается, скажу я вам. Вот для такого человека ИИ это прям большой enabler. Он может и не понимает ничего в коде на питоне, но сформулировать свои хотелки сможет. Не удивлюсь, если программисты ему станут не нужны в какой-то момент.
Сам по себе он программировать вроде не умеет, но немного разбирается в смежных областях. К примеру XML или JSON его не пугает, сделать HTTP запрос через какие-то там тулзы умеет, а в последние годы немало «кода» «написал» на n8n (там программирование в чём-то вроде блок-схем).
Звучит так, будто программировать он как раз скорее умеет, просто не любит. И да, для таких людей вайб-кодинг (объяснение тупой железке своих хотелок, вместо объяснения ещё более тупым кожаным) — спасение.
Просто никому не охота. По молодости интереснее пивка выпить и с девкой побыть, чем в ИИ-шку что-то вбивать. А сами игры линуксоидам особо не нужны. Так что серьёзные пацаны тоже не заинтересованы. Остаются одни пенсионеры-трезвенники с ЛОР-а, но тем ИИ-шку трудно осваивать, как и всё новое.
Мысль о том, что однажды создавать программы можно будет по описанию мне приходила ещё в 0-вых.
Мне другая мысль приходила: язык будет человеческий, ведь мы распознаем логику человека, не делаем ключевых слов, не сокращаем. Хотя это похоже, но не совсем. Одно дело писать ТЗ, другое дело писать логику.
n8n прям хорош на самом деле когда нужно зоопарк подружить, и да код там тоже можно писать, например как node.js скрипт для обработки. Для социальных сетей удобно, чтобы не разбираться в oauth и аунтефикации в 30 сервисах. В целом он везде подходит где событийная связь и не нужна быстрая обработка данных, а все упирается в скорость http ответа.
Заселяешь такого агента в проект и он его потихоньку улучшает, рефакторит, оптимизирует, фиксит какие-нибудь древние баги и тд и тп.
Отлично, но возникает вопрос: а вы сами что-то умеете кроме кнопкодавства? Как хить то собираетесь. Конкуренция на рынке ручного труда огромная если чо. Ворваться туда 50-летним увальнем без профессии будет сложновато.
Мне другая мысль приходила: язык будет человеческий, ведь мы распознаем логику человека, не делаем ключевых слов, не сокращаем.
Это мы уже по сути и получили с вайб-кодингом.
Хотелось бы вот только как раз наоборот тоже — чтобы как-то можно было и с людьми общаться с ключевыми словами, сокращениями, более формально, как на ЯП. Это бы решило столько проблем непонимания… А то иногда в том числе тут на форуме пишешь одно, за тебя додумывают: эмоциональную составляющую, которая не вкладывалась, контекст, затем добавляют свои личные травмы по этому поводу, и выдают «возражение» на то, с чего ты не говорил и даже не подразумевал, и пытаются убедить в том, с чем ты и так согласен, но говорил вообще о другом…
Отлично, но возникает вопрос: а вы сами что-то умеете кроме кнопкодавства?
Ничего не умею. Я даже с кнопкодавством периодически страдаю от синдрома самозванца, но пока вроде деньги на карточку переводят раз в месяц, это немного успокаивает.
Конкуренция на рынке ручного труда огромная если чо. Ворваться туда 50-летним увальнем без профессии будет сложновато.
Да, у меня никаких хороших идей вообще нет. Софт-скиллы у меня отрицательные, здоровьем я не блещу, ничего кроме программирования и смежных дел по большому счёту не умею делать. Мой максимум - это работать таксистом. Права у меня есть, какой-никакой стаж есть.
Как хить то собираетесь.
Если представить, что меня завтра увольняют и я в течение нескольких месяцев не нахожу работу, то буду делать дауншифтинг. Немного денег я насобирал, своё жильё есть, я живу в стране, где можно жить очень дёшево по российским меркам (думаю, смогу прожить на 10 000 рублей в месяц, такую сумму я даже с депозита смогу получать, пока инфляция не догонит). Поумерю аппетиты и буду доживать свой век.
В теории продукт хороший, но на практике возникало много проблем. Типа течёт память и не понятно - откуда. «Решили» просто ежедневными рестартами, но то такое.
Типа течёт память и не понятно - откуда. «Решили» просто ежедневными рестартами, но то такое
Из докера стоял? Такого не замечал.
Ничего не умею. Я даже с кнопкодавством периодически страдаю от синдрома самозванца, но пока вроде деньги на карточку переводят раз в месяц, это немного успокаивает.
Я тоже ничего не умею кроме связанного с компьютерами, и прав у меня нет. Но хотя конечно есть идеи где деньги можно доставать, но сейчас за арбитраж могут и посадить, так что ну его. Реально просто ничего другого, что не связанно с CS и интернетами делать просто не хочется, уныло как-то оно.
Остаются одни пенсионеры-трезвенники с ЛОР-а, но тем ИИ-шку трудно осваивать, как и всё новое.
Ну вот не нужно тут. Во первых нам 5ок уже накинули так что до пенсии теперь. А что касается ИИ то наоборот, нам его просто осваивать так как мы понимаем что это всего лишь программулька работающая на железки и ни какой магии. (иногда трудно, а практически бывает не возможно подвести ИИ к правильному ответу, ну тупой он, тут ничего не поделаешь, знаний много а логика на 0)
Остаются одни пенсионеры-трезвенники с ЛОР-а, но тем ИИ-шку трудно осваивать, как и всё новое.
Ну вот не нужно тут. Во первых нам 5ок уже накинули так что до пенсии теперь. А что касается ИИ то наоборот, нам его просто осваивать так как мы понимаем что это всего лишь программулька работающая на железки и ни какой магии
Молодежь всегда считает, что умнее пенсионеров, то есть люди, которые 30 лет назад были в их возрасте. Вспоминается анекдот про мальчика со сковородкой в руке и стекающем маслом с головы: мам а я сковородку на голову не одевал.
Мысль о том, что однажды создавать программы можно будет по описанию мне приходила ещё в 0-вых.
В смысле в семидесятых. Как создавать программы пользуясь естественным языком люди думали всегда. Мой формальный научный руководитель кандидатскую на этом защитил в 1985, докторскую в 1992. Правда язык пришлось менять с естественного на более формальный, блочно-сборочный. Но всегда было ясно, что это временно, наступят времена. И таки да, 2025 год, всего то 40 лет, и это может делать любой, даже далёкий от программирования человек.
Вот такой стиль работы я и называл выше «проектирование». Мне кажется программистам следует именно к этому стремится. Переходить с кодирования на постановку задачи, архитектуру проекта, организацию функциональных блоков и связей между ними. А блоки с интерфейсами модель в виде функций сама должна писать.
Остаются одни пенсионеры-трезвенники с ЛОР-а, но тем ИИ-шку трудно осваивать, как и всё новое.
Это почему пенсионерам-трезвенникам с ЛОРа сложно осваивать ИИ? Некоторые всю свою жизнь новые инструменты и осваивают и создают. Это просто ещё один инструмент, ни лучше и не хуже других.
Рекомендую посмотреть Hermes agent, там у него перманентная память и в конце задачи он пишет в md файлик скилл, что он узнал о проекте за сессию) Но это все еще очень сыро и экспериментально. Вот тебе промо ролик https://www.youtube.com/watch?v=XMWI3nDk48c
он начнёт разгребать авгиевы конюшни, критиковать всё, что было сделано до него, переделывать всё как лучше.
следующий будет делать тоже самое у этого … хотя скорее всего просто выкинет все.
Может и так. И ничего страшного. Пускай выкидывает и переписывает, если считает нужным. Тем более, что ИИ переписывает хорошо и быстро, это прям то, что он делать умеет. Тут важно, чтобы за проект отвечала одна сущность, с постоянным, не знаю, как сказать, контекстом что-ли. Ну в общем ИИ аналог эдакого синьора программиста.
Я не совсем понимаю привлекательность локальных моделей. Если код представляет собой какую-то прям огромную ценность - ну тогда понимаю. Но у подавляющего большинства организаций код не представляет огромную ценность, и уж точно не для гигантов вроде OpenAI.
При всём при этом локальные модели всегда будут ощутимо отставать от лучших моделей. Ну пока прогресс идёт по крайней мере.
При всём при этом железо для локальных моделей скорей всего будет загружено далеко не на 100%, т.е. будет существенная переплата за простой.
При всём при этом видеокарты развиваются бешеными темпами, т.е. новое железо сегодня через 3-4 года уже будет устаревшим.
В общем не понимаю. По-мне лучше всего использовать проприетарные модели. Если по каким-то причинам не хочется зависеть от их доступности - надо покупать открытые модели через оплату за апи и спихивать все вопросы с железом на хостеров. А прям своё железо - ну в редких случаях, когда паранойя бушует. Ну или занимаешься чем-то нехорошим вроде взломов.
Цена и безопасность. Про безопасность вы уже сами сказали. И вы неправы. Ваша деятельность представляет очень большую ценность для конкурента, а запросы модели уже являются товаром, а не только токены. Ну а про цену вот простой пример. Спрашиваю Claude “сколько моделей мне доступно и как их выбирать?» Простой казалось бы вопрос. 145К токенов, 82 цента. Много агентов можно наделать с такими ценами?
Можно получать удовольствие от получения результата. Я вот с помощью нейросетки сделал скрипт для раскладывания торрентов по каталогам после скачивания. И теперь я получаю удовольствие каждый раз, когда у меня автоматически попадает скачанное туда куда ему положено. А также я получил удовольствие от эффективности получения этого результата, ибо сам бы я писал этот скрипт часа 4(в лучшем случае), да ещё и багов скорее всего оставил бы прилично больше(шелл далеко не мой основной язык, вечно лажаю с экранированием) чем это сделал ИИ.
Я не совсем понимаю привлекательность локальных моделей. Если код представляет собой какую-то прям огромную ценность - ну тогда понимаю.
У нас запрещено давать моделям доступ в базу (на чтение имелся в виду), логи Кибаны и т.д. потому что там персональные данные, а европейские законы запрещают скармливать это третьей стороне. То есть подписочный ИИ не сможет расследовать какой-то баг на проде, не может быть вместо кастомер саппорта (потому что доступ к данным) и т.д.
Не родит. Если бы это было так, на линуксе было бы завались логических игр, а по факту еле найдёшь хоть чуть чуть вменяемое.
У тебя сбой в логике. Во-первых, публичные ИИшки доступны слишком малый срок. Во-вторых, когда что то такое пилишь, не задумываешься - а куда бы выложить для всех. Обычно пилится чтото для себя или для узкого круга юзеров и все. Максимум - на гитхаб заливается.
Немножко прекрасного из мира вайбкодинга. Тут как то сомневались в способнсти ИИшек раздувать код.
Скормил функции выдачи бонусов ИИшке и попросил сделать функцию, прив вызове которой в чат бы писался список бонусов. Ну, по сути это 2 строки самой функции и 4 строки отправки в чат. Шесть строк. Сначала задумайтесь, сколько можно раздуть из шести строк? в два раза? В десять раз? В тридцать?
Вот код:
function nsCoursePrintBonusInfo()
local function debugMsg(message)
if type(nsCourseDebug) == "function" then
nsCourseDebug(message)
end
end
local queue = {}
local function addLine(message)
table.insert(queue, tostring(message or ""))
end
local function pluralChars(n)
n = tonumber(n) or 0
local mod10 = n % 10
local mod100 = n % 100
if mod10 == 1 and mod100 ~= 11 then
return "символ"
end
if mod10 >= 2 and mod10 <= 4 and (mod100 < 12 or mod100 > 14) then
return "символа"
end
return "символов"
end
local function formatReward(tier)
local rep = tonumber(tier and tier.rep) or 0
local exp = tonumber(tier and tier.exp) or 0
return "репутация " .. rep .. ", опыт " .. exp
end
local function formatCharsCondition(chars)
if chars == nil then
return "любое количество символов"
end
chars = tonumber(chars) or 0
return "не более " .. chars .. " " .. pluralChars(chars)
end
local function HasTimer()
if type(C_Timer) == "table" and type(C_Timer.After) == "function" then
return true
end
if type(CreateFrame) == "function" then
return true
end
return false
end
local function ScheduleAfter(delay, func)
if type(C_Timer) == "table" and type(C_Timer.After) == "function" then
C_Timer.After(delay, func)
return
end
if type(CreateFrame) == "function" then
local f = CreateFrame("Frame")
local elapsed = 0
f:SetScript("OnUpdate", function(self, dt)
elapsed = elapsed + dt
if elapsed >= delay then
self:SetScript("OnUpdate", nil)
self:Hide()
func()
end
end)
f:Show()
return
end
func()
end
local function sendNow(message)
if type(SendChatMessage) ~= "function" then
debugMsg("nsCoursePrintBonusInfo: SendChatMessage не найден")
return
end
local ok, err = pcall(SendChatMessage, message, "OFFICER")
if not ok then
debugMsg("nsCoursePrintBonusInfo: ошибка отправки в OFFICER: " .. tostring(err))
end
end
local function SendNext(index)
local message = queue[index]
if not message then
return
end
sendNow(message)
if queue[index + 1] then
ScheduleAfter(0.2, function()
SendNext(index + 1)
end)
end
end
local function flushQueue()
if #queue == 0 then
return
end
if type(SendChatMessage) ~= "function" then
debugMsg("nsCoursePrintBonusInfo: SendChatMessage не найден, очередь не отправлена")
return
end
if HasTimer() then
SendNext(1)
else
for _, message in ipairs(queue) do
sendNow(message)
end
end
end
addLine("=== Бонусы курса: за что и что выдаётся ===")
addLine("1. За каждый уникальный модуль, впервые выполненный за день, выдаётся бонус: опыт 1.")
addLine("2. Если серия выполнения дней подряд составляет 5 или больше, за первый уникальный модуль дня выдаётся лотерейный билет.")
addLine("3. Если серия 5+ дней подряд продолжается, и за день выполнено минимум 5 уникальных модулей, выдаётся случайный бонус.")
addLine("Случайный бонус: либо кусок карты, либо подсказка.")
addLine("Серия считается по первому уникальному модулю за день. Если вчера не было выполнения, серия сбрасывается на 1 день.")
if type(NS_COURSE_BONUSES) == "table" then
local moduleIds = {}
for id in pairs(NS_COURSE_BONUSES) do
table.insert(moduleIds, id)
end
table.sort(moduleIds, function(a, b)
local na = tonumber(a)
local nb = tonumber(b)
if na and nb then
return na < nb
end
return tostring(a) < tostring(b)
end)
if #moduleIds > 0 then
addLine("=== Спецбонусы за модули ===")
for _, moduleId in ipairs(moduleIds) do
local bonus = NS_COURSE_BONUSES[moduleId]
if type(bonus) == "table" and type(bonus.tiers) == "table" then
local tiers = {}
for _, tier in pairs(bonus.tiers) do
if type(tier) == "table" then
table.insert(tiers, tier)
end
end
table.sort(tiers, function(a, b)
local ca = tonumber(a and a.chars)
local cb = tonumber(b and b.chars)
if ca and cb then
return ca < cb
end
if ca == nil and cb == nil then
return false
end
if ca == nil then
return false
end
return true
end)
local tierParts = {}
for _, tier in ipairs(tiers) do
table.insert(
tierParts,
formatCharsCondition(tier.chars) .. " -> " .. formatReward(tier)
)
end
local line = "Модуль " .. tostring(moduleId)
if type(bonus.verb) == "string" and bonus.verb ~= "" then
line = line .. " (" .. bonus.verb .. ")"
end
if #tierParts > 0 then
line = line .. ": " .. table.concat(tierParts, "; ")
else
line = line .. ": условия не заданы"
end
addLine(line)
end
end
else
addLine("Спецбонусы за модули не найдены.")
end
else
addLine("Таблица NS_COURSE_BONUSES не найдена, спецбонусы за модули не выведены.")
end
addLine("Если модуль не указан в спецбонусах, за первое прохождение обычно выдаётся: репутация 100, опыт 1.")
flushQueue()
end
Восхищайтесь. 230 строк кода. Тут только проверок на существование функции отправки сообщения в чат четыре. Эта функция есть всегда и везде. Без нее не было бы сервера.
В ближайшие годы ИИшка точно не заменит программистов. Особенно программистов новичков. Старперы, выдохните уже. Все успеют уйти на пенсию спокойно.