
Gestion automatisée du contexte multi-agents pour les tâches à long horizon dans les agents d'IA locaux
Ceci est l'implémentation de la solution proposée dans l'article scientifique : Evaluating Context Segmentation in Locally Deployable SLMs for Cybersecurity CTF Tasks
Assurez-vous que Python 3.12.3+ est installé ainsi que Docker engine
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt
Démarrez llama.cpp avec Vulkan
docker compose --profile vulkan up -d
ou avec Cuda
docker compose --profile cuda up -d
Téléchargez le grand modèle de langage (LLM) souhaité au format GGUF depuis HuggingFace, puis construisez les conteneurs 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
Exécutez N benchmarks d'une stratégie (plain ou explorer)
Cela accumule les résultats dans un fichier $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
Vérifiez les résultats du benchmark
jq '.' gemma-4-E2b-it-GGUF:Q4_K_M.plain.bench
Le code dans le répertoire intercode a été repris de princeton-nlp/intercode et adapté pour fonctionner avec notre configuration.