Transcription of the Meeting
Говорящий 2 (0:03) Мы завершили на бакенде работу с Кейсиным. (0:07) Я сейчас расскажу про возможности этого запуска и просмотра. (0:12) Покажу сначала подготовленную дему, потом даму подтыкаться, как мне что-то поскорее через компот, чтобы проверить это все и показать. (0:19) А после обсудим то, как ребята тестировали структуру, необходимую для LLM, чтобы вести диалог по обучаемому. (0:42) Здесь видно роль, необходимую, возможную. Говорящий 1 (0:47) Я это видел, этот клип. (0:49) А ты можешь сейчас запустить, да? Говорящий 2 (0:51) Да. (0:51) Я сейчас покажу запущенное без Кейса. (0:57) Чтобы потом самостоятельно запустить, я покажу, что есть определенный скрипт, который помогает на пустую базу завить необходимые Кейсы. (1:11) Там через конфигурацию задается напрямую, какие пароли и имейлы используются для разных ролей админы обучающего и обучаемого. (1:23) Там по умолчанию у всех ChangeMe пароли и разные роли. (1:27) Сейчас как раз у нас пустое все. (1:30) Сейчас делаю заривку Кейсов. (1:39) Это те Кейсы, которые можно смотреть, изучать. (1:43) И то, как они сейчас отображаются, как формат. Говорящий 1 (1:45) А старт Кейса? Говорящий 2 (1:49) Дальше уже будет чат, который сейчас в процессе разработки. Говорящий 1 (1:54) Я бы, может быть, даже включил сейчас, уже можно включить чат, да? (1:58) То есть, можно, в общем-то, включать, типа, привет, привет. Говорящий 2 (2:05) А у обучающего еще есть возможность управления Кейсами созданиями, обновлениями, переводом шаблоны, отображаемые, не отображаемые. (2:17) Также с их изменениями и теми данными. (2:21) Про данные, про то, как они сейчас выглядят и что здесь важно, уже расскажут ребята позже. Говорящий 1 (2:30) Мне кажется, что Edit Кейс, скорее всего, это будет намного сложнее на отдельную страничку. (2:39) Не просто, что ты добавил. (2:42) Ну, как он влазит таким образом, да? (2:44) Ну, совсем мало чего-то. Говорящий 2 (2:50) Да, но у нас сейчас в проработке изменения. (2:52) Просто это сейчас та структура, которая есть. (2:54) Это пока все данные, которые завязаны в сущности backend, я здесь не добавляю на клиенте что-то большее, чем это. Говорящий 1 (3:04) Ну, с этим окей. (3:05) Мой комментарий такой, что можно не ждать, когда будет прям лампа включена. Говорящий 2 (3:14) А если будет просто то же самое отвечать, то что это даст? (3:16) То есть, вот мы начнем в старт кейс, мы будем отвечать то же самое. (3:19) Это же никак не будет наше дело. Говорящий 1 (3:21) Да, но ты уже сделаешь общий конверт, будет понятно, что он там отвечает. Говорящий 2 (3:29) Это же никак не будет связано через хендлы бэкэнда. Говорящий 1 (3:36) Ну, тебе не нужно ждать, пока они сделают этот самый иишку подключен. (3:43) Ты можешь уже написать это сейчас. Говорящий 2 (3:45) Да, но основной функционал чата это правильно управлять сессиями и отправлять наружные ручки бэкэнда. (3:55) А это не сделается до того, как бэкэнд готов. (3:59) Почему? (3:59) Инициализация сессии, паншейки, поддержка истории чата. (4:07) Потому что здесь суть того, чтобы клиент не знал ничего лишнего, а что ему нужно знать и максимально сохранялось на бэкэнде. Говорящий 1 (4:18) Ну, окей. (4:20) Смотри, вот этот фронт ты уже можешь сделать так. Говорящий 2 (4:24) Чтобы просто было отображение чата? Говорящий 1 (4:26) Да, отображение ты писал и ты тогда бэкэнду уже пропишешь интерфейс, которым они должны следовать. (4:35) То есть ты скажешь, вот, мне нужны вот такие-то поля. Говорящий 2 (4:44) У нас сейчас немного другой план. (4:47) В общем, как мы сейчас основаны? (4:48) Для того, чтобы как раз был полный контракт и унификация. (4:51) У нас после того, как написано что-то на бэкэнде, генерируется open IP JSON файл, и за счет него я кода генерирую все необходимые существительности и запросы и уже на них подвязываю все необходимое логику интерфейса. (5:05) То есть у меня нет никаких лишних сущностей для сети и запросов сети, потому что они кода генерируются исходя из спецификации. Говорящий 1 (5:12) Ну, окей. (5:14) Получается, ты ждешь, пока они напишут спецификацию, и в них поплевываешь. (5:21) Что там у вас, спецификация есть? Говорящий 2 (5:23) Нет. Говорящий 1 (5:24) Ну, ладно, я подожду пока кода генерации. (5:27) Окей, хорошо. Говорящий 2 (5:28) Это не единственная задача, которой мы занимаемся. (5:30) То есть нет такого, что человек сидит только на чем-то и занимается только чем-то. Говорящий 1 (5:35) Ну, окей, да. Говорящий 2 (5:38) Давай еще лучше скажешь. Говорящий 1 (5:39) Давай теперь основную. (5:42) Нельзя кода генерировать. (5:45) В общем, мы что-то расширили диапазон кейсов. (5:57) Ну, в общем, визуально нужно по-разному как-то все это кодировать. (6:01) В зависимости даже от страны. (6:03) Мы на какую аудиторию больше будем акцентироваться. (6:06) На российскую, вероятно? (6:08) Ну, на российскую пока что, да. (6:12) Есть что показать? (6:14) Как работает этот пломбей? (6:17) Как работает? (6:19) Ну, да. (6:20) Ну, есть пока, по крайней мере, заполненный новый кейс. (6:25) И накиданный в лоб, можно сказать, промпт. (6:39) Первое, что могу сказать, что напрямую будет зависеть от, насколько модель вообще большая. (6:46) Чем меньше параметров, тем больше могли бы загибать. (6:50) Это первое. (6:51) Второе, китайские модели по типу DeepSeeker почему-то выдавали в этих вот скобках. (7:00) Как это сказать? (7:02) Есть основной текст, типа что она говорит и в скобках, как она типа думает. (7:07) А, ну они, типа, думают. (7:09) Ну, короче, она, да. (7:12) Вот. (7:12) Еще что можно сказать? (7:14) Есть возможность показать эти диалоги? (7:17) Диалогов у меня нет. (7:18) Но я закинул отдельной веткой все, что я написал про новый кейс. (7:24) Что там добавилось? (7:25) Ты ноутбуки используешь? (7:27) Там какой-нибудь… (7:28) Ноутбуки. (7:29) Ну, знаешь, это сейчас… (7:32) Юпитер. (7:34) Есть еще одна. (7:36) Меремо. (7:37) Там идея в чем, что ты как браузер, и ты можешь это сам… (7:42) То есть ты можешь вот эти все эксперименты оформить вот в такой форме. (7:45) То есть ты там взял библиотеку, там запросил, и тогда у тебя это может быть сохранено. (7:51) Ты можешь показать, какие ответы он тебе там давал, что ты там пытался сделать, какие эти самые… (7:59) Можно открыть. (8:00) Просто. (8:01) Какую ветку открыть? (8:22) Здравствуйте. (8:23) Здрасте. (8:24) Мы сейчас выходим. (8:25) А, ничего, у меня тут… (8:27) История. (8:30) Я дала свою ответственность. (8:31) Вы не торопитесь. (8:38) Пока первый человек приедет. (8:47) Ну, окей, сейчас. (8:48) Один момент. (8:49) Хотел бы как-то с вами поговорить. (8:53) Ну, не знаю, насколько здесь все будет понятно, но с точки зрения того, что… (9:01) Лучше детали по поводу, какой формат там данных будет скрыть, а вот сделать ноутбук и посмотреть, как ведет себя. (9:11) Какие данные ты ему дал, и что он тебе ответил. (9:14) И, может быть, ты там можешь написать, что проблема или не проблема. (9:19) Смог ли ты сделать там какой-нибудь простой кейс, провести там несколько вопросов, получить ответы, которые ты бы ожидал. (9:27) То есть, вы хотите, чтобы там были видны ответы и логики? Говорящий 3 (9:30) Ну да. Говорящий 1 (9:31) Это, конечно, хорошее. (9:33) Визуально все будет видно. (9:34) Но единственное, это же по API надо сделать. (9:36) Я использовал вот эту API. (9:39) А, ну можешь не API сделать, тогда тебе придется копипастить результат. (9:49) Запросил, копипаст, вот получил такой-то результат. (9:55) Ну, можно и так. (9:56) Или можешь оформить это в форме тестов, что ли, какие-то, какие ты ожидаешь. (10:03) Ну, лучше все-таки написать документ, в котором ты какие-то части ожидаешь. (10:08) Здравствуйте, заходите, мы сейчас уйдем. (10:12) Ну, можно показать кейс. (10:31) Ну вот, взят он из такого источника. (10:40) Ну, вот прикольно. (10:42) Вот так вот выглядит весь самый кейс заполнен. (10:45) Ну, этот кейс заполнен. (10:46) А вы хочете еще результат посмотреть, что ты сделал? (10:50) Ну, на данный момент этого нет. (10:52) Ну, надо добавить. (10:52) Я еще не договорился об этом. (10:54) Окей, хорошо. (10:55) А на этот, на этот кейс. (11:00) Это я предполагаю, просто нужно же понимать, что мы хотим, какие-то ответы ждем. (11:06) Здесь я пытался найти примерные вопросы, и что он нам должен отвечать. (11:11) Но, должны же мы как-то ввести метрики, насколько она отвечает нормально. (11:20) Как нам хочется. (11:23) К этому зайдем. (11:25) Зайдите, у вас здесь были эти самые goals? (11:31) Да, есть в этом самом. (11:39) Это, по-моему, в этом самом. (11:48) Алина, а где, где вот мы смотрели goals в этом самом? (11:56) Не, не, не, не ищешь, да? (12:00) Майлстоуны, да, майлстоуны. (12:02) Это вы ищешь, да? (12:03) Да. (12:05) Вот. (12:06) Ниже, наверное, не было. (12:08) Да. (12:10) Вот у вас здесь. (12:14) Где-то было прямо с цифрами, которые. (12:19) 0,3, 0,4. (12:25) Я просто из этих вот эпиков, когда смотрел, я пытался понять, какие эпики нужно сделать, чтобы как-то хотя бы пройти, чтобы работало. (12:38) Вот до конца 2 и 3, которые включают чат. (12:42) Второй вот case library management и conversation with virtual engineers. (12:50) Они вот прямо основные, потому что если они сделаны, все остальное будет сделано, а они сделаны не будут, то ну как бы все. (13:01) И если вы сделали вот этот и этот, то хоть как-то на коленках можно показать, что там что-то работает, что-то о чем-то вы подумали. (13:11) Вот я пытаюсь, вот эти вопросы, которые задавал, пытаюсь понять, как вот этот conversational virtual engine, если вы сделали, если вы сделали, как его можно показать, хотя бы на коленках. (13:26) Хотя бы, чтобы что-то там работало. Говорящий 3 (13:29) В данный момент. Говорящий 1 (13:30) Ну вообще, вообще, то есть, что вот мы сделали engine, мы знаем, что мы его сделали. (13:40) Да, здесь тоже не совсем понятно, что, откуда мы знаем, что тут написано AI integration with at least one, как это все будет выглядеть, как ты это представляешь, оно в какой форме, то есть какой-то должен быть интерфейс, или там вот это вот вообще не нужно, respond time consistent, ну как бы оно вроде нужно, но вот на данный момент это совсем progressive information. (14:13) То есть вам нужно описать здесь, ну представьте, что вы будете вот эту штуку показывать ментору, как вы докажете, что оно у вас хоть как-то работает. (14:27) Понятно? (14:33) Ответить на этот вопрос. (14:36) Ответить на этот вопрос, это очень важно, и вы поймете, что нужно сделать. (14:45) Это может быть в форме ноутбука показать, что я это сделал, вот у меня получается. (14:49) Ну это просто примеры, там же, наверное, что-то нужно прям измерить. (14:53) Ну измерить, наверное, не нужно, хотя бы показать работу, там у тебя back-end будет, или еще там у тебя CLI у тебя будет справа, хоть как-нибудь показать, что оно работает. (15:04) Если мы хотим просто показать, то там будет чат, будут проливаться, приходить с доспехами, если этого достаточно, то что-то будет. (15:12) Да, да, да, да. (15:14) Вот хотя бы, чтобы чат работал. Говорящий 2 (15:16) Если чат работает в целом, то нам нужен опеке и инфраструктура для запуска модели. (15:21) То есть если мы покажем ноутбук, мне кажется, это не показывает, что это работает. (15:26) Это не засунуто, никак не центрировано. Говорящий 1 (15:28) То есть вы планируете, что без ключа у вас никак не получится использовать бесплатные какие-то… Говорящий 2 (15:36) Все суперпредставители, даже мелкие бесплатные, вот они очень за пару запросов из чата пользуются. Говорящий 1 (15:44) Нам много не надо, чтобы показывать. Говорящий 2 (15:50) Это то, что есть бесплатная пишка, которая достаточно много себе содержит. (15:54) Особенно с теми плантами огромными, которые сразу съедают в одной токе. (15:58) Поэтому там цена слабой модели китайской даже не зависит. Говорящий 1 (16:05) Ну хорошо, ладно. (16:06) Ну хотя бы покажите… (16:15) Пока что это выглядит так. (16:17) Дайте нам ключ, мы сделаем. (16:19) Но я пока что не вижу, чтобы хоть что-то. (16:22) Вообще ничего не видно. (16:24) Есть ли у вас там фронтенд, который не действует? (16:27) Ну хоть что-то я даже не вижу. (16:30) Но я сам могу это сделать. (16:31) В бигауне я же не очень умею. (16:36) Если… (16:36) Ну… (16:37) Почему я вам должен… (16:41) Это я в общем говорю. (16:44) Не конкретно в моем случае. (16:47) Этот вопрос задаст любой человек. (16:51) Я приду к мансуру, приду к кастумеру и так далее. (16:58) Им нужно показать что-то, что… (17:01) Ну что они там уложат? (17:02) Ну пока что у нас ничего нет. Говорящий 2 (17:03) Но мы сделаем чат. (17:05) Чат будет показываться. (17:06) Мы покажем эксперименты. Говорящий 1 (17:07) Если ты мне покажешь эксперименты, которые работают с DeepSeek или с чем-нибудь хотя бы. (17:13) Покажешь как это работает. (17:15) Я тебе ключ дам. Говорящий 2 (17:17) Я согласен, что мы должны были за этим прийти уже сегодня. Говорящий 1 (17:20) Но сегодня мы договорились, что мы покажем тебе этот самый фронтенд. (17:26) Но вот эта часть… (17:28) Не конверсируй. (17:30) Мне нужно что-то, чтобы я мог понять, что у вас есть идея, которой можно подключить эту самую… (17:42) Давайте теперь потом Gemini закинем это. (17:44) Я вам дам этот ключ. (17:48) Я посмотрю, как настраивается. (17:50) И сделаю, чтобы у вас этот ключ был. Говорящий 2 (17:53) Давайте просто поговорим про настрой, который ожидается. (17:56) То есть ожидается, что мы будем… (17:57) Какой это может быть фронт? (17:59) Вот мартерок. (18:00) Какие-то вопросы мы попробовали произдавать. (18:02) Мы положили по идеальному смыслу. (18:04) Модель отвечала так, как должна. (18:07) Но это стоит. (18:08) Это набор просто скопированных вопросов-ответов. (18:11) Ну хотя бы так. (18:13) Мне кажется, на самом деле нормально этим показаться прямой чат. Говорящий 1 (18:16) Ну можешь показать прямой чат. (18:18) И это самое. (18:19) Ну хотя бы, чтобы… (18:21) Чтобы что-то было. (18:23) Был конверсейшн. (18:24) Я посмотрел. (18:25) Мы ему дали какой-то фронт. (18:26) В этом контексте. (18:28) Хоть вы поспрашивали ему вопросы. (18:33) И получили вот такие ответы. (18:35) И вы считаете, что эти ответы подходят тому, что мы хотим. (18:38) Хорошо. (18:39) И тогда можно решить вопрос ключом. (18:42) Но пока что… (18:43) Пойдемте. Говорящий 2 (18:45) Сначала не то, чтобы сейчас сказать. (18:47) А просто, что будет ситуация, когда завершено. (18:50) В этом моменте, внешние люди, конечно, будут работать. (18:55) Если еще работать. Говорящий 1 (18:57) Пока что… (18:59) Если вы хотите докладывать, что у вас есть такой формат, то мы на следующий семестр, например, точно… (19:08) Но пока что нет именно конкретно этому решения. (19:16) То есть фронтаж можно… (19:18) Любой части сделать. (19:22) Пока что.
Говорящий 2 (0:00) Расскажите диалоги, которые реально работают, и в основании почему такая структура должна использоваться. (0:05) Мы это еще в прошлой неделе проговаривали. Говорящий 1 (0:07) Ну, как бы, вот и все. (0:10) Просто я пока что не вижу алгоритма, по которому будете действовать. (0:23) Что-то мы еще проговаривали. (0:24) А, да, если у вас есть такая возможность, то было бы хорошо, но если бы вы делали пул реквесты. Говорящий 2 (0:33) Открывали до. Говорящий 1 (0:34) Да, открывали бы пул реквесты до, и тогда видно, кто над чем работает. (0:40) Тогда менторы приходят, спрашивают, над чем вот работает человек. (0:45) Вот, вот эти пул реквесты, вот открыть тогда. Говорящий 2 (0:47) А история коммитов не показывает? Говорящий 1 (0:49) Ну, история коммитов… Говорящий 2 (0:51) Нет, если человек занимается программами, то это показывает. (0:53) Открытые, когда открывается, закрывается, а их же изменяется. (0:56) Это же тоже все показывается в истории изменений. (0:58) То есть, когда мы посмотрим гитхапульс, будет видно, кто чем занимался, когда, в какой момент, например, в понедельник можно смотреть активность по действиям цифр и изменениям кодовых базов. Говорящий 1 (1:07) Да, ну, лучше видно это. (1:11) Это юзабилити, из пул реквестов можно сразу увидеть, кто над чем работает. (1:19) Сейчас я открываю, смотрю, над чем кто работает. (1:22) Никто не над чем не работает. Говорящий 2 (1:24) Ну, то есть, мы будем всегда пушить сначала пустую ветку, и потом ребейзить все изменения, если кто-то влился. Говорящий 1 (1:29) Зачем? (1:30) Ты просто потянешь… Говорящий 2 (1:32) Так мне надо будет дать ребейз, чтобы потянуть его изменения и свои поверх поставить. Говорящий 1 (1:36) Не надо, просто потяни изменения, и все. Говорящий 2 (1:39) Ну, это ребейз. Говорящий 1 (1:39) Не надо, не ребейз, а merge те, которые есть, и все. Говорящий 2 (1:43) Ну, это не чтобы моей уже созданной ветке потянуть все изменения, которые есть. Говорящий 1 (1:49) Ребейз это сделать так, чтобы потом твои еще были сверху. Говорящий 2 (1:54) Это же не надо, чтобы… Говорящий 1 (1:56) Нет, merge. (1:58) Сейчас сделай там… Говорящий 2 (2:01) Нет, если конфликты же будут. Говорящий 1 (2:02) Нет, нет. Говорящий 2 (2:04) Почему, если мы один и тот же файл меняем один и тот же? Говорящий 1 (2:06) Почему ты один и тот же файл меняешь? (2:08) Ну, во-первых, не меняй один и тот же файл. (2:11) А во-вторых, если ты просто merge, что плохо? (2:17) Будет выглядеть, как будто бы твои изменения там были после нужного. (2:21) Но ты их замерзнул, там что-то добавил, и если конфликт, ну, там надо разобраться, почему же вы мучаете один и тот же файл. (2:31) Вряд ли у вас там такое… (2:33) Да, конечно. (2:34) Ну, это все хорошо. (2:40) А Лена может что-то еще… Говорящий 3 (2:41) А что вы успели обсудить? Говорящий 1 (2:44) Ну, мы поговорили по… (2:45) Помнишь, что мы тоже обсуждали два главных этих самых… (2:49) Да. (2:49) Две главные цели, которые… (2:51) Есть вот этот engine и cases. (2:55) И, ну, то, что про merge. (2:58) Ну, нужны эксперименты. Говорящий 3 (3:00) Азат, ты вчерашний показывал эту штучку? (3:03) С этой структурой? (3:04) Нет, не показывал? Говорящий 1 (3:05) Ну, да, структура данных, эта штука хорошая, но вот хочется посмотреть, как именно тебе реально экспериментировать. Говорящий 3 (3:12) А можно узнать, у нас есть какие-то требования по языку? (3:15) То есть вот у Азата… (3:18) У Азата иностранный ресурс, я нашла русский ресурс полностью русскоязычный. (3:26) С полезными и так далее. Говорящий 1 (3:28) Ну, тут смотрите, не знаю, смотри, какая LLM. (3:31) Тут, скорее всего, у вас будет зависеть от LLM. (3:36) В идеале, конечно, если вы поэкспериментируете, можете сделать. (3:40) Но вообще-то не знаю. Говорящий 2 (3:40) И диалог на каком языке? (3:42) Диалог? Говорящий 1 (3:44) Диалог? (3:46) Ну, вообще на русском, конечно, лучше. (3:48) Но если у вас там совсем неплохо получается, на русском надо делать. (3:55) Ну, так же, когда я учу вас русский. (3:59) Целевой язык русский. Говорящий 3 (4:04) Хорошо. Говорящий 1 (4:05) Спасибо. (4:06) Спасибо вам. Говорящий 3 (4:07) К следующей встрече, получается, нам нужно, чтобы у нас работал диалог. Говорящий 1 (4:12) Ну, основная, даже можно, чтобы он не работал, но чтобы был понятный алгоритм. Говорящий 2 (4:21) Как раз я просто недопонял, что именно от нас в этом плане хотелось. (4:26) Я подумал, что нам нужно просто поиграться с теми моделями, а то, что их зафиксировать сначала, я в этом что-то не… Говорящий 1 (4:34) Да, везде, где ты делаешь ресёрч и работаешь, должен быть артефакт. (4:40) Если ты поресёрчил, артефакта нет, то ты мог и не ресёрчить. (4:44) Ты можешь просто кофе попить и сказать, что ты поресёрчил. (4:47) Вот должен быть артефакт этого ресёрча, чтобы потом можно было понять, как это работает. (4:55) Причём артефакт этот ресёрч, он должен быть не общий, а уже конкретный, выборка уже должна быть понятной. (5:07) Смотри, я не должен потратить столько же времени на чтение твоего ресёрча, сколько ты потратил на написание этого ресёрча. (5:16) Иначе смысл. (5:18) А если для того, чтобы мне повторить то же самое, что ты делал, нужно столько же времени, сколько ты потратил, то я просто могу это сделать сам, копипастить и сделать. (5:31) Он должен быть достаточно глубокий, чтобы было детали, которые я бы не повторил просто так, и какие-то шаги. (5:44) Что я хочу сделать? (5:45) Ты мне дашь этот текст? (5:47) Я возьму, просто пройдусь по всему, что ты делал, посмотрю, получат ли у меня результаты или нет. (5:56) Что мне это даст? (5:57) Если это мне даст понимание, есть у вас алгоритм этого интернета или нет. (6:01) Если у вас есть этот алгоритм, то понятно, вам всё, что не хватает, это смене окружения. (6:09) Эндпоинт добавить, и всё. (6:11) Тогда вы уже будете писать питоновскую эту самую, вы будете понимать, как это пишется. (6:18) И я вам дам эндпоинт, в котором можно отсылать это всё. (6:26) Может быть, я вас ещё попрошу сделать там хитрость, чтобы его можно было задеплоить на отдельном сервере, и он просто был как прокси. (6:36) Потому что если я вам дам прям напрямую в гугл, то меня гугл забанит. (6:43) А вы как пошли? (6:44) Мне через veryprivate ninjas. Говорящий 2 (6:50) То есть незаметный гугл. Говорящий 1 (6:52) Ну, а по-другому, значит, мне гугл просто скажет, что наш великий AI используешь, как ты посмел без всяких… Говорящий 2 (7:02) Ненужных стран. Говорящий 1 (7:03) Да, стран, которые мы не считаем нужными. (7:09) Ну, это тоже как бы мои проблемы. (7:11) Можно сделать эндпоинт, просто закинем сервер, и в штатах из него просто можно будет. Говорящий 2 (7:19) А могу вам писать, если у меня по ходу дела будут? Говорящий 1 (7:22) Конечно, конечно, пиши. (7:25) Ну, может, даже в канале, там что-то забыли, можешь туда писать. (7:30) Я, в принципе, тебя играю постоянно. (7:32) И да, пиши, если вопросы, чтобы другим видно было, что какие вопросы. (7:42) Да? (7:45) Всё? (7:46) Всё, всё. (7:48) Спасибо. (7:49) Окей, спасибо.
напиши мне овервью по встрече и экшн поинты