Saltar al contenido
Volver a aprender
13Comparación16 min de lecturaPrincipiante

COMPARACIÓN · UNA TAREA, DOS FLUJOS

DeepSeek Harness frente a Pi: corrige el mismo fallo en ambos

Empieza con un trabajo observable: un informe cuenta pedidos reembolsados por error. Prepara dos copias independientes, elige el mismo modelo si ambos entornos lo permiten y conserva las pruebas de aceptación. Compararás el trabajo necesario para obtener un cambio revisable, no dos descripciones comerciales.

Última verificación
6 de septiembre de 2026
Versión fuente de la guía
0.1.3-alpha.1
Estado de instalación
Consulta la ficha del elemento elegido
Alcance verificado
  • Fuentes fijadas de DSH Alpha y documentación oficial actual de CLI, sesiones y extensiones de Pi
  • Ejemplo sintético de pedidos, corrección de referencia y restauración de archivos ejecutados localmente
  • No se presenta una comparativa de modelos ni un resultado real de un servicio externo
En esta página
  1. Qué se ha comprobado realmente
  2. Fija las entradas y los criterios de éxito
  3. Por qué hacemos estas comprobaciones
  4. Crea un proyecto pequeño con un fallo visible
  5. Prepara dos directorios con el mismo punto de partida
  6. Completa la tarea en DSH
  7. Completa la misma tarea en Pi
  8. Da a ambos agentes la misma tarea acotada
  9. Verifica sin depender del mensaje final del agente
  10. Compara el trabajo realizado de verdad
  11. Pausa, continúa y recupera con un procedimiento claro
  12. Elige después de revisar un resultado completo

Qué se ha comprobado realmente

Fija las entradas y los criterios de éxito

Las entradas son orders.csv, report.mjs y report.test.mjs. El resultado debe ser un cambio acotado en report.mjs, tres comprobaciones superadas, el total 2000 y una explicación. Ningún agente debe cambiar los datos ni debilitar las pruebas. Anota modelo, proveedor, herramientas, indicaciones adicionales y tiempo; si difieren, no atribuyas todo al Harness.

Por qué hacemos estas comprobaciones

Mario Zechner, creador de Pi, destaca el contexto visible y pocas herramientas en su artículo de diseño de 2025. Aquí lo aplicamos registrando cuáles de los tres archivos leyó cada Harness y qué instrucciones adicionales cargó. El artículo de Anthropic sobre evaluación distingue la conversación del resultado final. Por eso revisamos el registro de herramientas, report.mjs guardado y los tests sin cambios, no solo el mensaje final. El texto de 2025 aporta contexto de diseño; los comandos actuales de Pi proceden de su documentación vigente.

Crea un proyecto pequeño con un fallo visible

Necesitas Node.js 24 y una terminal compatible con Bash en un directorio nuevo y desechable. Usa Bash en macOS/Linux o Git Bash/WSL en Windows. harness-lab todavía no debe existir. No hay dependencias npm, cuentas, datos personales ni archivos de producción. El CSV simplificado no contiene comas entre comillas: no estamos construyendo un analizador CSV general.

bash
create_harness_lab() {
mkdir harness-lab || return
cd harness-lab || return
cat > orders.csv <<'CSV'
id,status,cents
A,paid,1200
B,refunded,700
C,paid,800
D,pending,400
CSV
cat > report.mjs <<'JS'
export function totalPaid(csv) {
  const rows = csv.trim().split(/\r?\n/).slice(1);
  return rows.map(row => row.split(','))
    .filter(([, status]) => status !== 'pending')
    .reduce((sum, [, , cents]) => sum + Number(cents), 0);
}
JS
cat > report.test.mjs <<'JS'
const { default: assert } = await import('node:assert/strict');
const { readFileSync } = await import('node:fs');
const { default: test } = await import('node:test');
const { totalPaid } = await import('./report.mjs');
const csv = readFileSync(new URL('./orders.csv', import.meta.url), 'utf8');
test('only paid orders count', () => assert.equal(totalPaid(csv), 2000));
test('refunds alone count as zero', () => assert.equal(totalPaid('id,status,cents\nB,refunded,700\n'), 0));
test('an empty ledger counts as zero', () => assert.equal(totalPaid('id,status,cents\n'), 0));
JS
cp report.mjs report.original.mjs
node --test report.test.mjs
}
create_harness_lab
Crea tres archivos y reproduce el fallo

