Eu tenho usado a minha própria experiência para codar (nada é melhor do que isso na minha opinião). Eu me recuso a me tornar um revisor de PRs que não tem ideias próprias e que não saiba resolver determinado problema sozinho. Essa está sendo a maior falha de quem começa na área nos últimos tempos... existe uma pressa/preguiça de tentar entender como as coisas realmente funcionam (não estou dizendo que é o seu caso).
Quando eu utilizo os agentes, dou sempre preferência para o modo chat para tirar eventuais dúvidas sem ter que sair da IDE/Editor. Por mim, eu não teria licença alguma de qualquer um desses fornecedores porém a empresa na qual eu trabalho tem as licenças à disposição e incentiva todo mundo a usar - "tá bom, eu uso então já que vocês estão me OBRIGANDO a usar". Se dependesse de mim, não haveria nenhum gasto com dessas licenças e eu sempre usaria uma aba aberta do Gemini/Claude para tirar minhas dúvidas.
Uma abordagem que eu acho super válida ao utilizar LLMs é pedir ajuda para a compreensão de como resolver determinados problemas e evitando pedir a elas uma solução logo de cara. Eu sempre peço algo como "Tenho o problema XPTO e pensei em resolver da maneira 1, 2 ou 3. Qual a sua opinião sobre minhas estratégias? Raciocine o passo a passo para resolver cada uma delas e me retorne a lista de prós e contras. Não elogie minha pergunta e me critique caso necessário".
Eu já peguei casos que o agente sugeriu uma mudanças em códigos só pq testes unitários falharam. Ao invés dela tentar entender o motivo de o teste ter falhado ela preferiu ajustar o comportamento da app só para que o teste dela passasse sendo que claramente havia um problema no Stub que ela havia criado no teste. A partir desse ponto eu percebi que não existe bala de prata e que o nosso conhecimento é ouro.
Mensagem final e minha opinião (segue quem se identificar) de diretrizes que eu criei para eu mesmo:
- Dê preferência para seus conhecimentos e utilize os agentes/recursos desses fornecedores para que você evolua e não para que ele faça o trabalho por você.
- Se for utilizar o Agente, utilize para fluxo não core. Se for usar devido a prazos, faça um pair com algum colega para buscar eventuais falhas.
- SEMPRE instrua o agente a não mexer em nenhum código além do que você precisa, principalmente ao escrever testes unitários
Eu pessoalmente não acho que existe a necessidade de pagar um provedor que fornece um serviço/produto ruim sendo que existem alternativas gratuitas na internet.