Pull to refresh
110
0
Евгений Артюхов @jsirex

User

Send message

Что такое ансибл? Это:
- нечёткая структура переменных - хочу здесь, хочу там
- роли, но не роли (много подводных камней), может группа тасков?
- группа тасков, но произвольный вызывать без кастылей нельзя
- плейбуки, но толку мало, так что там? таски или роли внутри? смешивать нельзя
- переменные как бы внутри сущности, но нет, глобальные
- хочешь написать простую логику: вот тебе ямл, внутри jinja, а там фильтр
- вот так переменную использовать нельзя, а вот так - попробуй
- when: хм, там дальше строка или jinja? а, просто..
- замечательный перфоманс: 10 тривиальных задач на 2ms каждая, стартанём python процесс, импортнём вообще всё, до чего руки дотянутся, потратим кучу времени, выполним 2+2 и сдохнем. и так по кругу 1000 раз. Зато удобно, пока плейбук работает, можно на обед сходить.
- непредсказуемый инвентори: какая там у него структура, куда что складывать? а если мне файлы надо передать, но они специфичны для энва - это инвентори или просто папка files? Держать внутри инвентори или рядом с плейбуками? а почему файлы не ищутся в инвентори, но в плейбуках и ролях.

и много много других приколов. Вот и получается, что якобы умная замена bash. но.
ansible удобно где надо hello world, но там и bash справится и проще взять его,

а где не hello world и bash уже не вывозит... хм... ансибл тоже что-то не вывозит.

Нет, не ясно. В задаче нет слов "матрица", "оси", "параллелен".
единственное что спасает и за что можно затецпиться "...сторону квадрата, заполненного морковками полностью".

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

вот кстати, ровно наоборот. как раз хотел сказать в комментах. Если в задаче явно не сказанно какое-то ограничение, то его нет. кролику не запрещено идти по диагонали. т.е. по умолчанию это надо учитывать. 45 градусов... интересно, могут ли быть другие углы.

если мы поварачиваем даже на 45 - то у нас есть как бы дырка - половина пустой клетки-грядки. считается ли, что квадрат полностью заполнен грядками с морковкой.. может да, может нет. может, нужен такой квадрат, что в нём нет ни одной целой грядки без морковки. а части могут быть. тогда возможны и другие углы.

Когда уже есть опыт и понимание - то да, помогает. Я бы сказал, что ИИ это такой быстрый интерфейс мозг-компьютер. Да, он требует сначала письменного рассужденияя, потом быстро генерирует код, которы понимается сразу на скорости чтения. И его достаточно безопасно с или без изменений можно влить. Понимаешь, что делаеть - да, отличный и быстрый результат.

Но вот беда, если не понимаешь, или понимаешь не до конца. Всякое может быть.
Например, "реши уравнение 4х = 8". Овет: "-2 * i^2".
хм.. странно что ответ какой-то сложнее, чем я ожидал, но математика была так давно... не помню, но вроде бы похоже... что-то такое проходили.. ну ка, wolfram alpha, надо проверить. О и правда 8. "git push origin solution".

Ну, видимо, я глубоко копаю. Первый вопрос, да, я знаю что весь тулинг с описанием собирается и подставляется в промпт. Кстати, системный он или не системный вообще без разницы. Современный messages array формат через тот же jinja template (transformers как минимум) генерит просто текст. Т.е. input - длиннющий текст. array of chars. который потом токенезируется в array of tokens.
Если тулов много, интересно как собрать релевантный набор, чтоб оно влезло в контекст, т.к. как правило он огромный и забит бесполезной ерундой "ты опытный программист, а твоя мама больна раком и если ты не сделаешь эту таску не заработаешь денег и вообще капец" (почему это бесполезно - заслуживает отдельной статьи для объяснения. ведь кажется, что работает).

Ну и по второму " работаю с моделью в таком режиме, что она точно знает, что ожидаемый формат вывода - это json": так вот наш "array of tokens", он же prompt, попадает в условный метод model.encode(prompt_tokens). Результатом являются просто новые токены, которые, как кажется модели, наиболее подходящие здесь.

Далее токены -> текст и мы его видим. Модель не знает, не понимает что там пользователь хотел. никаких json-ов, yaml-ов или чего там нет. всё что можно гарантировать, что там будет string.

Что-то не до конца раскрыт момент про пример "Какой был рост ВВП Японии в 2024 году?"

А именно, как на основании этого промпта LLM-ка вообще понимает, что надо дёрнуть web_search, а не internet_search, или там open-file "c:\gdp.ja.txt".

