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

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

Главный вопрос в том, как сделать так, чтобы компьютеру можно было давать всякие сложные, неполные, размазанные по времени инструкции. "Если мне придет емейл от босса, засуши лягушку, дождись полнолуния, если лягушка зеленая - пошли ему посылкой, а если красная - спроси меня, что делать дальше". Если генерировать из чего-то такого код на нормальном языке типа JS ( ;-) ), то не очень понятно, как и где его запускать: обычные рантаймы должны где-то висеть запущенными и ждать "полнолуния", или создавать какие-то кастомные триггеры в какой-то другой системе, или еще что-то такое. Поэтому несмотря на то, что ллмкам уже больше года, нет какого-то нормального и универсального подхода к пониманию и исполнению таких вот инструкций.

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

Slalom поддерживает синтаксические континуации, которые позволяют писать отложенные инструкции вроде "спроси меня в таком случае" или даже "спроси ИИ". Такая функция может взять снаружи код, который будет выполнен в том же контексте, что ее запустил, с сохранением всех переменных из окружения.

Я начал с того, что пытался заставить разные ллмки писать мне код для такого рода инструкций, и понял, что какие-то серьезные стейтмашины или синхронизацию асинхронных калбеков они особо не осиливают, и куда лучше справляются с простыми последовательностями действий и имплицитным состоянием их исполнения. Для инструкции типа "пойди туда, а потом пойди сюда" обычные скриптовые языки потребовали бы хранить где-то состояние всего плана, и реагировать на события, чтобы его менять - тут я постарался сделать так, чтобы самый простой код (буквально почти так и выглядящий: "пойди туда, а потом пойди сюда") работал, даже если поход занимает неделю и выполняющую его программу приходится перезапускать.

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

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

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



group-telegram.com/roguelike_theory/661
Create:
Last Update:

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

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

Главный вопрос в том, как сделать так, чтобы компьютеру можно было давать всякие сложные, неполные, размазанные по времени инструкции. "Если мне придет емейл от босса, засуши лягушку, дождись полнолуния, если лягушка зеленая - пошли ему посылкой, а если красная - спроси меня, что делать дальше". Если генерировать из чего-то такого код на нормальном языке типа JS ( ;-) ), то не очень понятно, как и где его запускать: обычные рантаймы должны где-то висеть запущенными и ждать "полнолуния", или создавать какие-то кастомные триггеры в какой-то другой системе, или еще что-то такое. Поэтому несмотря на то, что ллмкам уже больше года, нет какого-то нормального и универсального подхода к пониманию и исполнению таких вот инструкций.

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

Slalom поддерживает синтаксические континуации, которые позволяют писать отложенные инструкции вроде "спроси меня в таком случае" или даже "спроси ИИ". Такая функция может взять снаружи код, который будет выполнен в том же контексте, что ее запустил, с сохранением всех переменных из окружения.

Я начал с того, что пытался заставить разные ллмки писать мне код для такого рода инструкций, и понял, что какие-то серьезные стейтмашины или синхронизацию асинхронных калбеков они особо не осиливают, и куда лучше справляются с простыми последовательностями действий и имплицитным состоянием их исполнения. Для инструкции типа "пойди туда, а потом пойди сюда" обычные скриптовые языки потребовали бы хранить где-то состояние всего плана, и реагировать на события, чтобы его менять - тут я постарался сделать так, чтобы самый простой код (буквально почти так и выглядящий: "пойди туда, а потом пойди сюда") работал, даже если поход занимает неделю и выполняющую его программу приходится перезапускать.

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

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

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

BY roguelike theory


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/roguelike_theory/661

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Andrey, a Russian entrepreneur living in Brazil who, fearing retaliation, asked that NPR not use his last name, said Telegram has become one of the few places Russians can access independent news about the war. In addition, Telegram now supports the use of third-party streaming tools like OBS Studio and XSplit to broadcast live video, allowing users to add overlays and multi-screen layouts for a more professional look. "There are several million Russians who can lift their head up from propaganda and try to look for other sources, and I'd say that most look for it on Telegram," he said. Since January 2022, the SC has received a total of 47 complaints and enquiries on illegal investment schemes promoted through Telegram. These fraudulent schemes offer non-existent investment opportunities, promising very attractive and risk-free returns within a short span of time. They commonly offer unrealistic returns of as high as 1,000% within 24 hours or even within a few hours. Right now the digital security needs of Russians and Ukrainians are very different, and they lead to very different caveats about how to mitigate the risks associated with using Telegram. For Ukrainians in Ukraine, whose physical safety is at risk because they are in a war zone, digital security is probably not their highest priority. They may value access to news and communication with their loved ones over making sure that all of their communications are encrypted in such a manner that they are indecipherable to Telegram, its employees, or governments with court orders.
from cn


Telegram roguelike theory
FROM American