Install
git clone https://github.com/alphaparkinc/genpark-inprocess-python-repl-isolated-namespace-skillPara quem é
- Para quem precisa que um Agente de IA execute um trecho de código Python durante a conversa e receba o resultado de volta. Este projeto (GenPark AI Agent Skill) oferece um executor Python REPL com namespace isolado dentro do processo, capaz de capturar stdout/stderr, restringir as funções built-in disponíveis (safe builtins restrictor) e suportar introspecção de variáveis em tempo de execução.
- Adequado para ambientes que não querem dependências complexas: oficialmente, o projeto é explicitamente de zero dependências, implementado apenas com a biblioteca padrão do Python.
- Adequado para cenários em que há preocupação com a contaminação da memória do Agente: a documentação oficial destaca que o isolamento dentro do processo é obtido por meio de uma separação de globals limpa, evitando que a memória do Agente seja poluída.
- Casos em que não é adequado: cenários que exijam um sandbox real a nível de sistema operacional, isolamento de rede ou limitação de recursos — a página oficial não afirma fornecer essas capacidades, o que permanece desconhecido; necessidades de executar o código em um processo ou contêiner separado também não são mencionadas na documentação oficial.
- Itens desconhecidos quanto aos pré-requisitos de uso: as evidências oficiais não indicam a versão mínima do Python suportada nem se é necessário um framework hospedeiro específico para fazer chamadas; verifique o README original do repositório.
Primeira tentativa em 3 minutos
Caminho principal recomendado: obtenha o código do repositório oficial no GitHub, carregue este Skill no seu ambiente de Agente e execute uma expressão Python simples e somente de leitura.
- Pré-requisito: um ambiente capaz de executar Python. Segundo a documentação oficial, o projeto não tem dependências e usa apenas a biblioteca padrão, portanto não é necessário instalar pacotes de terceiros.
- Obtenção: clone o repositório oficial localmente:
git clone https://github.com/alphaparkinc/genpark-inprocess-python-repl-isolated-namespace-skill
- As evidências oficiais não fornecem comandos de carregamento específicos, assinaturas de funções nem pontos de entrada de chamada (como o nome exato de uma função execute ou o formato de configuração). Nesta etapa, leia diretamente as instruções de uso no README do repositório para concluir a integração; não adivinhe a interface por conta própria.
- Para a primeira tentativa, recomenda-se executar um código sem efeitos colaterais, por exemplo, calcular uma expressão e imprimir o resultado. Basta verificar dois pontos para confirmar o sucesso: o executor retorna a saída stdout do seu código; a introspecção de variáveis permite visualizar as variáveis em tempo de execução no namespace.
- Sinal de sucesso: a telemetria de execução estruturada na saída (structured execution telemetry descrita oficialmente) inclui o conteúdo de stdout/stderr gerado pelo código, e a memória/variáveis próprias do Agente hospedeiro não foram alteradas por essa execução.
Atenção: a documentação oficial descreve o caminho do código como «o Agente gera o código → engine de namespace isolado → telemetria de execução estruturada». Mesmo com a restrição de built-ins e o isolamento de globals, isso continua sendo um isolamento dentro do processo, não um sandbox fora do processo; não interprete «namespace isolado» como isenção de risco ou como incapacidade de acessar o ambiente local — a documentação oficial não oferece tal garantia de segurança.
Casos de uso
Caso 1: fazer um cálculo puro na conversa com o Agente
- Cenário: o usuário pede ao Agente para calcular um resultado estatístico de um conjunto de dados.
- Procedimento: entregue ao executor REPL um trecho de código Python gerado e sem efeitos colaterais, por exemplo, construir uma pequena lista, calcular soma/média e imprimir com print.
- Resultado esperado: como oficialmente ele captura o stdout, o Agente pode devolver a você o resultado impresso; como há uma separação limpa de globals, as variáveis temporárias desse código não permanecem na memória do Agente.
Caso 2: inspecionar as variáveis do namespace após a execução
- Cenário: você quer confirmar quais variáveis um código produziu após rodar e quais são seus valores.
- Procedimento: após executar seu código, use a capacidade de introspecção de variáveis em tempo de execução (runtime variable introspection) para ver o estado das variáveis no namespace isolado.
- Resultado esperado: é possível ver as variáveis e seus conteúdos deixados por aquela execução no namespace isolado; quanto à forma específica de chamar a introspecção e ao formato de retorno, as evidências oficiais não dão detalhes — consulte o README do repositório.
Limites de uso
- Natureza de leitura e escrita: trata-se de um executor de código, que naturalmente pode executar operações de escrita arbitrárias (como gravar arquivos). As evidências oficiais mencionam apenas a restrição de built-ins, sem especificar o escopo exato dessa restrição, e não confirmam que ela impeça todas as operações de escrita.
- Grau de isolamento: oficialmente, promete-se apenas o isolamento de namespace dentro do processo (separação de globals) e o safe builtins restrictor; não há declaração oficial de sandbox a nível de processo, de contêiner ou de restrição de rede.
- Efeitos colaterais e ponto de verificação: antes de executar, confirme que o código a rodar não tem efeitos colaterais que você não esteja disposto a assumir; oficialmente, não existe mecanismo para «desfazer o código já executado».
- Dados locais: o executor roda no seu próprio processo Python; a possibilidade de ler arquivos locais depende do escopo das restrições de built-ins, o que oficialmente não está especificado — não o considere como tendo fronteiras de privacidade garantidas.
- Ainda não confirmado: a interface de chamada específica, os requisitos de versão do Python, a forma de tratamento de erros e o conteúdo da whitelist de safe builtins não estão descritos nas evidências coletadas; verifique o texto original do repositório antes de usar.