Tarefas repetitivas
Vez ou outra ouço alguém dizer numa conversa sobre programação, "ah, mas a IA é ótima para automatizar tarefas repetitivas". Uma categoria de tarefas assim é o boilerplate, que são aquelas espécies de esqueletos de código que você está sempre copiando e colando por aí. Vamos dizer que você está trabalhando numa listagem de produtos e quer fazer um filtro por texto. No rails poderia ser assim:
like_arg = ["%" + Produto.sanitize_sql_like(search_term) + "%"]
query = query.where("nome like :term", term: like_arg)
O boilerplate nesse caso seria essa primeira linha, que você usa toda vez que quer montar uma query de busca no rails e que, sem o uso da IA, provavelmente copiaria de algum outro arquivo de código, trocando talvez o nome da variável. Poderíamos em vez disso usar a nossa cabeça e as nossas mãos no design de uma nova interface de query para o ActiveRecord:
query = query.where.like("nome", search_term)
É comum fazer uma busca textual em várias colunas:
like_arg = ["%" + Produto.sanitize_sql_like(search_term) + "%"]
query = query.where("nome like :term OR categoria like :term OR marca like :term", term: like_arg)
Nesse caso não somente a sanitização é uma tarefa repetitiva, mas a própria construção do condicional na query. Duas tarefas para eliminar desenhando uma nova interface:
query = query.where.like(["nome", "categoria", "marca"], search_term)
Aqui não há mais tarefas repetitivas, você está declarando duas coisas essenciais em um vocabulário mais conciso do que a linguagem natural: existe uma busca textual, e ela acontece nas colunas nome, categoria e marca. Melhor do que automatizar uma tarefa repetitiva é eliminá-la, e esta eliminação em si tende a ser uma tarefa distinta e interessante, com ampla oportunidade para expressão e desenvolvimento pessoal.