{"id":1059,"date":"2017-04-17T17:35:03","date_gmt":"2017-04-17T20:35:03","guid":{"rendered":"http:\/\/chatbotsbrasil.blip.ai\/?p=1059"},"modified":"2023-01-02T10:29:11","modified_gmt":"2023-01-02T13:29:11","slug":"linha-de-comandos-bot","status":"publish","type":"post","link":"https:\/\/www.blip.ai\/blog\/chatbots\/linha-de-comandos-bot\/","title":{"rendered":"Seu bot n\u00e3o deve se resumir a uma linha de comandos"},"content":{"rendered":"<p>A d\u00favida entre adotar uma interface baseada em uma linha de comandos ou em elementos gr\u00e1ficos n\u00e3o \u00e9 nova, apesar de n\u00f3s botmakers nos depararmos v\u00e1rias vezes com ela. Antes de falar um pouco mais sobre isso, quero apresentar um pouco dessa hist\u00f3ria para voc\u00eas.<br \/>\nNo in\u00edcio do s\u00e9culo XX, sugiram as m\u00e1quinas de <a href=\"https:\/\/pt.wikipedia.org\/wiki\/Teletipo\" target=\"_blank\" rel=\"noopener\">Teletipo<\/a> que eram utilizadas para a troca de mensagens de texto entre pessoas em localiza\u00e7\u00f5es remotas. Estas m\u00e1quinas permitiam que uma pessoa digitasse a mensagens em seu terminal \u2014 com um teclado QWERTY \u2014 e a enviasse para que um destinat\u00e1rio, que a receberia de forma impressa. O Teletipo apareceu como uma alternativa para o c\u00f3digo morse e o tel\u00e9grafo, at\u00e9 ent\u00e3o as formas mais populares para o envio de mensagens em tempo real.<br \/>\n<img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-1060 size-full\" src=\"https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f382f38392f574143734f70657261746554656c65747970652e6a7067.jpg\" alt=\"hist\u00f3rias dos bots linha de comandos\" width=\"429\" height=\"371\" title=\"-\" srcset=\"https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f382f38392f574143734f70657261746554656c65747970652e6a7067.jpg 429w, https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f382f38392f574143734f70657261746554656c65747970652e6a7067-300x259.jpg 300w, https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f382f38392f574143734f70657261746554656c65747970652e6a7067-380x329.jpg 380w\" sizes=\"(max-width: 429px) 100vw, 429px\" \/><br \/>\nNaquela \u00e9poca, o teletipo era utilizado exclusivamente para a comunica\u00e7\u00e3o entre pessoas. Mas, em meados do s\u00e9culo XX, com o surgimento dos computadores, as primeiras m\u00e1quinas passaram a &#8220;conversar entre si&#8221; atrav\u00e9s desta interface, enviando respostas a comandos dos operadores humanos, que eram impressas no terminal do operador. Este foi o surgimento da <a href=\"https:\/\/pt.wikipedia.org\/wiki\/Interpretador_de_comandos\" target=\"_blank\" rel=\"noopener\">interface de linha de comandos<\/a> ou <strong>CLI<\/strong> (<em>command line interface<\/em>), mesmo que ainda de forma primitiva.<br \/>\nPosteriormente, o teletipo foi sendo substitu\u00eddo pelo <a href=\"https:\/\/pt.wikipedia.org\/wiki\/Terminal_(inform%C3%A1tica)\" target=\"_blank\" rel=\"noopener\">terrminal burro<\/a>, que permitia o recebimento das mensagens em uma tela, ao inv\u00e9s da impressora. Por fim, os terminais burros ficaram inteligentes, recebendo um microprocessador, que os permitia responder aos comandos sem a necessidade de um computador remoto para processar. Surgia ent\u00e3o o <strong>computador pessoal<\/strong>.<br \/>\n<img decoding=\"async\" class=\"aligncenter wp-image-1062 size-large\" src=\"https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/linha-de-comandos-1024x768.jpg\" alt=\"linha de comandos post hist\u00f3ria\" width=\"648\" height=\"486\" title=\"-\" srcset=\"https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/linha-de-comandos.jpg 1024w, https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/linha-de-comandos-300x225.jpg 300w, https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/linha-de-comandos-768x576.jpg 768w, https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/linha-de-comandos-380x285.jpg 380w, https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/linha-de-comandos-800x600.jpg 800w\" sizes=\"(max-width: 648px) 100vw, 648px\" \/><br \/>\nO in\u00edcio dos anos 80 foi marcado pelo in\u00edcio da populariza\u00e7\u00e3o do computador pessoal, com a IBM e a Apple lan\u00e7ando novos produtos &#8211; o IBM PC e o Apple II. S\u00f3 que estes ainda utilizavam uma interface de linha de comandos, o que os tornava <a href=\"https:\/\/www.computerhope.com\/issues\/ch000619.htm\" target=\"_blank\" rel=\"noopener\"><strong>intimidadores a novos usu\u00e1rios<\/strong><\/a>, j\u00e1 que esta interface possui uma curva de aprendizado alta e requer que o usu\u00e1rio memorize comandos para serem submetidos atrav\u00e9s do teclado. Para tentar resolver este problema, foi desenvolvida pouco depois a <a href=\"https:\/\/pt.wikipedia.org\/wiki\/Interface_gr%C3%A1fica_do_utilizador\" target=\"_blank\" rel=\"noopener\">interface gr\u00e1fica de usu\u00e1rio<\/a> ou <strong>GUI<\/strong> (<em>graphic user interface<\/em>), que traz elementos visuais que os usu\u00e1rios reconhecem \u2014\u00a0como \u00edcones e bot\u00f5es \u2014 a fim de diminuir a curva de aprendizado.<br \/>\n<img decoding=\"async\" class=\"aligncenter wp-image-1061 size-full\" src=\"https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f312f31642f5865726f785f537461725f383031305f776f726b73746174696f6e732e6a7067.jpg\" alt=\"linha de comandos\" width=\"330\" height=\"301\" title=\"-\" srcset=\"https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f312f31642f5865726f785f537461725f383031305f776f726b73746174696f6e732e6a7067.jpg 330w, https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f312f31642f5865726f785f537461725f383031305f776f726b73746174696f6e732e6a7067-300x274.jpg 300w\" sizes=\"(max-width: 330px) 100vw, 330px\" \/><br \/>\nPode-se dizer que a populariza\u00e7\u00e3o em massa dos computadores s\u00f3 foi poss\u00edvel depois do surgimento da interface gr\u00e1fica do usu\u00e1rio. Hoje temos in\u00fameros tipos de dispositivos que utilizam esse paradigma \u2014 celulares, tablets, geladeiras, etc. Apesar disso, a interface de linha de comandos ainda \u00e9 utilizada, mas em nichos espec\u00edficos (como desenvolvedores e administradores de sistema) devido \u00e0\u00a0sua flexibilidade e poder. Para esses casos, existem situa\u00e7\u00f5es em que \u00e9 muito mais produtivo e r\u00e1pido utilizar um comando que uma ferramenta visual. Mas \u00e9 indiscut\u00edvel que, para o usu\u00e1rio comum, uma interface gr\u00e1fica \u00e9 algo muito mais amig\u00e1vel e que requer um esfor\u00e7o muito menor para a realiza\u00e7\u00e3o de tarefas comuns.<br \/>\nHoje, com a populariza\u00e7\u00e3o dos <strong>bots de mensagem<\/strong> (chatbots), vivemos algo parecido com o velho embate <strong>CLI vs GUI<\/strong>: ser\u00e1 que o melhor \u00e9 construir um bot que receba, de maneira aberta e flex\u00edvel, comandos de texto do usu\u00e1rio para que tente interpret\u00e1-los em a\u00e7\u00f5es ou o melhor seria utilizar elementos visuais, como bot\u00f5es, imagens e menus para apresentar ao usu\u00e1rio as a\u00e7\u00f5es poss\u00edveis naquele momento, mesmo que limitando suas op\u00e7\u00f5es?<br \/>\nSe aprendemos com a hist\u00f3ria, poder\u00edamos dizer que a resposta \u00e9 a mesma: na maioria dos casos, uma <strong>interface com elementos gr\u00e1ficos \u00e9 muito mais amig\u00e1vel para o usu\u00e1rio comum<\/strong>. Mas pode haver casos espec\u00edficos em que um bot com interface de texto ser\u00e1 a melhor op\u00e7\u00e3o.<br \/>\nUm ponto que, na minha opini\u00e3o, \u00e9 bastante mal entendido \u00e9 a <em>natureza<\/em> <em>conversacional<\/em> <em>dos bots<\/em>, que \u00e9 uma das grandes vantagens desse tipo de aplica\u00e7\u00e3o. Muitas pessoas entendem isso como o fato de voc\u00ea poder conversar com um rob\u00f4 como se fosse uma pessoa. Mas na verdade, est\u00e1 muito mais relacionado \u00e0 possibilidade do usu\u00e1rio <strong>voltar na linha do tempo das intera\u00e7\u00f5es atrav\u00e9s da thread<\/strong> com o bot, <strong>mesmo que tenha sido atrav\u00e9s de bot\u00f5es e elementos visuais<\/strong>. Esse recurso possibilita a cria\u00e7\u00e3o de um contexto mais rico da intera\u00e7\u00e3o entre a pessoa e a aplica\u00e7\u00e3o.<br \/>\nE confesse: em alguns momentos, aposto que voc\u00ea gostaria de receber um menu de uma pessoa ao inv\u00e9s de uma pergunta aberta!<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1073 size-full\" src=\"https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/linha_comandos.jpg\" alt=\"linha de comandos post blog\" width=\"720\" height=\"379\" title=\"-\" srcset=\"https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/linha_comandos.jpg 720w, https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/linha_comandos-300x158.jpg 300w, https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/04\/linha_comandos-380x200.jpg 380w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><br \/>\nPortanto, se seu usu\u00e1rio n\u00e3o for um hacker, n\u00e3o construa seu bot como um prompt de linha de comandos!<br \/>\n<strong>O que voc\u00ea acha? Vamos trocar uma ideia!<\/strong><br \/>\n&nbsp;<\/p>\n<hr \/>\n<p><a href=\"https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/01\/54.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-652 alignleft\" src=\"https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/01\/54-225x300.jpg\" alt=\"54\" width=\"225\" height=\"300\" title=\"-\" srcset=\"https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/01\/54-225x300.jpg 225w, https:\/\/www.blip.ai\/blog\/wp-content\/uploads\/2017\/01\/54.jpg 354w\" sizes=\"(max-width: 225px) 100vw, 225px\" \/><\/a><strong>Andr\u00e9 Bires<\/strong><br \/>\nDesenvolvedor na Take<br \/>\n<a href=\"https:\/\/www.linkedin.com\/in\/andrebires\/\" target=\"_blank\" rel=\"noopener\">LinkedIn<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A d\u00favida entre adotar uma interface baseada em uma linha de comandos ou em elementos gr\u00e1ficos n\u00e3o \u00e9 nova, apesar de n\u00f3s botmakers nos depararmos v\u00e1rias vezes com ela. Antes de falar um pouco mais sobre isso, quero apresentar um pouco dessa hist\u00f3ria para voc\u00eas. No in\u00edcio do s\u00e9culo XX, sugiram as m\u00e1quinas de Teletipo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1081,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[125],"tags":[209],"class_list":["post-1059","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chatbots","tag-desenvolvimento"],"lang":"pt","translations":{"pt":1059},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www.blip.ai\/blog\/wp-json\/wp\/v2\/posts\/1059","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blip.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blip.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blip.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blip.ai\/blog\/wp-json\/wp\/v2\/comments?post=1059"}],"version-history":[{"count":0,"href":"https:\/\/www.blip.ai\/blog\/wp-json\/wp\/v2\/posts\/1059\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.blip.ai\/blog\/wp-json\/wp\/v2\/media\/1081"}],"wp:attachment":[{"href":"https:\/\/www.blip.ai\/blog\/wp-json\/wp\/v2\/media?parent=1059"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blip.ai\/blog\/wp-json\/wp\/v2\/categories?post=1059"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blip.ai\/blog\/wp-json\/wp\/v2\/tags?post=1059"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}