DEV Community

Cover image for scope-lib v0.1.0: evaluación de alcance para agentes de IA en 3 criterios
Fenix
Fenix

Posted on

scope-lib v0.1.0: evaluación de alcance para agentes de IA en 3 criterios

scope-lib v0.1.0: evaluación de alcance para agentes de IA en 3 criterios

Capa base de un sistema de defensa para agentes LLM. Decide si una acción
está dentro del alcance autorizado antes de ejecutarla, con fail-safe
determinista.

El problema

Un agente autónomo recibe una tarea y ejecuta tool-calls. Sin una frontera de
alcance, cualquier dato no confiable (un email, una web) puede desviarlo hacia
acciones fuera de lo acordado. Hace falta un punto de decisión explícito y
revisable, no enterrado en el prompt.

Qué hace

scope-lib expone PolicyStore y load_policy_store, y evalúa cada acción
contra tres criterios (ScopeVerdict.criterion):

  1. i_subobjective — la acción sirve a un sub-objetivo del ancla.
  2. ii_resource — usa recursos declarados (no laterales).
  3. iii_transitive — el apoyo entre sub-objetivos es transitivo y acotado.

El fallo por defecto es deny: si no hay ancla confirmada, nunca se permite.
Eso es el fail-safe "sin ancla = nunca allow".

Cómo funciona

from scope_lib import load_policy_store, ScopeVerdict
store = load_policy_store("policy.json")
v = ScopeVerdict(store, task_id="t1")
verdict = v.check(criterion="i_subobjective", claimed="research_prices")
print(verdict.allowed)   # True/False, determinista
Enter fullscreen mode Exit fullscreen mode

El store se versiona y persiste; goal-anchor y adi-shield lo reutilizan.

Resultados de la auditoría

  • 10 tests en scope-lib, todos verdes; ruff limpio.
  • Auditado de forma independiente en clone fresco público (rama main, commit 83b626f).

Limitaciones (honestamente)

scope-lib es la capa de decisión, no el runtime que la invoca. Nadie ha
enganchado todavía este paquete como middleware delante de un agente real;
las pruebas son contra fixtures sintéticos, no tráfico de producción.

Pruébalo

git clone --branch main https://github.com/amurlaniakea/scope-lib.git
cd scope-lib && python -m venv .venv && . .venv/bin/activate
pip install -e .
pytest tests/ -v
Enter fullscreen mode Exit fullscreen mode

Links


Licencia: AGPL-3.0-or-later. Autor: Pedro Sordo Martínez.

Top comments (0)