Michał Dziedziniewicz (CodeAll): Nasz chatbot uczy programowania dostosowując poziom do Twoich potrzeb

Dodane: 25.10.2021

Damian Jemioło

Udostępnij:

CodeAll to startup, który tworzy aplikację w postaci chatbota, który uczy programowania. Za jego pomocą adepci kodowania mogą tworzyć tzw. inteligentne otoczenie, tj. programować np. czujniki we własnym domu. CodeAll pojawił się na Infoshare i wziął udział w konkursie Startup Contest 2021.

Powiedz na czym polega wasza aplikacja CodeAll?

Tworzymy aplikację, która jest chatbotem do nauki programowania. Prowadzi on krok po kroku użytkownika przez kolejne zagadnienia programistyczne – uczy i podpowiada, w jaki sposób pisać kod. Nie korzystamy z żadnych uproszczeń w postaci bloczków, korzystamy z normalnego kodu.

Aby nauka była atrakcyjniejsza, dodatkowo można korzystać z zestawu zaprojektowanych przez nas czujników. Dzięki nim uczniowi łatwiej jest też zrozumieć czasami abstrakcyjne dla niego pojęcia programistyczne, widzi, jak w praktyce się z nich korzysta. Dzięki czujnikom można zbudować np. alarm domowy, włączanie światła na klaśnięcie, czujnik parkowania w samochodzie czy inteligentną lodówkę.

Inną kwestią jest kontakt, mentoring. To coś, czego w tradycyjnym, pruskim systemie edukacji praktycznie nie ma wcale. I chyba wszyscy się zgodzimy, że sprzęt czy specjaliści w szkołach nie nadążają za tempem rozwoju rzeczywistości. Stąd pojawił się pomysł na stworzenie chatbota, z którym będziesz mógł porozmawiać i który będzie się uczyć wraz z Tobą. W związku z tym pozna Twoje predyspozycje i będzie mógł dostosować poziom nauczania do Twoich potrzeb. Uważam, że chatboty edukacyjne to będzie nasza przyszłość.

Wygląda na to, że za waszym chatbotem stoi dość zaawansowane AI, skoro jest on w stanie dostosować poziom nauczania do czyichś potrzeb. I w ogóle zweryfikować i sklasyfikować te potrzeby.

W tej chwili pracujemy nad stworzeniem własnego odpowiednika GPT-3, czyli technologii, która wykorzystując głębokie uczenie, jest w stanie imitować ludzką komunikację i tekst. Zaczęliśmy jednak od chatbotów intencyjnych, aby w ogóle stworzyć „iluzję rozmowy”. Jest to w jakimś sensie kwestia testu Turinga. Tj. wyzwaniem jest stworzenie chatbota intencyjnego, który będzie mógł imitować normalną rozmowę. To pozwala nam zresztą na rozwijanie się, ale też zbieranie feedbacku od użytkowników.

To jak od środka wygląda samo uczenie się z chatbotem?

Tworzymy do tego dedykowaną aplikację, w której można rozmawiać z chatbotem. Będzie z nim można oczywiście pogadać o pogodzie czy poprosić go o to, aby sprawdził coś na Wikipedii, albo po prostu wejść w scenariusz lekcyjny. Wtedy rozpocznie się rozmowa – z przykładami, ale też pytaniami, czy wszystko jest zrozumiałe, czy chcesz się nad czymś jeszcze pochylić lub iść dalej. A także ogólny feedback, czy w ogóle podoba Ci się taka forma nauczania.

Ile przygotowaliście zatem dedykowanych materiałów?

W tej chwili mamy 90 lekcji. Ta lista będzie oczywiście rosnąć. Mamy dwa środowiska funkcjonowania. Rozmawiasz z chatbotem, podaje Ci on przykłady, a Ty wskazujesz, co w danym momencie byś zrobił. Możesz jednak przejść też w kontekst, gdzie zamiast rozmowy „w chmurkach” pojawiają się bloki kodu, w których trzeba coś zmodyfikować lub uzupełnić pewne luki. Nie chodzi zatem o to, aby za każdym razem tworzyć kod od nowa. Modyfikacja kodu źródłowego jest bardzo ważna i warto jej się nauczyć.

Większość programistów korzysta z Githuba i pomaga sobie już raz wykonanymi przez innych działaniami. Kod wew. aplikacji możesz w każdym momencie zapisać, wrócić do niego i oczywiście wyjść z tego kontekstu i zadać chatbotowi pytanie.

A co ze społecznością? Tj. czy planujecie albo już udostępniliście możliwość rozmowy nie tylko z chatbotem, ale też innymi osobami, które uczą się w waszej aplikacji?

