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

"The result is on this photo: fiery 'greetings' to the invaders," the Security Service of Ukraine wrote alongside a photo showing several military vehicles among plumes of black smoke. WhatsApp, a rival messaging platform, introduced some measures to counter disinformation when Covid-19 was first sweeping the world. In December 2021, Sebi officials had conducted a search and seizure operation at the premises of certain persons carrying out similar manipulative activities through Telegram channels. The Russian invasion of Ukraine has been a driving force in markets for the past few weeks. Oleksandra Matviichuk, a Kyiv-based lawyer and head of the Center for Civil Liberties, called Durov’s position "very weak," and urged concrete improvements.
from tr


Telegram roguelike theory
FROM American