Przejdź do treści
Biblioteka skilli
AI i agenci · Automatyzacja

pilot-map-reduce

/pilot-map-reduce

Prowadzi rozproszony map-reduce w rojach agentów do równoległego przetwarzania danych: faza map na wielu workerach, a potem agregująca faza reduce, dla zadań łatwo dających się zrównoleglić.

Repozytorium
pilot-skills ↗
Licencja
AGPL-3.0
Ostatnia zmiana repozytorium
24.09.2026

Ocena i bezpieczeństwo

95/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść30 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
2
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
1
Przestarzałość

Brak sygnałów. Repozytorium zmienione 24.09.2026, bez odwołań do wycofanych modeli i API.

Licencja

AGPL-3.0, copyleft: przeróbki udostępniane innym muszą mieć tę samą licencję.

Co robi i kiedy

Prowadzi rozproszony map-reduce w rojach agentów do równoległego przetwarzania danych: faza map na wielu workerach, a potem agregująca faza reduce, dla zadań łatwo dających się zrównoleglić.

Oryginalny opis (EN)

Distributed map-reduce over agent swarms for parallel data processing. Use this skill when: 1. You need to process large datasets across multiple workers 2. You want parallel map phase followed by aggregating reduce phase 3. You have embarrassingly parallel tasks with combine step Do NOT use this skill when: - Tasks are not parallelizable (use single worker) - You need streaming results (use pilot-load-balancer)

Jak działa

  1. Commands
  2. Workflow Example
  3. Dependencies
Sekcje z nagłówków SKILL.md, w oryginale · 74 linii, 220 słów
Podgląd SKILL.md
---
name: pilot-map-reduce
description: >
  Distributed map-reduce over agent swarms for parallel data processing.

  Use this skill when:
  1. You need to process large datasets across multiple workers
  2. You want parallel map phase followed by aggregating reduce phase
  3. You have embarrassingly parallel tasks with combine step

  Do NOT use this skill when:
  - Tasks are not parallelizable (use single worker)
  - You need streaming results (use pilot-load-balancer)
tags:
  - pilot-protocol
  - map-reduce
  - distributed-computing
  - parallel-processing
license: AGPL-3.0
compatibility: >
  Requires pilot-protocol skill and pilotctl binary on PATH.
  The daemon must be running (pilotctl daemon start).
metadata:
  author: vulture-labs
  version: "1.0"
  openclaw:
    requires:
      bins:
        - pilotctl
    homepage: https://pilotprotocol.network
allowed-tools:
  - Bash
---

# pilot-map-reduce

Implement distributed map-reduce patterns for parallel data processing across agent swarms.

## Commands

### Submit map tasks to workers
```bash
TOTAL_WORKERS=$(pilotctl --json peers --search "role:mapper" | jq 'length')

for i in $(seq 0 $((TOTAL_WORKERS - 1))); do
  WORKER=$(pilotctl --json peers --search "role:mapper" | jq -r ".[$i].address")

  pilotctl --json send-message "$WORKER" \
    --data "{\"type\":\"map_task\",\"job_id\":\"$JOB_ID\",\"chunk_start\":$((i * 1000)),\"chunk_end\":$(((i + 1) * 1000))}"
done
```

### Collect map results
```bash
EXPECTED_RESULTS=$TOTAL_WORKERS
RECEIVED=0

while [ $RECEIVED -lt $EXPECTED_RESULTS ]; do
  RESULTS=$(pilotctl --json received \
    | jq '[.messages[] | select(.payload.type == "map_result" and .payload.job_id == "'$JOB_ID'")] | length')
  RECEIVED=$RESULTS
  sleep 1
done
```

### Shuffle and reduce
```bash
MAP_RESULTS=$(cat /tmp/map-results-$JOB_ID.json)
KEYS=$(echo "$MAP_RESULTS" | jq -r '.[].payload.results | to_entries | .[].key' | sort -u)

for key in $KEYS; do
  VALUES=$(echo "$MAP_RESULTS" | jq -r '[.[].payload.results."'$key'" // empty] | flatten')

  pilotctl --json send-message "$REDUCER" \
    --data "{\"type\":\"reduce_task\",\"job_id\":\"$JOB_ID\",\"key\":\"$key\",\"values\":$VALUES}"
done
```

## Workflow Example

Word count across distributed text corpus:

```bash
#!/bin/bash
JOB_ID="wordcount-$(date +%s)"

# MAP phase
MAPPERS=$(pilotctl --json peers --search "role:mapper" | jq -r '.[].address')
for i in $(seq 0 9); do
  pilotctl --json send-message "${MAPPERS[$i]}" \
    --data "{\"type\":\"map_task\",\"job_id\":\"$JOB_ID\",\"chunk\":$i}" &
done
wait

# REDUCE phase
sleep 5
MAP_RESULTS=$(pilotctl --json received \
  | jq '[.messages[] | select(.payload.type == "map_result")]')

FINAL=$(echo "$MAP_RESULTS" | jq 'map({(.payload.word): .payload.count}) | add')
echo "$FINAL"
```

## Dependencies

Requires pilot-protocol skill, jq, and sort.
Pliki w paczce (2)
  • README.md 1 KB
  • SKILL.md 3 KB

Wersje

W bazie nie ma innych skilli o nazwie pilot-map-reduce.

Migawka bazy z 28.10.2026 · wersja paczki 8a42540c0802 (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 90agent-map-reduce
    Dzieli duże zadanie między równoległych agentów, z których każdy obsługuje jeden fragment, a potem świadomie scala wyniki, gdy praca przekracza jedno okno kontekstu.
  • 100pilot-compress
    Przezroczysto kompresuje duże wiadomości w sieci Pilot Protocol, żeby zmniejszyć zużycie pasma przy dużych ładunkach i wysyłce wsadowej tekstu lub danych binarnych.
  • 95pilot-sync
    Synchronizuje katalogi dwukierunkowo między agentami w sieci Pilot Protocol, replikuje pliki na wiele węzłów i wykrywa konflikty zmian.
  • 100parallel-execution
    Podaje wzorce równoległego wykonywania subagentów przez narzędzie Agent: koordynacja niezależnych zadań, tworzenie dynamicznych subagentów i implementacja funkcji, które można zrównoleglić.
  • 100rlm
    Przetwarza duże bazy kodu (ponad 100 plików) wzorcem Recursive Language Model, uruchamiając równoległe podagenty w układzie map-reduce, aby uniknąć utraty kontekstu.
  • 100bun-workers
    Obsługuje Web Workers w Bun i worker_threads dla przetwarzania równoległego i zadań w tle.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.