Hoje em dia, à medida que os grandes modelos têm demonstrado capacidades cada vez mais poderosas em programação, geração de código, testes automatizados e outros campos, surgiu uma questão instigante: Será que os grandes modelos acabarão por substituir os empregos dos programadores?
Algumas pessoas acreditam que nenhum trabalho no mundo é absolutamente seguro e que é apenas uma questão de tempo até que as máquinas substituam os humanos. Do GitHub Copilot, ChatGPT ao doméstico Tongyi Lingma, várias ferramentas alternativas surgiram uma após a outra. A IA fará cada vez mais e os humanos farão cada vez menos. O CEO do Baidu, Robin Li, disse uma vez que basicamente não existirá a profissão de "programador" no futuro, porque enquanto todos puderem falar, todos terão a capacidade de ser programadores.
Mas outros têm uma visão diferente. Eles acreditam: "Os programadores low-end desaparecerão e os programadores criativos se tornarão grandes." "A programação ainda é o básico e deve ser aprendida. Se você não consegue entender o programa, ele será inútil, não importa quão criativo você seja. " O CEO da 360, Zhou Hongyi, acredita que o entusiasmo pelos programadores não diminuirá dentro de dez anos. Embora todos usem computadores no futuro e todos sejam programadores, os produtos criados por diferentes pessoas que usam computadores são completamente diferentes. A era da IA exige ainda mais especialistas e programadores em informática, e eles podem ser os mais expressivos em todas as áreas. da vida. .
Então, qual é a situação real? Que empregos a tecnologia de grandes modelos pode substituir e como isso afetará as carreiras dos programadores? Como um programador comum, como você deve se adaptar às mudanças?
Na 12ª edição [Open Source Talk], convidamos Yang Yanbo, chefe de pesquisa de agentes do iFlytek AI Engineering Institute, Sun Yishen, cientista de dados da equipe do PingCAP AI Lab, e Ma Gong, engenheiro da Infra, para discutir o que acontecerá com o desenvolvimento de grandes modelos. Como moldar o local de trabalho tecnológico do futuro?
Compartilhando convidados:
Yang Yanbo
Ele é o responsável pela pesquisa de agentes no iFlytek AI Engineering Institute e engenheiro sênior de P&D. Ele adora código aberto e é responsável pela pesquisa na plataforma de ajuste fino de modelos grandes (Maas) e nas tecnologias relacionadas a agentes.
Sun Yishen
PingCAP AI Lab Data Scientist Desde o lançamento chocante do ChatGPT, ele se concentrou na exploração do desenvolvimento de aplicativos LLM e Multiagentes e outras direções de aplicativos, desenvolveu aplicativos como TiDB Bot e LinguFlow e participou do desenvolvimento da comunidade AutoGen. .
hospedar:
trabalhador de cavalo
Engenheiro Nordic Infra, gestor da conta pública "Swedish Horseman". Convidado regular do "Open Source Talk".
01Até que ponto se desenvolveu o atual modelo de grande escala ? Que empregos podem ser substituídos?
Ma Gong: Até que ponto os grandes modelos se desenvolveram até agora? Até onde chegou a substituição de programadores? Quais produtos já estão indo bem? Você pode me contar uma coisa?
Yang Yanbo: O tópico sobre o qual estamos falando hoje é se os grandes modelos substituirão os programadores. Vejamos primeiro a definição de programadores. A Wikipedia diz que os programadores inicialmente se referiam a desenvolvedores de software puros, mas é óbvio que hoje os programadores não se referem mais apenas a desenvolvedores de software e seu trabalho não se limita mais a escrever código. Trabalhos como escrita de scripts e testes de software podem ser gradualmente substituídos hoje. Hoje em dia, em alguns cenários simples, como tradução, classificação de documentos e anotação de dados, modelos grandes têm sido melhor utilizados com algumas estruturas de agentes. As posições em tais cenários são relativamente fáceis de serem substituídas por modelos grandes.
Sun Yishen: Quando o ChatGPT foi lançado, foi realmente incrível. Foi realmente um golpe de redução de dimensionalidade para alguns aplicativos de IA anteriores. No entanto, depois da experiência de todos, você descobrirá que ele tem pontos positivos, mas também tem muitas desvantagens. Para um programador, se ele realmente precisa ser usado em produção, eu definitivamente não olho para o seu teto, mas para o seu nível médio, ou onde está o seu resultado final, porque é isso que garante o seu serviço. A qualidade é o foco.
Se você olhar agora, verá que ele só pode fazer algumas coisas relativamente rudimentares no campo de texto. Por exemplo, é melhor para resumir e compreender a leitura, mas se você realmente deseja que ele faça um relacionamento de texto muito avançado, ele não é tão bom nisso ou sua precisão não é tão alta.
Olhando para o campo dos programadores, é realmente semelhante. Ele pode realizar algumas tarefas básicas. Mas o trabalho avançado, em tese, não possui a chamada capacidade de raciocínio lógico. A razão pela qual parece ter capacidade de raciocínio lógico é porque na maioria dos casos a lógica está contida na linguagem, desde que o texto aprendido seja bom o suficiente, conterá naturalmente alguma lógica. na verdade não entende essa coisa em si. Se você realmente pedir para desenvolver algo muito complexo, ou algo muito novo, então basicamente ele não será capaz de fazê-lo.
Ma Gong: Sim, o Copilot me forneceu alguns códigos, que são muito úteis e convenientes, mas você ainda precisa lê-los, caso contrário, será um desastre se você inseri-los. Mas se o chefe me demitir, ele mesmo terá que olhar o código do Copilot. Acredito que ele poderia muito bem me pedir para dar uma olhada.
Então, novamente, você disse que não é possível fazer coisas avançadas, mas quantas coisas avançadas existem no trabalho diário de um programador? Talvez 99% do nosso trabalho seja de baixo nível. O que você acha?
Yang Yanbo: O próprio modelo grande contém alguns recursos atômicos, como diálogo básico, algumas funções em sua própria página, etc. Esses são métodos de uso relativamente simples que permitem experimentar o efeito de modelos grandes.
Para tarefas mais complexas, geralmente usamos APIs de modelos grandes para executar aplicativos mais avançados no cliente ou programaticamente. O grande modelo de que estamos falando agora não é apenas o desenvolvimento de suas próprias capacidades atômicas, mas também o paradigma de programação mais popular deste ano, que é um paradigma de agente. Esta peça também faz parte do desenvolvimento de modelos de grande porte. No futuro, tarefas complexas poderão ser resolvidas mais pelo conceito de agentes inteligentes. Este é o meu ponto de vista.
Ma Gong: O que é exatamente esta mudança de paradigma? Isso significa que os programadores não serão necessários para escrever código, testar, aplicar e depois implantar no ambiente de produção no futuro, ou...?
Yang Yanbo: Deixe-me dar um exemplo. No mundo real, ao desenvolver um projeto, muitas vezes há um líder de projeto, gerente de projeto, desenvolvimento e testes, implantação de operação e manutenção e outras funções diversas, que trabalham juntos para fazer o projeto decolar. Depois que o modelo grande for lançado, podemos usar o modelo grande para desempenhar essas funções para atingir seus diferentes objetivos no projeto e concluir um projeto juntos. Esta é a plataforma de agente inteligente na qual todos estão trabalhando recentemente. Na verdade, como um ambiente relativamente especial como a programação, é realmente muito promissor usar múltiplas funções para coordenar a codificação.
02 Ainda serão necessários programadores humanos no futuro?
Ma Gong: Então o que você está dizendo é que grandes modelos não apenas substituirão os programadores, mas também matarão toda a equipe de TI. Em outras palavras, no futuro, os gerentes de produto lidarão diretamente com os agentes e não haverá necessidade de pessoas. ou empresas. Sim. É isso que você quer dizer?
Yang Yanbo: Meu ponto de vista pode ser mais radical, talvez algo assim. Claro, depois de substituir esses cargos, alguns novos cargos serão definitivamente criados.
Ma Gong: Que cena aterrorizante.
Sun Yishen: Isso mesmo, porque o tópico de hoje discute se será eventualmente substituído. É difícil dizer se será substituído no final.
Falando por experiência própria, fiz muitos experimentos. Como disse Yanbo, permitir que os agentes formem uma equipe é uma abstração melhor para o processo de resolução de problemas. Até adicionei uma camada de abstração a esse nível - como fazer minha própria tarefa? Como a tarefa terá um SOP correspondente para dar suporte à execução da tarefa, e diferentes SOPs terão um conjunto completo de fluxos de trabalho, posso usar esse grupo para combinar diferentes funções para fazer isso.
Mas depois de completar esses dois níveis de abstração, ainda era difícil atender às minhas necessidades reais de trabalho de produção. Por exemplo, se eu pedir para ele fazer algum trabalho de análise de dados, na operação real, você poderá inserir um grande número de tokens e, durante esse processo, suas trocas e interações de contexto também serão muito frequentes. na verdade excede 100K+.
Neste caso, a probabilidade de finalmente completar a tarefa é bastante pequena. Porque todos os aspectos do seu processo têm possibilidade de erro e, no final das contas, é um princípio de multiplicação! Após a multiplicação ser concluída, em geral, a taxa de sucesso ainda é bastante baixa.
Porque quando alguém escreve um artigo, com certeza vai te mostrar seus melhores destaques! Mas se esse destaque for repetido 100 vezes, é difícil dizer se 90% dele ficará assim. Na verdade, finalmente usei-o se o contexto for longo o suficiente ou a lógica for complexa o suficiente, é muito difícil comunicar-se com ele apenas por um PM.
Se um PM tem a capacidade de revisar todo o código gerado, ele não é equivalente a um programador? Acho que o PM basicamente não tem capacidade de revisar um projeto muito complexo e pode nem conseguir acertar apenas olhando a entrada e a saída.
Ma Gong: O fenômeno que você mencionou é apenas temporário e a situação será completamente diferente em dois ou três anos? Por exemplo, o contexto de 100K que você acabou de mencionar, talvez haja apenas um contexto de 10 MB no futuro? Ou, quando a complexidade aumenta e o trabalho fica menos tranquilo, posso resolver o problema adicionando outro programador. No entanto, em comparação com os 100 programadores que poderiam ser necessários antes, agora basta adicionar 1. Isso equivale a substituir 99% dos programadores?
Sun Yishen: De acordo com Ultraman, haverá outro salto após o chatGPT5, então isso ainda é bastante difícil de prever. Mas com base no atual modelo do Transformer, para ser franco, ele ainda prefere um processo de tomada de decisão de Markov, que ainda é baseado na probabilidade e prevê o próximo estado com base no estado anterior. Se não houver nenhuma mudança fundamental neste ponto, ou se os humanos não tiverem uma compreensão completa da sua própria ciência cognitiva, pelo menos nos últimos anos, a substituição de programadores não ocorrerá.
Agora, todos estão prestando atenção na qualidade do modelo grande depois que o contexto é aumentado e em como expandir o tamanho do contexto. Mas no nível acima de 100K200K, sua precisão pode atualmente ser inferior a 50%. Neste caso, o avanço pode não ser tão rápido.
No primeiro semestre deste ano, tentei pedir ao AutoGen que formasse um grupo para que ele pudesse conversar com as pessoas em ordem, mas não conseguiu. Agora você diz que não só o fluxo de trabalho de todo o grupo deve atender às necessidades, mas também o SOP de todo o negócio deve atender às suas necessidades operacionais. Quando toda a etapa é combinada, pelo menos eu acho que é muito ruim.
Ma Gong: Será que isso ocorre porque seus requisitos para construir um banco de dados distribuído são muito altos? Se eu apenas escrever um sistema de gerenciamento de informações médicas com requisitos muito baixos para programadores e depois aplicar seu sistema à minha aplicação médica, o efeito será aceitável?
Sun Yishen: O mesmo. Acho que os problemas são relativamente semelhantes em diferentes campos. LLM é definitivamente bom como uma assistência, mas se você deixá-lo realmente dirigir automaticamente, isso definitivamente não é bom. Além dos programadores, há outro ponto importante, que é a questão da ética empresarial, ou quem deve arcar com a questão da responsabilidade empresarial?
Na indústria médica, todos sabem que a TC de reconhecimento de imagem é muito utilizada nesta área. Na verdade, a IA pode tirar algumas conclusões ao assistir filmes, mas no final, os médicos ainda precisam carimbar e assinar. O mesmo vale para programadores. O PM pode entregar essa tarefa a uma IA, mas no final ainda tem que haver uma pessoa para assinar e assinar. É improvável que o PM assine isto. No final, um programador ainda terá que assinar isto, e o programador ainda terá que verificar o resultado. Se não verificar, o patrão terá que arcar com a responsabilidade comercial se assinar.
Ma Gong: Este é um ponto muito interessante. Os grandes modelos não podem assumir a culpa.
03 Que tipo de posições são mais perigosas?
Yang Yanbo: Não concordo com o exemplo da direção autônoma. Na verdade, muitas cidades já testaram algumas linhas de ônibus. Por exemplo, Hefei tem alguns ônibus piloto não tripulados e exemplos da vida real já são bons, mas levará algum tempo até que humanos reais possam ser substituídos. No entanto, o mesmo vale para a profissão de programador. Ela é substituída passo a passo, começando com alguns cenários simples e depois substituindo-os gradativamente por cenários mais complexos.
Por exemplo, existem alguns trabalhos em nossa empresa que são propensos ao desenvolvimento de código simples e repetitivo. Depois que o modelo grande foi lançado, exploramos o uso de algumas tecnologias de agente que dependem de modelos grandes para substituí-lo. este tipo de trabalho reduziu bastante os custos de mão de obra.
Ma Gong: Qual é o agente inteligente que você mencionou antes? Qual é a diferença com chatGPT?
Yang Yanbo: O conceito de agente inteligente existia antes do surgimento de grandes modelos. Seu nome em inglês é agente. Agente é chamado de agente em chinês, o que significa que quando você conclui algo, talvez não precise fazer isso sozinho, mas precisa de uma ferramenta ou de uma pessoa física para ajudá-lo a fazer isso. Agora, esse agente é um agente. O que ele pode fazer não é apenas ajustar o modelo. Ele terá algumas capacidades de alto nível: ele saberá como interagir com o modelo grande e como chamar algumas ferramentas externas na área. . Este é o conceito de inteligência. É também um modelo grande por natureza, mas é baseado no modelo grande e encapsula algum planejamento de tarefas em áreas específicas, ou algum conhecimento, o que equivale a estar mais próximo dos nossos usuários reais.
Ma Gong: Eu entendo assim: quando liguei para a Ctrip antes, precisei avisar o atendimento ao cliente e pedir que ele reservasse uma passagem para mim. Agora esse atendimento pode ser alterado para LLM. Para mim, ele é um agente inteligente.
Sun Yishen: Sim, você pode pensar nisso como um controlador ou um robô. O que ele faz principalmente é primeiro aceitar certas entradas e ser capaz de perceber um ambiente, depois tomar certas decisões por si só através das informações de entrada e, finalmente, produzir algumas ações para mudar o ambiente.
04 O que devo fazer se for substituído?
Ma Gong: Deixe-me fazer uma pergunta: se nós, programadores, formos realmente substituídos, qual será a saída? Yanbo acabou de dizer que novos empregos serão criados, mas quais são os novos empregos? Como devemos nos preparar para isso?
Yang Yanbo: Para que inventamos originalmente a IA? Para nos libertar, humanos, e melhorar a nossa eficiência. Assim, uma vez que o limite de capacidade de um modelo grande se torna cada vez maior e ele pode fazer cada vez mais coisas, precisamos prestar mais atenção à qualidade das coisas que o modelo grande faz por nós e se o resultado é seguro? Se não for ético, como podemos controlar o grande modelo para produzir melhores resultados? Por exemplo, na área de segurança de conteúdo para grandes modelos, alguns novos cargos foram criados.
Outra posição é: como utilizar modelos grandes de forma mais avançada? Por exemplo, desenvolver um agente é uma nova posição: como desenvolver um agente para que grandes modelos possam ser usados por novatos? Penso que haverá cada vez mais posições deste tipo, e os agentes podem ser diferentes em cada área, e os métodos de desenvolvimento de todos estão a mudar gradualmente.
Ma Gong: Primeiro, como os programadores comuns podem desenvolver agentes inteligentes? Então só poderei ser um pequeno assistente desse tipo de agente inteligente e revisar o que ele escreve. Em outras palavras, agora é meu assistente, mas depois de alguns anos me tornarei seu assistente. Não parece uma jornada muito emocionante para mim.
Sun Yishen: Yanbo acabou de mencionar que é aceitável que modelos grandes substituam algumas habilidades básicas. Na verdade, ele ainda é seu auxiliar, ajudando você em algumas tarefas, ou tarefas de baixo valor e pouco valor agregado. Como programador, é impossível fazer algo tão simples como "receber a entrada de um stc e depois gerar um programa". Quanto mais longe for o trabalho, maior será a probabilidade de ele ser direcionado para os negócios. Então, se você estiver em uma área diferente, ainda poderá precisar fazer muitas coisas com base no conhecimento nessa área.
Quanto ao CS, a arquitetura do sistema também está em constante evolução. Desde que seja algo novo, pode-se considerar que modelos grandes não possuem capacidades fortes. Porque, em essência, ainda está resumindo o conhecimento existente. Se criar com base no conhecimento existente, a sua criatividade será muito imprevisível. Ocasionalmente, pode fornecer algumas informações úteis em um lampejo de inspiração, mas na maioria das vezes isso não acontece.
Além disso, a sua compreensão das leis da física é, na verdade, inexistente. Se eu estiver fazendo um cenário de BI extremamente complexo, ou se eu for uma pessoa que desenvolve software CAE, e não consigo nem entender cálculo, a IA também não será capaz de descobrir. Sinto que na verdade há muito conhecimento profissional que pode ser extraído em todas as áreas.
Ma Gong: Eu entendo. Se eu fosse um programador e quisesse garantir a segurança da minha carreira, deveria pedir aos meus líderes que usassem novas linguagens tanto quanto possível. Cada vez que surge um idioma, eu o uso rapidamente. LLM Ainda não leu texto suficiente para ser útil. Ha ha.
Para mais conteúdo ao vivo, escaneie o código para assistir ao replay↓↓↓
[Conversa de código aberto]
A coluna de bate-papo da conta de vídeo OSCHINA [Open Source Talk] tem um tópico técnico em cada edição. Três ou cinco especialistas sentam-se para expressar suas opiniões e conversar sobre código aberto. Trazendo a você as mais recentes fronteiras do setor, os tópicos técnicos mais recentes, os projetos de código aberto mais interessantes e as trocas ideológicas mais acirradas. Se você tem novas ideias ou bons projetos e deseja compartilhá-los com seus colegas, entre em contato conosco. O fórum está sempre aberto~.