Lección 05 · planificación

Conocimiento del dominio cargado bajo demanda

「Don't put everything in the system prompt. Load on demand.」

⏱ ~10 min · 📝 3 widgets interactivos · 🧑‍💻 Basado en shareAI-lab · s05_skill_loading.py

El peligro del "aviso completo del sistema"

Tienes 20 habilidades, cada una de las cuales está escrita en detalle: procesamiento de pdf (cómo leer PDF), code-review (lista de verificación de revisión), git-workflow (rutinas de git de uso común)... Método intuitivo: colócalos todos en el indicador del sistema para que el modelo se pueda consultar en cualquier momento.

Resultado:

  • Grabe entre 15.000 y 30.000 tokens de entrada para cada llamada (incluso si el problema no requiere ninguna habilidad).
  • La atención del modelo se diluye: el cumplimiento de las reglas mencionadas en el mensaje largo del sistema disminuirá.
  • Cambie una habilidad y se invalidará el caché de todas las conversaciones históricas.

La forma en que se hace s05 es dividirlo en dos capas.

arquitectura de dos niveles

Capa 1 · Barato: solo el nombre de la habilidad y una descripción de una frase se colocan en el indicador del sistema (alrededor de 100 tokens cada uno). 20 habilidades = 2K fichas, aceptable.

# Lista de habilidades en el indicador del sistema
Habilidades disponibles:
  - pdf: Procesar archivos PDF. Extrae texto, tablas, metadatos.
  - revisión de código: lista de verificación de revisión sistemática de código.
  - git-workflow: patrones comunes de ramificación y rebase de git.

Capa 2 · Bajo demanda: cuando el modelo necesita usar una determinada habilidad, llame a load_skill(name="pdf") y el cuerpo completo de la habilidad (tal vez entre 5 y 10 000 tokens) se inserta en el contexto a través de tool_result. No se carga ninguna de las fichas de habilidades no utilizadas.

# tool_result devuelve la habilidad completa
<nombre de habilidad="pdf">
  Paso 1: Utilice pdfplomber para la extracción...
  Paso 2: Maneje el respaldo de OCR cuando sea necesario...
  Paso 3: Estructurar la salida como tabla Markdown...
</habilidad>

Comparar los costos de los tokens

Pruébelo en un escenario real. Supongamos que tienes 20 habilidades y cada cuerpo tiene un promedio de 3000 fichas. El usuario hace una pregunta (como "Corregir el error en la interfaz de inicio de sesión"); esta pregunta probablemente no requiera ninguna habilidad.

Formato HABILIDAD.md

Los archivos de habilidades usan YAML frontmatter + body:

---
nombre: pdf
descripción: Procesar archivos PDF. Extrae texto, tablas, metadatos.
Etiquetas: documento, análisis
---

Paso 1: utilice pdfplomber para la extracción. Manejar diseños de varias columnas...
Paso 2: Para archivos PDF escaneados, recurra a OCR mediante tesseract...

La portada es para la Capa 1 (nombre/descripción/etiquetas) y el cuerpo es para la Capa 2. Este método de escritura está inspirado en blogs estáticos (Jekyll, Hugo), y las personas que están familiarizadas con él pueden entenderlo de un vistazo.

Interactivo

Widget 1 · Economía de tokens · Comparación de dos arquitecturas

Izquierda: mensaje de sistema completo. Derecha: arquitectura de dos niveles. Mira los tokens acumulados después de 20 conversaciones.

全塞 system prompt
System prompt: 60000 tokens
(20 × 3000 token 的 skill 全塞入)
× 对话次数: 1

总计: 60000 tokens
两层架构
System prompt: 2000 tokens
(20 个描述 × ~100 token 每个)
+ 按需加载的 skill body: 0 tokens
(每 5 次对话触发一次)

总计: 2000 tokens
1
省 0%
Interactivo

Widget 2 · Frontmatter Parser · Extraer metadatos de habilidades

Ingrese SKILL.md y use la lógica de análisis frontal de YAML en s05 para ver qué obtienen la Capa 1 y la Capa 2 respectivamente.

SKILL.md(可编辑)
Layer 1 · system prompt 里塞这个

          
Layer 2 · load_skill 时的 tool_result

          
Interactivo

Widget 3 · Descubribilidad · El modelo sólo se puede encontrar después de escribir la descripción de la habilidad.

La descripción de la Capa 1 es la base para seleccionar habilidades para el modelo. Le ofrecemos 3 conjuntos de comparaciones, elija el que tenga mejor escritura; algunos métodos de escritura harán que el modelo nunca encuentre esta habilidad.

答对 0 / 3