> ## Documentation Index
> Fetch the complete documentation index at: https://novita.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Legacy-Sandbox-Klon

export const SandboxBetaVersionWarning = () => {
  if (typeof document === "undefined") {
    return null;
  } else {
    return <Warning>The following legacy features require the legacy SDK and CLI versions listed in <Link href="/docs/de/guides/sandbox-legacy-e2b-compatible" target="self">Legacy SDKs & CLI</Link>. Please note that legacy features may be less stable than production releases. If you encounter any issues while using these features, please <Link href="https://meetings-na2.hubspot.com/junyu" target="_blank">contact us</Link>.</Warning>;
  }
};

<Warning>
  Diese Legacy-Seite wird für Benutzer beibehalten, die weiterhin die 1.x- oder Beta-SDK-Reihe verwenden. Neue SDK 2.x-Integrationen sollten der aktuellen Sandbox-Dokumentation folgen.
</Warning>

In der aktuellen Phase stoßen AI Agents bei der Ausführung komplexer Aufgaben auf eine grundlegende Einschränkung: das „n of 1“-Problem — KI und Entwickler sind für serielles Denken auf eine einzige Arbeitsumgebung beschränkt. Dieses Muster führt zu mehreren zentralen Problemen:

1. **Experimentkonflikte und Umgebungsverunreinigung**. Wenn ein AI Agent mehrere Lösungen ausprobiert, können experimentelle Codeänderungen den Hauptworkflow des Entwicklers stören oder die aktuelle Laufzeitumgebung verunreinigen. Wenn ein Experiment fehlschlägt, ist zur Wiederherstellung häufig ein Rollback erforderlich, und wertvolle Erkundungspfade können nicht bewahrt werden.

2. **Unfähigkeit, mehrere Lösungen parallel zu untersuchen**. Da der AI Agent auf eine einzige Umgebung beschränkt ist, kann er verschiedene Ansätze nur nacheinander testen. Dieser serielle Modus ist nicht nur ineffizient, sondern begrenzt vor allem die Breite der KI-Erkundung — mehrere parallele Hypothesen oder Implementierungsansätze können nicht gleichzeitig validiert werden.

3. **Begrenzte Skalierbarkeit der Rechenleistung**. Bei Aufgaben, die „Wide-Research“ erfordern (z. B. 100 Lösungen gleichzeitig vergleichen, mehrere Implementierungsversionen stapelweise generieren), schränkt die Architektur mit nur einer Umgebung die Fähigkeit zur Parallelisierung der Aufgabenverarbeitung grundlegend ein.

Die Funktion **„Sandbox Clone“** ermöglicht den Übergang von „Deep-Research“ zu „Wide-Research“:

1. **Multi-Timeline-Erkundungsarchitektur**: Wie in einem Entscheidungsbaum kann der AI Agent vom gleichen Ausgangszustand starten und mehrere unabhängige Sandbox-Kopien erstellen, die jeweils einen anderen Lösungsweg erkunden, ohne sich gegenseitig zu beeinflussen.
2. **Echte parallele Rechenfähigkeit**: Durch das Aufteilen großer Aufgaben in Stapel von Teilaufgaben kann der AI Agent seine Rechenleistung um das Zehn- oder sogar Hundertfache skalieren und gleichzeitig Dutzende oder Hunderte von Erkundungszweigen verarbeiten.
3. **Risikofreie Experimentierumgebung**: Geklonte Sandboxes sind vollständig isoliert, sodass die KI frei experimentieren und verschiedene Möglichkeiten testen kann, ohne die ursprüngliche Umgebung oder den Hauptworkflow des Entwicklers zu beeinträchtigen.
4. **Effiziente Ressourcennutzung**: Obwohl mehrere Sandbox-Instanzen gleichzeitig gestartet werden können, lässt sich der gesamte Verbrauch an Rechenressourcen innerhalb eines angemessenen Rahmens halten, indem Zweige (Sandbox-Instanzen), die keinen Wert mehr haben, dynamisch verwaltet und zeitnah beendet werden.

Diese Fähigkeit ermöglicht es AI Agents, aktuelle Performance-Engpässe zu überwinden und von theoretischen Vorschlägen zu zuverlässigen Lösungen überzugehen, die parallel verifiziert und tatsächlich getestet wurden — und damit die Fähigkeit zu erreichen, komplexe Probleme autonom zu erkunden, zu iterieren und zu lösen.

<SandboxBetaVersionWarning />

## Terminologie

* **Origin Sandbox**: Die ursprüngliche Sandbox-Instanz, die geklont wird.
* **New Sandbox**: Die neue Sandbox-Instanz, die durch den Klonvorgang erstellt wird.

## Funktionsübersicht

Die Sandbox-Clone-Funktion unterstützt derzeit die folgenden zwei Szenarien:

* Klonen einer Sandbox im Status Running
* Klonen einer Sandbox im Status Paused

### Klonen einer Running-Sandbox

**Während des Klonvorgangs:**