Далее работа с ответами. LLM в ответе (model.encode) должна написать что-то, что можно распарсить в вызов тула с параметрами. А на сколько я разбирался (нужно обновить данные), невозможно вообще никак, совсем никак, архитектурно фундаментально невозможно гарантировать, чтоб модель, напримре сгенерировала json с foo равным 1.
Да, можно сейчас побежать в chatgpt и попросить и она даже сгенерит. Но это всё - особые усилия и тренировки датасета, чтобы вероятность этого ответа стремилась к 1. Но она никогда не равна. Т.е. в ответе может быть и невалидный json, скобка лишния или лишний текст, или не так названо поле, или текст после ответа и т.п. Любые попытки это причесать - это враппер вокруг LLM на низком уровне. Изменилось ли тут что-нибудь?

как-то неаккуратненько:
yq: Error running jq: ScannerError: while scanning for the next token found character that cannot start any token  in "<stdin>", line 15, column 1.

Да, самый топ на сегодняшний день - это или оригинальные силиконовые свитчи, или FSR, у которых очень хорошо настраивается чувствительность и можно играть 18+ ног сложности.

Я когда-то тоже так делал: 2 пластины из стеклотекстолита (залудил). нижняя длинная и 2 отверстия под крпеление. верхняя короче.. между ними на концах деэлектрик. вот такой бутерброд. Далее датчик в термоусадку и получается вполне годно. неубиваемо, работает 10+ лет. Хотя не идеально. наверное ног до 13-14 можно играть.

ЮнитТест: чистить_картошку возвращает ... почищенную картошку.

- Человек, почисти картошку!
// берёт ножек и чистит
- ЛЛМ, почисти картошку!
// берёт ваши трусы и чистит
Тест зелёный, впрод.

Почему-то вспомнился анекдот. В нашем сельхозе мы изобрели новый комбайн ГрибочекГПТ4000. Теперь комбайнёру осталось найти гриб и .. чик - остальное дело техники.

Обнови страницу... не знаю где. treesitter завезли, emacs на него переходит. да и вообще много чего произошло. макрос use-package теперь влит в emacs, некоторые альтерантивные подходы по управлению пакетами интегрированны через use-package и работают на уровне package/package-vc. LSP тоже озаботились.

Там ещё конечно есть куда расти с инициализацией emacs и best practices/guide lines для emacs. но в целом жить очень даже можно.

Есть люди, которые сидели на vim, перешли на emacs + evil mode, но в последствии поняли, что это излишне и отказались от evil. но, тут каждому своё.

Или с aptly (https://www.aptly.info/). Но это самостоятельный тул, я не знаю, используют ли его в core в самом Debian-е или нет..

История заходит на второй круг. Был же mesos - который прям оркестратор, вот тебе ресурсы, абстракция и менеджмент, пиши всё что надо... Да, у него свои проблемы были, одна сборка чего стоила. Появился кубик и все туда побежали..

На фоне этого, тот Hashicorp Nomad появился, который архитектурно, намного более грамотно построен и всё там было перспективно... но опоздал на рынок, а потом уже просто перестал успевать.

Потом ещё что-нибудь сделают - аля кубик, но без лишнего, и это будет 3ий круг.

Конечно, "вынести из драйверов и system space часть кода в user spacе и отдать на откуп другим" поможет ситуации. Но это и есть - давайте напишем nomad/mesos

единственное, когда нужно было "подтолкнуть", это когда не live cd, а я ставил минимальную базовую систему. там вообще ничего не было. dhclient - и всё работает. Если live cd с GUI, то там как минимум network manager. может быть проблема с livecd? наверное может. может ли это быть проблема в сети или чём-то другом - не исключено.

Кони и люди были. Смешалось тёплое и мягкое. Причём тут размер? Форкать всем миром, это чтобы было 7млдр+ копий?

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

Кстати, недопонимание чем это лисп такой уж крутой возникает часто. Спросил чат гпт, чтоб он на пальцах показал примеры: https://chatgpt.com/c/6717ca20-8ed0-8013-8360-230627ce2073

на сколько ответ хорош или плох - не знаю, но познавательно

Реальный случай: И вот такой синьор на тренинге, фактически в роли архитектора, рассказывает как круто можно на s3+lambda построить сайты, кликает кнопочки, rds-ки показывает как поднимать. У него спрашивают: "А почему Route53 так называется?". Ответ: "ну не знаю, да, странное название".
Вывод: обезьянка научилась давить на кнопки в определённом порядке. Не то, чтобы это очень плохо, но жизненно-важные программы я бы ему не доверил..

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

В C++ / python / whatever я тоже могу определить функцию delete_triangle(side_height, side_width), которая будет рисовать прямоугольник с шириной side_height и высотой side_width.

1
23 ...

Information

Rating
7,266-th
Location
Польша
Date of birth
Registered
Activity