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: |

Elsewhere, version 8.6 of Telegram integrates the in-app camera option into the gallery, while a new navigation bar gives quick access to photos, files, location sharing, and more. Unlike Silicon Valley giants such as Facebook and Twitter, which run very public anti-disinformation programs, Brooking said: "Telegram is famously lax or absent in its content moderation policy." NEWS "Your messages about the movement of the enemy through the official chatbot … bring new trophies every day," the government agency tweeted. Ukrainian forces successfully attacked Russian vehicles in the capital city of Kyiv thanks to a public tip made through the encrypted messaging app Telegram, Ukraine's top law-enforcement agency said on Tuesday.
from vn


Telegram roguelike theory
FROM American