La primera ejecución debe fallar en dos comprobaciones y superar una. El código incluye los 700 céntimos del pedido reembolsado: devuelve 2700 en lugar de 2000. La regla es contar únicamente filas con status paid; refunded y pending no aportan nada. Los importes son céntimos enteros.

Prepara dos directorios con el mismo punto de partida

Copia antes de que cualquiera de los agentes modifique archivos. DSH usará harness-lab y Pi, harness-lab-pi, ambos con el mismo fallo y la copia original. Una rama de conversación no es un árbol de trabajo independiente: no dejes que ambos agentes editen el mismo directorio.

bash
copy_harness_lab() {
  (cd .. && test ! -e harness-lab-pi && cp -R harness-lab harness-lab-pi)
}
copy_harness_lab
Duplica el ejemplo sin modificar

Completa la tarea en DSH

  1. 01

    Confirma el entorno y el modelo

    Sigue el inicio rápido de Alpha enlazado y su compilación desde el commit exacto. Configura tus credenciales en Settings → Models, fuera de la indicación, y anota el modelo seleccionado.

  2. 02

    Selecciona el proyecto

    Añade la ruta absoluta de harness-lab al selector de espacios de trabajo. Una interfaz web nueva no tiene ninguno seleccionado, aunque dsh se haya iniciado desde un directorio de proyecto.

  3. 03

    Comprueba los permisos efectivos

    Para este ejercicio local desechable, usa workspace-write si está disponible y examina las solicitudes de autorización. Combina el modo de aislamiento workspace-write con la política ask; el ejecutor configurado aplica el límite. No implica una ventana de aprobación por cada escritura.

  4. 04

    Ejecuta y observa

    Envía la indicación común. Revisa lecturas, comandos, cambios y resultados. Si se solicita acceder fuera del ejemplo o instalar dependencias ajenas, detén el trabajo y acota de nuevo la tarea.

Completa la misma tarea en Pi

Instala Pi siguiendo su inicio rápido oficial y entra en harness-lab-pi. Configura un modelo compatible con /login y /model; usa el mismo que en DSH cuando sea posible. Empieza con las herramientas reducidas siguientes. Se desactiva el descubrimiento opcional para no cargar instrucciones o extensiones ajenas sin advertirlo.

bash
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
cd ../harness-lab-pi
Instala la CLI oficial de Pi y entra en su copia independiente del proyecto
bash
pi --no-extensions --no-skills --no-prompt-templates --no-themes --no-context-files --tools read,grep,find,ls
Inspección sin herramientas edit, write ni bash

Pi no incorpora un sistema de permisos para archivos, procesos, red ni credenciales. La lista permitida limita las herramientas expuestas al modelo, no los permisos del proceso en el sistema operativo. Para proyectos no confiables, utiliza un contenedor, una máquina virtual u otro aislamiento del sistema verificado. La guía oficial explica por qué cambiar dónde se ejecutan las herramientas no aísla por sí solo las demás extensiones del equipo anfitrión.

bash
pi -c --no-extensions --no-skills --no-prompt-templates --no-themes --no-context-files --tools read,edit,write,bash,grep,find,ls
Sal de la sesión de inspección y continúala con las herramientas de reparación

Da a ambos agentes la misma tarea acotada

