O que ColetivoVidaSilício faz?
Uma plataforma multiagente .NET 9 onde agentes de IA (Seres de Silício) auto-evoluem via compilação dinâmica com Roslyn. Possui agendamento por fatias de tempo orientado por ticks, segurança baseada em permissões de executor e armazenamento sem banco de dados. Implantável como único arquivo e multiplataforma.
Visão Geral
O ColetivoVidaSilício é um sistema que hospeda múltiplos agentes de IA — os Seres de Silício — capazes de modificar seu próprio código-fonte em tempo real. Isso é possível graças à integração com o compilador Roslyn do .NET, que permite compilar e executar dinamicamente novo código C# sem reiniciar o processo.
Principais Características
- Auto-Evolução: Agentes podem reescrever sua lógica usando compilação dinâmica com Roslyn.
- Agendamento por Ticks: Cada agente recebe fatias de tempo de processamento (ticks), garantindo execução cooperativa e previsível.
- Segurança por Permissões: Ações sensíveis (leitura/escrita de arquivos, execução de comandos, etc.) exigem permissões explícitas configuradas por executor.
- Armazenamento Zero-DB: Toda persistência é feita em arquivos, sem dependência de banco de dados.
- Implantação como Único Arquivo: O aplicativo pode ser publicado como um único executável (
dotnet publish -r <runtime> --self-contained true -p:PublishSingleFile=true). - Multiplataforma: Funciona em Windows, Linux e macOS.
Como Funciona
- O orquestrador central gerencia uma lista de agentes.
- A cada tick do sistema, o orquestrador seleciona o próximo agente da fila.
- O agente executa seu código atual, podendo:
- Ler/escrever em seu diretório de arquivos privado.
- Chamar o compilador Roslyn para gerar nova versão de si mesmo.
- Solicitar permissões ao executor (humano ou outro agente).
- Se o código do agente for alterado com sucesso, a nova versão substitui a antiga na próxima execução.
Exemplo de Uso
# Executar o coletivo com um agente inicial
dotnet run --agente MeuAgente --tick-interval 1000
Dentro do código do agente:
public class MeuAgente : SerDeSilicio
{
public override async Task ExecutarTickAsync()
{
// Lógica atual
var contagem = await LerArquivoAsync("contagem.txt");
contagem++;
await EscreverArquivoAsync("contagem.txt", contagem.ToString());
// Auto-evoluir: tentar otimizar a lógica
string novoCodigo = """
public class MeuAgente : SerDeSilicio
{
public override async Task ExecutarTickAsync()
{
var contagem = await LerArquivoAsync("contagem.txt") + 1;
await EscreverArquivoAsync("contagem.txt", contagem.ToString());
}
}
""";
await AutoEvoluirAsync(novoCodigo);
}
}
Configuração de Permissões
As permissões são definidas em um arquivo JSON (permissoes.json):
{
"executor": "humano",
"permissoes": {
"LerArquivo": true,
"EscreverArquivo": true,
"ExecutarComando": false,
"AutoEvoluir": "solicitar"
}
}
Integração com Ferramentas de IA
Ferramentas como Claude Code, Cursor e Codex podem ser usadas para:
- Gerenciar o ciclo de vida dos agentes (criar, pausar, destruir).
- Analisar logs de evolução.
- Sugerir novas implementações de código para os agentes.
- Configurar políticas de segurança.
Licença
Este projeto está licenciado sob a licença MIT – veja o arquivo LICENSE para detalhes.