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

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

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

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

  • i_subobjective - la acción sirve a un sub-objetivo del ancla.
  • ii_resource - usa recursos declarados (no laterales).
  • 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

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

Links

Comments

No comments yet. Start the discussion.