text
En este proyecto desechable, corrige report.mjs para que totalPaid cuente únicamente filas paid. Lee primero orders.csv y report.test.mjs, ejecuta node --test report.test.mjs y describe el fallo inicial. No cambies orders.csv, report.test.mjs ni report.original.mjs; no instales paquetes ni accedas a otros directorios. Haz el cambio mínimo, repite las tres comprobaciones y calcula el total de orders.csv. Devuelve el archivo modificado, el resultado observado, el total y las limitaciones. Distingue un problema del entorno de una comprobación fallida.
Indicación lista para copiar

Verifica sin depender del mensaje final del agente

bash
node --test report.test.mjs
node --input-type=module -e "import {readFileSync} from 'node:fs'; import {totalPaid} from './report.mjs'; console.log(totalPaid(readFileSync('orders.csv','utf8')))"
diff -u report.original.mjs report.mjs
Ejecuta estos comandos personalmente en cada copia

Deben pasar tres pruebas y aparecer por separado el total 2000. Normalmente el diff cambia el filtro a status === 'paid'. Otra implementación es válida si cumple la regla y conserva las pruebas. diff devuelve 1 cuando encuentra diferencias: aquí es normal, no un fallo de prueba. Un Node ausente o un permiso denegado son problemas del entorno.

Compara el trabajo realizado de verdad

FichaRolVerificar
Contexto inicialDSH: selecciona el espacio y revisa sesión y herramientas. Pi: el directorio actual y el contexto descubierto determinan el inicio; aquí se desactiva el descubrimiento opcional.Anota directorio y contexto exactos: igual indicación no significa igual contexto.
Aprobaciones y aislamientoDSH combina ajustes de aislamiento y aprobación. Pi permite limitar herramientas; un límite adicional del sistema operativo se configura aparte.Registra el límite efectivo y las aprobaciones, sin medir la seguridad por el número de ventanas.
Planificación y delegaciónLa composición de DSH puede incluir planes y subagentes. Pi deja plan-mode y subagentes a extensiones o paquetes.Estos tres archivos no requieren ninguno. El ejemplo oficial plan-mode permite ver ese enfoque sin instalarlo para el ejercicio.
Revisión y continuaciónDSH registra eventos de sesión; Pi ofrece /session, /resume, /tree y /fork.Guarda el cambio probado y una nota de entrega. El historial aporta contexto, pero no restaura archivos editados.
Coste y velocidadModelo, indicaciones, extensiones y esperas de aprobación influyen en el resultado.Escribe lo observado o «no medido». Una tarea sintética no establece una clasificación general.

Pausa, continúa y recupera con un procedimiento claro

Antes de parar, pide objetivo, archivos cambiados, resultados exactos y siguiente paso. En DSH abre la sesión guardada y comprueba el espacio. En Pi usa pi -c en ese proyecto para continuar la última sesión, o pi -r para elegir. /tree y /fork crean ramas del historial, no revierten archivos. Conserva el intento antes de restaurar únicamente la implementación del ejercicio.

bash
cp report.mjs report.attempt.mjs
cp report.original.mjs report.mjs
node --test report.test.mjs
Conserva el intento y restaura solo el archivo del ejercicio

Deben reaparecer los dos fallos iniciales: es una prueba deliberada de recuperación. Guarda report.attempt.mjs para comparar. En un repositorio real utiliza una rama o árbol de trabajo limpio y una restauración por archivo revisada; no apliques estas sobrescrituras a trabajo ajeno al ejemplo.

Elige después de revisar un resultado completo

Prueba DSH si encajan un espacio web compartido, estados visibles de sesión y herramientas, y flujos compuestos. Prueba Pi si prefieres tu entorno de terminal, un arranque CLI explícito y un núcleo pequeño ampliable. Decide después de completar la misma tarea y leer el diff. Ninguna interfaz garantiza un cambio correcto ni vuelve seguro un código no fiable por sí sola.

text
Harness/versión:
Modelo/proveedor:
Espacio y archivos iniciales:
Herramientas/permisos efectivos:
Indicaciones y aprobaciones adicionales:
Pruebas: __ fallos iniciales; __ aprobadas al final
Total observado:
Archivos cambiados:
Tiempo/uso comunicado (o no medido):
Recuperación:
Limitaciones:
Conserva una comparación breve

