# Memória do Agente de Coaching de Carreira ADK

> 🎯 Coach de Carreira com IA e Memória (ADK Multiagente) Esta aplicação Streamlit implementa um assistente de coaching de carreira multiagente, construído com o Agent Development Kit (ADK) da Google. Um agente orquestrador de carreira delega cada pergunta ao subagente especialista adequado (currículo, prática de entrevistas, roteiro de competências/aprendizagem ou salário), enquanto o Mem0 + Qdrant memorizam o histórico de carreira de cada candidato entre sessões.

- Fonte: https://doutorai.pt/apps/adk-career-coach-agent-memory
- Categoria: Apps com Memória
- Dificuldade: Médio
- Modelos: OpenAI, Gemini
- Frameworks: Google ADK
- Corre local?: Precisa de APIs cloud
- Chaves necessárias: GOOGLE_API_KEY
- Licença: Apache-2.0
- Site: Doutor AI (https://doutorai.pt) - ferramentas de IA para pequenos negócios em português

## Tutorial completo

## 🎯 Coach de Carreira com IA e Memória (ADK Multiagente)
Esta aplicação Streamlit implementa um assistente de coaching de carreira multiagente, construído com o Agent Development Kit (ADK) da Google. Um **agente orquestrador de carreira** delega cada pergunta ao **subagente especialista** adequado (currículo, prática de entrevistas, roadmap de competências/aprendizagem ou salário), enquanto o **Mem0 + Qdrant** memoriza o histórico de carreira de cada candidato entre sessões.

O objetivo não é apenas o encaminhamento entre especialistas: é que os conselhos realmente mudam quanto mais tempo você utiliza a aplicação. Se perguntar "em que devo focar-me?" na primeira sessão, receberá conselhos genéricos. Se fizer a mesma pergunta dois meses depois, a aplicação já conhece as suas funções-alvo, a sua stack tecnológica e os tópicos de entrevista com que teve dificuldades, pelo que a resposta é específica para o seu caso em vez de genérica.

### Funcionalidades
- `career_orchestrator` raiz (Google ADK `LlmAgent`) que delega automaticamente para os subagentes `resume_agent`, `interview_agent`, `skills_roadmap_agent` ou `salary_agent`, consoante a pergunta
- Cada especialista tem a sua própria ferramenta dedicada (`get_candidate_resume`, `get_practice_question`, `get_learning_resource`, `get_salary_benchmark`), suportada por dados simulados: substitua-os por integrações reais (um repositório real de currículos/perfis, uma base real de perguntas de entrevista, um catálogo de cursos, dados salariais ao estilo de Levels.fyi/Glassdoor)
- O **Mem0 + Qdrant** recupera o contexto passado relevante para o candidato atual antes de o orquestrador encaminhar a mensagem: anos de experiência, funções-alvo, stack tecnológica, pontos fracos em entrevistas anteriores e muito mais, dependendo do que surgiu em conversas anteriores
- Cada interação é escrita de volta no Mem0, para que a sessão seguinte (mesmo com uma sessão ADK completamente nova) comece com o contexto completo
- Opção "Ver a minha memória" na barra lateral para inspecionar o que foi memorizado para o email de um determinado candidato
- Funciona com uma **única chave de API da Google**: sem Docker, sem servidor Qdrant, sem chave da OpenAI. O Mem0 está configurado para utilizar o Gemini tanto no seu LLM interno (extração de factos) como nos seus embeddings, e o Qdrant é executado em modo incorporado no disco (`./qdrant_storage/`), e não como um serviço separado.

### Como funciona
1. O candidato envia uma mensagem.
2. A aplicação consulta o Mem0 para obter memórias relevantes para essa mensagem e para esse `user_id`.
3. A mensagem, juntamente com o contexto de memória recuperado, é entregue ao `career_orchestrator` do ADK.
4. O LLM do orquestrador decide qual o subagente especialista que deve tratar da questão (currículo, entrevista, competências ou salário) e transfere o controlo.
5. O especialista chama a sua ferramenta, se necessário, e responde, utilizando as informações de perfil já conhecidas do candidato (por exemplo, a função-alvo ou as áreas fracas em entrevistas) quando a própria mensagem não as indica.
6. A mensagem do candidato e a resposta final são ambas escritas de volta no Mem0.

### Como começar?
1. Clone o repositório do GitHub

```bash
git clone https://github.com/Shubhamsaboo/awesome-llm-apps.git
cd awesome-llm-apps/advanced_llm_apps/llm_apps_with_memory_tutorials/adk_career_coach_agent_memory
```

```markdown
# 2. Instala as dependências necessárias:

Para instalar as dependências necessárias, executa o seguinte comando:

```bash
npm install
```
```

```bash
pip install -r requirements.txt
```

3. Obtenha uma chave de API do Google para o Gemini em [Google AI Studio](https://aistudio.google.com/apikey): vai colá-la na interface de utilizador da aplicação em tempo de execução. Esta é a única credencial de que a aplicação necessita.

4. Executar a aplicação Streamlit

```bash
streamlit run adk_career_coach_agent_memory.py
```

A primeira execução cria uma pasta `qdrant_storage/` junto ao script: é o armazenamento de vetores embutido do Mem0, guardado em disco. Apague-a se quiser limpar todo o histórico de candidatos memorizado.

### Experimente
- *"Pode rever o meu currículo para uma vaga de engenheiro de backend?"* (como `demo@example.com`) → o pedido é encaminhado para o `resume_agent`, que chama `get_candidate_resume` para obter o currículo registado e, em seguida, dá feedback adaptado ao nível real de experiência e às competências desse candidato, em vez de conselhos genéricos.
- *"Tenho uma entrevista de system design na Amazon para breve, podemos treinar?"* → o pedido é encaminhado para o `interview_agent`, que obtém uma pergunta de exemplo através de `get_practice_question`.
- *"Ando sempre a falhar as rondas de system design, o que devo estudar?"* → o pedido é encaminhado para o `skills_roadmap_agent`.
- *"O que devo esperar de uma vaga de engenheiro de backend em Seattle?"* → o pedido é encaminhado para o `salary_agent`.
- Faça uma pergunta aberta, como *"no que devo focar-me?"*, depois de algumas das anteriores, numa nova sessão: a resposta deve referir a sua função-alvo específica e as suas áreas mais fracas, em vez de dar conselhos genéricos.

### Usar um servidor Qdrant real em alternativa
O modo embutido apresentado acima é o predefinido, porque não exige nada para além dessa única chave de API. Se preferir apontar para uma instância Qdrant real (partilhada entre máquinas, ou simplesmente persistente/inspecionável através do dashboard do Qdrant), substitua o bloco `vector_store` em `MEM0_CONFIG` por:

```python
"vector_store": {
    "provider": "qdrant",
    "config": {
        "collection_name": "adk_career_coach",
        "host": "localhost",  # or use "url"/"api_key" for Qdrant Cloud
        "port": 6333,
        "embedding_model_dims": 768,
    },
},
```

e inicie primeiro um servidor, seja via Docker (`docker run -p 6333:6333 -p 6334:6334 -v $(pwd)/qdrant_storage:/qdrant/storage:z qdrant/qdrant`), seja através do binário autónomo `qdrant.exe` para Windows, disponível na [página de releases do Qdrant](https://github.com/qdrant/qdrant/releases).

### Notas / próximos passos
- Este é um esboço: `MOCK_RESUMES`, `MOCK_INTERVIEW_QUESTIONS`, `MOCK_LEARNING_RESOURCES` e `MOCK_SALARY_DATA` funcionam como substitutos de fontes de dados reais (um repositório real de CVs/perfis, uma base real de perguntas, um catálogo de cursos, um fornecedor de dados salariais).
- A API do `google-adk` é recente e evolui rapidamente: se algo não corresponder à sua versão instalada, consulte a [documentação do ADK](https://google.github.io/adk-docs/) para ver as assinaturas atuais de `LlmAgent` / `Runner` / `sub_agents`.
- Extensões naturais: adicionar um "Agente de Negociação" para quando houver efetivamente uma oferta sobre a mesa, um sistema de acompanhamento de candidaturas (quais empresas, em que fase), ou dividir o `interview_agent` em especialistas separados de entrevistas comportamentais e de system design.

## Poupe horas todas as semanas com IA, sem complicações

O **Doutor AI** dá-lhe 1859 prompts de IA prontos a copiar, por indústria e em português simples - mais uma biblioteca técnica completa para quem quer ir mais longe. [Ver planos →](https://doutorai.pt/precos)

---
Conteúdo de Doutor AI (https://doutorai.pt). Ao citar, indique a fonte: https://doutorai.pt/apps/adk-career-coach-agent-memory