* Die Origin Sandbox wird während des Klonens kurzzeitig angehalten;
* Die Sandbox-Instanz ist während der Unterbrechung nicht verfügbar;
* Die Dauer der Unterbrechung liegt nahe an der Zeit, die für einen einzelnen Pause-Vorgang benötigt wird.

**Nach Abschluss des Klonens:**

**Origin Sandbox:**

* Der Status wird auf running wiederhergestellt;
* Der bestehende Pause-Datensatz wird auf einen neuen Pause-Datensatz aktualisiert, basierend auf dem aktuellen Sandbox-Zustand;
* Ein neuer Snapshot-Template-Datensatz wird generiert (um dieses Snapshot-Template zu löschen, müssen Sie zuerst sowohl die Origin Sandbox als auch die geklonten Sandboxes beenden);

**New Sandbox:**

* Der Status ist running;
* Sofort einsatzbereit.

### Klonen einer Paused-Sandbox

**Während des Klonvorgangs:**

Wenn sich die Origin Sandbox in einem angehaltenen Zustand befindet:

* Der Klonvorgang löst keinen Start der Origin Sandbox aus;
* Die Origin Sandbox bleibt im Status Paused.

**Nach Abschluss des Klonens:**

**Origin Sandbox:**

* Der bestehende Pause-Datensatz wird nicht gelöscht;
* Ein neuer Snapshot-Template-Datensatz wird generiert (um dieses Snapshot-Template zu löschen, müssen Sie zuerst sowohl die Origin Sandbox als auch die geklonten Sandboxes beenden);

**New Sandbox:**

* Der Status ist running;
* Sofort einsatzbereit.

### Vererbungsregeln für Attribute der New Sandbox

| Attribut    | Vererbt |
| ----------- | ------- |
| auto resume | Ja      |
| auto pause  | Nein    |

## Parameterbeschreibung

* `count`: Die Anzahl der zu klonenden Sandbox-Instanzen. Der Mindestwert ist 1, und der Höchstwert darf das Limit der Plattform für gleichzeitig laufende Sandbox-Instanzen nicht überschreiten (siehe: [Sandbox-Kontingentlimit](/docs/de/guides/sandbox-quota-limit));
* `strict`: Ob strikt gemäß der im Parameter `count` angegebenen Anzahl geklont werden soll; der Standardwert ist false.
  * `true`: Wenn die Anzahl der erfolgreich geklonten Instanzen kleiner als `count` ist, wird ein Klonfehler zurückgegeben; erfolgreich erstellte Sandboxes werden automatisch freigegeben.
  * `false`: Gibt die tatsächliche Anzahl der erfolgreich geklonten Sandbox-Instanzen zurück.
* `timeout`(`timeoutMs`): Das Timeout für das Klonen von Sandbox-Instanzen.
  * Wenn nicht angegeben:
    * Wenn sich die Origin Sandbox im Status running befindet, erbt sie deren Timeout-Konfiguration;
    * Wenn sich die Origin Sandbox im Status paused befindet, wird der Standardwert von 5 Minuten verwendet.

## Rückgabewert

Nach einem erfolgreichen Klonvorgang wird ein Objekt zurückgegeben, das die folgenden Eigenschaften enthält:

| Eigenschaft            | Beschreibung                                             |
| ---------------------- | -------------------------------------------------------- |
| `sandboxes`            | Liste der erfolgreich geklonten Sandbox-Instanzen        |
| `count`                | Anzahl der erfolgreich geklonten Sandboxes               |
| `snapshot_template_id` | Während des Klonvorgangs generierte Snapshot-Template-ID |

## Codebeispiele

<CodeGroup>
  ```python Python icon="python" theme={"system"}
  from novita_sandbox.core import Sandbox

  # Create a sandbox
  sandbox = Sandbox.create(template="base")
  # clone
  clones = Sandbox.clone(sandbox.sandbox_id, 2)

  print("snapshot:", clones.snapshot_template_id)
  for sbx in clones:
      print("clone sandbox:", sbx.sandbox_id)
  ```

  ```js JavaScript & TypeScript icon="js" theme={"system"}
  import { Sandbox } from '@novita-sandbox/core'

  // Create a sandbox
  const sandbox = await Sandbox.create('base')

  // clone
  const sbxClones = await Sandbox.clone(sandbox.sandboxId, { count: 2 })

  console.log("snapshot:", sbxClones.snapshotTemplateId)
  for (const idx in sbxClones.sandboxes) {
      console.log("clone sandboxID[" + idx + "]:", sbxClones.sandboxes[idx].sandboxId)
  }
  ```
</CodeGroup>

Zusätzlich können Sie auch die Novita Sandbox CLI verwenden, um eine angegebene Sandbox-Instanz zu klonen:

```bash Bash icon="terminal" theme={"system"}
# novita-sandbox-cli sandbox clone [sandboxID] -c [count] -s [strict] -t [timeout]
novita-sandbox-cli sandbox clone 0r0efkbfwzfp9p7qpc1c -c 2
```