Continúa con un objetivo concreto

Consulta la documentación oficial

Arquitectura de DeepSeek Harness AlphaRevisa cómo se organizan los complementos, perfiles, paquetes de configuración, herramientas y sesiones.Preajustes de permisos de DeepSeek HarnessComprueba cómo se combinan el aislamiento y las aprobaciones, y qué componente aplica realmente los límites.Documentación de Pi Agent HarnessConsulta la documentación actual de la interfaz de terminal, extensiones, Skills, instrucciones, temas, paquetes, sesiones, RPC y SDK.Repositorio oficial de PiVerifica el nombre actual del paquete, los permisos predeterminados de las herramientas y las recomendaciones de aislamiento.Seguridad de DeepSeek HarnessAntes de elegir un espacio de trabajo, revisa las limitaciones de un sistema experimental que ejecuta código y carece de auditoría de seguridad.Guía de la interfaz web de DeepSeek Harness AlphaConsulta cómo configurar un modelo, elegir un espacio de trabajo, iniciar una tarea y gestionar las aprobaciones.Referencia de CLI y contexto de PiComprueba las listas de herramientas, los interruptores de descubrimiento, el modelo y las opciones de sesión.Comandos de sesión de PiContinuación, ramas, exportación y diferencia entre historial y archivos del proyecto.Guía de aislamiento de PiCompara aislar todo el proceso con redirigir herramientas y comprueba qué sigue ejecutándose en el anfitrión.Ejemplo oficial de la extensión plan-mode de PiMuestra un flujo implementado como extensión; aparecer en examples no significa estar activado por defecto.Mario Zechner: diseño de Pi (2025)Contexto de diseño del autor; no define el contrato actual de la CLI.Anthropic: evaluación de agentes (2026)Fuente primaria para distinguir conversaciones, resultados y comprobaciones.

Preguntas comunes

Antes de realizar un cambio

Respuestas sobre formatos, compatibilidad, evidencia y reversión.

¿Qué cubre esta guía?

Esta guía cubre: Fuentes fijadas de DSH Alpha y documentación oficial actual de CLI, sesiones y extensiones de Pi; Ejemplo sintético de pedidos, corrección de referencia y restauración de archivos ejecutados localmente; No se presenta una comparativa de modelos ni un resultado real de un servicio externo

¿Por dónde debo empezar?

Empieza con un trabajo observable: un informe cuenta pedidos reembolsados por error. Prepara dos copias independientes, elige el mismo modelo si ambos entornos lo permiten y conserva las pruebas de aceptación. Compararás el trabajo necesario para obtener un cambio revisable, no dos descripciones comerciales.

¿Qué límite debo tener presente?

Los pasos de DSH usan 0.1.3-alpha.1 compilado desde d347e703908d0406b7a7ef80e3a0e594d86b2215. Los comandos de Pi se contrastaron con la documentación oficial el 6 de septiembre de 2026. El ejemplo de pedidos y su corrección se ejecutaron localmente; no se compararon los prompts DSH/Pi mediante ejecuciones de modelos.

¿Tres pruebas aprobadas demuestran que un Harness es mejor?

No: solo prueban que esa implementación satisface esas comprobaciones. Amplía las tareas y mantén constantes modelo, entradas y criterios antes de generalizar.

¿Puedo compartir archivos de sesión entre DSH y Pi?

No presupongas que sus formatos son compatibles. Copia el proyecto y una nota de texto, conservando las sesiones propias de cada herramienta. La migración de DSH Alpha no importa sesiones de Pi.

¿Necesito un plugin plan-mode?

No. Basta inspeccionar, editar y probar. Consulta el ejemplo de Pi si te resulta útil; cargar una extensión requiere evaluar su confianza por separado.

Continuar aprendiendo

Continuar a partir de la evidencia verificada

Compare los artefactos publicados o regrese a la documentación de instalación.