To jest temat na przyszłość. Naturalnym jest we wszystkich rozwiązaniach cyfrowych, aby jak najszybciej budować wokół niego społeczność. Zakładam jednak, że to będzie możliwe w horyzoncie co najmniej trzech kwartałów. Mamy pewną wizję i na bieżąco ją aktualizujemy, w zależności od tego, jakie pojawiają się pomysły czy wyzwania. Jesteśmy w końcu startupem. (śmiech)

Czyli waszym głównym celem jest kształcenie przyszłych programistów, tak?

To nasz krótkoterminowy cel. W długoterminowym jest jednak zrewolucjonizowanie sposobu, w jaki się uczymy. Ponownie – uważam, że chatboty edukacyjne to przyszłość, a my chcemy być po prostu pierwsi.

To, jaki jest zatem próg wejścia? Ja np. nie mam zielonego pojęcia o kodowaniu. Czy mógłbym uczyć się poprzez waszą aplikację, będąc całkowitym nowicjuszem?

Dokładnie tak. Próg wejścia jest tutaj bardziej podyktowany przez predyspozycje. Tzn. jak poprowadzić kogoś, kto przez szkołę zaczął się obawiać matematyki i jak zobaczy cyfrę – to spanikuje. Z doświadczenia wiem, że ten strach jest nabyty, bo kojarzy się ze złymi doświadczeniami. W końcu są konteksty, w których operujesz na cyfrach i w ogóle się tym nie przejmujesz. Jak przelew Ci wpłynie na konto w banku, to przecież nie panikujesz.

Strach może się zacząć w momencie, w którym ktoś zapyta Cię ile to jest 5×7 i zobaczysz tykający zegar. Ten stres został nabyty najpewniej w toku edukacji. Zatem poprowadzenie kogoś, kto ma takie problemy, jest prawdziwym wyzwaniem. Samo budowanie poziomu zaczyna się oddolnie. Mamy najprostsze koncepty – mamy pudełko, które jest zmienną, co możemy do niego włożyć? Same pojęcia są proste. My musimy przede wszystkim zachować balans, aby ktoś dla kogo jest to pryszcz, się nie znudził. Ani żeby ktoś kto czuje lęk przed kodowaniem lub matematyką, się nie zraził. W końcu wiele osób jest „nauczonych, że nie potrafi”.

Wspominałeś o tym zapotrzebowaniu rynku i widzę tutaj też potencjał dla waszej aplikacji do wyłapywania talentów. Nawet na rzecz samej waszej organizacji.

W jakimś sensie tak, bo jest to w końcu forma szarej strefy. Masz ludzi, którzy wiedzą, że potrafią i chcą to robić, są też osoby, które wiedzą, że nie potrafią i nigdy tego nie zrobią. Potem masz też osoby, które może by chciały, ale mają jakiś opór. Np. nie podobało im się, w jaki sposób byli uczeni do tej pory. Tj. większość edukacyjnych treści online jest wybitnie łatwa i zaprojektowana po to, aby zainteresować siedmioletnie dzieci. Tylko potem jest Github i olbrzymia ściana kodu. Trudno znaleźć coś pomiędzy.

My chcemy być pomostem pomiędzy tymi rozwiązaniami i dzięki temu możemy wychwycić pewne osoby. Na to też zresztą liczymy. Pojawia się tu też temat narzędzia, po które sięgnie ktoś, kto raz ten rozwój kompetencji programistycznych przeszedł i chce dowiedzieć się więcej.

A co kiedy udzielę złej odpowiedzi, pobłądzę? Czy chatbot jakoś nakierowuje mnie na właściwe rozwiązania?

Może to zrobić, ale też np. dać Ci wskazówkę. Jest jednak opcja, w której zapyta Cię, gdzie leży problem. Tj. poprosi, abyś powiedział mu, czego nie rozumiesz. Wówczas chatbot może Ci podać jakieś przykłady, dzięki któremu lepiej pojmiesz temat albo sprawdzić i potwierdzić, czy zrozumiałeś poprzednie lekcje, dostrzegając analogiczną sytuację. Na przykła, że masz problemy w sytuacjach, w których występują zmienne. Chatbot dzięki temu może zaproponować powrót do poprzedniej lekcji, w której też te zmienne występowały, żeby pomóc Ci je zrozumieć.

