# Uczenie bibliotek abstrakcji

EN: **Library learning: discovering reusable program abstractions** · id `librarylearning` · aliases: library learning, uczenie bibliotek, learning reusable program abstractions, uczenie abstrakcji programów

Path: [AI Atlas](https://aiatlasgraph.com/llms.txt) › [Fundamenty i rozumowanie](https://aiatlasgraph.com/t/foundations.md) › [Synteza programów](https://aiatlasgraph.com/t/programsynthesis.md) › Uczenie bibliotek abstrakcji

## Description

- PL: Synteza programów, która wraz z rozwiązaniami uczy się nowych prymitywów języka dziedzinowego, refaktoryzując wspólne fragmenty znalezionych programów.
- EN: Program synthesis that, alongside solutions, learns new DSL primitives by refactoring fragments shared across found programs.

## In one sentence

- PL: System rozwiązujący zadania programami sam wydziela z nich powtarzalne kawałki i dokłada je do swojego zestawu narzędzi.
- EN: A system that solves tasks with programs pulls out the recurring pieces and adds them to its own toolkit.

## Problem it solves

- PL: Za każdym razem budowanie rozwiązania od zera jest wolne, a gotowe narzędzia rzadko pasują do nowej dziedziny.
- EN: Building every solution from scratch is slow, and ready-made tools rarely fit a new domain.

## What it does

- PL: Jak rzemieślnik, który po dziesiątym podobnym zleceniu robi sobie przyrząd i odtąd każde kolejne idzie mu szybciej.
- EN: Like a craftsman who, after the tenth similar job, makes a jig so each later job goes faster.

## Everyday example

- PL: Program rysujący figury po wielu zadaniach sam tworzy polecenie „narysuj wielokąt” i dalej używa go jako jednego kroku.
- EN: A drawing program, after many tasks, creates its own 'draw a polygon' command and then uses it as a single step.

## This concerns you if you…

- PL: ciekawi cię, jak AI może budować własne pojęcia
- PL: śledzisz próby rozwiązywania łamigłówek wymagających abstrakcji
- EN: wonder how AI could build its own concepts
- EN: follow attempts to solve puzzles that require abstraction

## Keywords

DreamCoder · wake-sleep Bayesian program learning · Stitch · LILO · ARC-AGI · program abstraction · e-graphs

## How it works

- PL: W podejściu wake–sleep faza czuwania rozwiązuje zadania przeszukiwaniem prowadzonym przez sieć neuronową. Faza abstrakcji kompresuje znalezione programy, dodając do biblioteki funkcje, które skracają wiele z nich, a faza „snów” trenuje sieć na zadaniach wyobrażonych i odtworzonych. Nowsze systemy używają modeli językowych do proponowania i nazywania abstrakcji.
- EN: In the wake–sleep approach, the wake phase solves tasks with neurally guided search. The abstraction phase compresses found programs, adding library functions that shorten many of them, and the dreaming phase trains the network on imagined and replayed tasks. Newer systems use language models to propose and name abstractions.

## Limits

- PL: Wymaga starannie zaprojektowanego języka bazowego i dużej mocy obliczeniowej na przeszukiwanie. Biblioteka może rosnąć w bezużyteczne lub nadmiernie dopasowane funkcje, a dowody skuteczności pochodzą głównie z małych, sztucznych dziedzin.
- EN: Requires a carefully designed base language and heavy compute for search. The library can fill with useless or overfitted functions, and evidence of success comes mostly from small, synthetic domains.

## Key terms

- PL: **prymityw**: Podstawowa operacja, z której składają się programy.
- PL: **refaktoryzacja**: Wydzielenie powtarzającego się fragmentu kodu w osobną funkcję.
- PL: **wake–sleep**: Na przemian rozwiązywanie zadań i porządkowanie zdobytej wiedzy.
- EN: **primitive**: A basic operation programs are built from.
- EN: **refactoring**: Extracting a repeated code fragment into its own function.
- EN: **wake–sleep**: Alternating between solving tasks and consolidating what was learned.

## Know first

- [Programowanie przez przykłady (Programming by example (PBE))](https://aiatlasgraph.com/t/pbe.md)

## Related topics

Untyped, symmetric "see also" links.

- [Ewolucyjne odkrywanie algorytmów z LLM (LLM-driven program and algorithm evolution)](https://aiatlasgraph.com/t/llmprogramsearch.md)

## Sources

- [DreamCoder: Growing generalizable, interpretable knowledge with wake-sleep Bayesian program learning](<https://arxiv.org/abs/2006.08381>) `ellis-dreamcoder-2020` · by Kevin Ellis, Catherine Wong, Maxwell Nye, Mathias Sablé-Meyer, Luc Cary, Lucas Morales, Luke Hewitt, Armando Solar-Lezama, Joshua B. Tenenbaum
- [ARC Prize 2025: Technical Report](<https://arxiv.org/abs/2601.10904>) `arc-prize-2025-technical-report` · by François Chollet, Mike Knoop, Gregory Kamradt, Bryan Landers

---

AI Atlas revision 125 (2026-11-01) · HTML: https://aiatlasgraph.com/t/librarylearning · index: https://aiatlasgraph.com/llms.txt · everything: https://aiatlasgraph.com/llms-full.txt · updated 2026-11-01
