
Gestione automatizzata del contesto multi-agente per attività a lungo termine negli agenti AI locali
Questa è l'implementazione della soluzione proposta nel paper scientifico: Evaluating Context Segmentation in Locally Deployable SLMs for Cybersecurity CTF Tasks
Assicurati di avere Python 3.12.3+ installato insieme a Docker engine
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt
Avvia llama.cpp con Vulkan
docker compose --profile vulkan up -d
o con Cuda
docker compose --profile cuda up -d
Scarica il Large Language Model (LLM) desiderato in formato GGUF da HuggingFace, poi compila i container intercode-ctf.
docker exec -it llamacpp ./llama-cli -hf unsloth/gemma-4-E2B-it-GGUF:Q4_K_M # or any other GGUF model on HF
docker build -t intercode-ctf -f intercode/docker/ctf.Dockerfile ./intercode
docker restart llamacpp
Esegui N benchmark di una strategia (plain o explorer)
Questo accumula i risultati in un file $MODEL_NAME.$STRATEGY.bench
OPENAI_API_BASE=http://127.0.0.1:8080/ \
OPENAI_API_KEY=1234 \ #Mock key (we run locally)
python3 intercode_test.py \
--model unsloth/gemma-4-E2B-it-GGUF:Q4_K_M \ #HF model
--strategy plain \ #plain or explorer
--count 1 #N
Controlla i risultati del benchmark
jq '.' gemma-4-E2b-it-GGUF:Q4_K_M.plain.bench
Il codice nella directory intercode è stato preso da princeton-nlp/intercode e adattato per farlo funzionare con la nostra configurazione.