Sam zresztą zajmowałem się kiedyś nauczaniem programowania i prowadziłem wykłady dla uczniów. Spotkałem mnóstwo osób, które były przekonane, że nie potrafią, ale jednocześnie chcieli spróbować się czegoś nauczyć. Pamiętam zresztą taki przypadek, kiedy jeden z moich uczniów nie mógł zrozumieć prawdopodobieństwa. Odkryłem jak mu pomóc, kiedy dowiedziałem się, że gra w pokera. Poprosiłem go, aby wskazał mi, jakie jest np. prawdopodobieństwo wylosowania królowej z dwóch takich samych talii. Zacząłem więc tłumaczyć mu wszystkie zadania na przykładzie kart i nagle nie było żadnego problemu. W końcu, jeśli gra w pokera, to musi rozumieć rachunek prawdopodobieństwa i mieć to w małym palcu.

Z jakiegoś powodu był jednak przekonany, że taki rachunek prawdopodobieństwa w kartach i w matematyce to są zupełnie odrębne domeny. Zwyczajnie rozdzielił je w swojej głowie. Wiele osób ma takie mechanizmy.

Co przez to rozumiesz?

Są osoby, które dosięgnęła trauma. I przyznam szczerze, że nie wiem, czy są oni naszym targetem i czy nasz chatbot podołałby takiemu wyzwaniu. Trauma bardzo mocno wpływa na naszą zdolność do znoszenia trudnych sytuacji i porażki. Kiedyś pracowałem w świetlicy z dziećmi z patologicznych środowisk. Wówczas kiedy dzieciak raz się pomylił, czy miał poczucie, że czegoś nie wie, to po prostu czuł strach. I to nie był zwykły opór, tylko właśnie strach. Fajnie by było jednak takim osobom pomóc i do nich dotrzeć. Jest temat chatbota terapeutycznego, ale to olbrzymie wyzwanie.

A jak w ogóle stworzyliście waszą aplikację? Pozyskaliście finansowanie od funduszy i inwestorów, czy bootstrapowaliście się?

Dopiero teraz zaczęliśmy szukać inwestora. Przez bite dwa-trzy lata działaliśmy w oparciu o granty i fundusze, które udało nam się pozyskać niezależnie. Częściowo pokryte były one przez bootstrapping. Funkcjonujemy zresztą wewnątrz software house’u, który pomaga finansować częściowo rozwój produktu. W przyszłym roku planujemy też wejść na Kickstartera. Liczymy, że będzie to też nasz pierwszy konkretny sprawdzian.

Dlaczego w zasadzie Kickstarter?

Nie będę zaprzeczać, że możemy uzyskać bardzo wiele od inwestora, który będzie chciał nas też czegoś nauczyć. Tj. zaoferuje smart money. Kickstarter jest jednak dla nas dodatkowym źródłem pozyskania funduszy. Należy jednak pamiętać, że oprócz chatbota, mamy też czujniki. Część hardware’owa jest zawsze bardzo dużym wyzwaniem. Zaletą świata wirtualnego jest to, że można sobie pozwolić na popełnianie błędów. Hardware wymaga jednak wielu środków i nakładów pracy, żeby być gotowym na produkcję.

Poprzez Kickstarter chcemy pozyskać fundusze, które pomogą nam spilotażować produkt hardware’owy, kiedy nie mamy jeszcze dużej widoczności na rynku. Kickstarter umożliwi nam stworzenie produktu, zaprezentowanie go i uzyskanie feedbacku.

Spotykamy się na Infoshare. Pojawiliście się tu dlatego, że bierzecie udział w konkursie Startup Contest, ale domyślam się, że nie jest to jedyny cel, jaki przyświeca waszej obecności tutaj.

Naszym celem jest też promocja i pozyskiwanie inwestorów. Jesteśmy w samym środku pushu zarówno w Polsce, jak i za granicą, jeśli chodzi o prezentowanie naszego produktu. Dosłownie zaraz będziemy występować też na GITEX w Dubaju. Planujemy też wziąć udział w dwóch innych eventach w Arabii Saudyjskiej.

Infoshare jako duże i ważne wydarzenie w Polsce jest też okazją, aby pokazać się, zaprezentować naszą historię oraz poznać potencjalnych inwestorów czy partnerów biznesowych. Ponieważ planujemy kampanię Kickstaterową na przełom I i II kwartału 2022 r., to chcemy być widoczni i być na czasie – stąd Infoshare.

Infoshare 2021 – festiwal społeczności napędzanej technologią!

Ponad 4500 tysiąca uczestników, ponad 300 technologicznych startupów, korporacje oraz blisko 150 ekspertów z całego świata, którzy dzielili się wiedzą na 5 scenach Infoshare. Tak wyglądał Infoshare 2021! Największa technologiczna konferencja w CEE odbyła się w październiku w Gdańsku.