Co vložit, když se někdo zeptá, co je Majordomus. Každá věta zde je tvrzení, které repozitář už drží, a každý odkaz se rozřeší na stránku z něj generovanou; nic zde není číslo, protože čísla se počítají a v próze zastarávají. Když potřebujete číslo, vezměte ho ze stránky, která ho počítá.
Odkaz k odeslání
https://majordomus.dev/challenge/ — programovací agent vybočí ze svého rozsahu, řekne, že je hotov, předá a vrátí se; Majordomus ho odmítne a práci přijme, jen když projde vlastní test repozitáře. Každý řádek na té stránce je zaznamenaný běh skutečného nástroje a build ji odmítne publikovat, pokud běh přestane platit.
- Instalace:
curl -fsSL https://majordomus.dev/install.sh | sh - Zdroj: https://github.com/korczis/prismatic-majordomus
- Přehrát výzvu lokálně:
majordomus usecase run catch-an-agent-that-says-it-is-done
Jedna věta
Práci dělají AI kódovací agenti; Majordomus je lokální řídicí vrstva, která drží pravidla, rozsah úlohy, předávku a definici hotového v repozitáři a odmítá označit práci za dokončenou, dokud neprojdou vlastní kontroly repozitáře.
Asi padesát slov
Majordomus dohlíží na AI kódovací agenty zevnitř repozitáře. Jedna politika generuje instrukční soubor, který každý agent čte. Úloha si nárokuje cesty, kterých se smí dotknout; soubor mimo ně neprojde kontrolou. Předávky jsou strukturované záznamy, ne přepisy. A finish vyhodnocuje kontrakt řádek po řádku a nic nezapisuje, dokud některý řádek selhává.
Asi sto padesát slov
Kódovací agenti dobře dělají práci a špatně poznají, kdy je hotová. Upravují soubory, o které nikdo nežádal, hlásí úspěch nad selhávajícím testem a zapomenou úlohu, když relace skončí. Lepší prompt to neřeší, protože prompt je právě ta část, která se ignoruje.
Majordomus je řídicí dozorová vrstva, která žije v repozitáři. Jedna kanonická politika generuje instrukční soubor, který čte každý agent, takže se pravidla mezi nástroji přestanou rozcházet. Úloha zabere cesty, kterých se smí dotknout; check a finish selžou na čemkoli mimo ně a start hlásí, když stejné cesty už zabírá jiný worker. Předávka je strukturovaný záznam, který další relace dostane zpět z context. finish vyhodnocuje kontrakt řádek po řádku a zaznamená výsledek, jen když projdou všechny řádky, včetně vlastního ověření repozitáře. Běží lokálně, v přenositelném shellu, a nikdy nevolá model.
Tři důkazy
- Odmítne a řekne proč. Zaznamenaný běh výzvy ukazuje odmítnutí kvůli rozsahu a odmítnuté dokončení kvůli selhávajícímu testu, každé s příkazem, který je reprodukuje: https://majordomus.dev/challenge/.
- Každé veřejné tvrzení jmenuje svůj test. Záruky, poradní chování, plánovaná práce a to, co se odmítá, jsou odděleny, každé s implementací a testem za ním: https://majordomus.dev/guarantees/.
- Web je držen repozitářem. Stránky, počty a přepisy se generují ze stromu a odmítají se, když se rozejdou; nástroj dozoruje svůj vlastní vývoj: https://majordomus.dev/docs/dogfooding/.
Co neříkat
- Není to počet uživatelů, hvězdiček, zákazníků ani vítězství v měření výkonu; repozitář žádné neměří.
- Ne to, že modely spouští nebo koordinuje; žádný nikdy nevolá.
- Ne že se překryv mezi workery blokuje; hlásí se. Odmítají rozsah, kontrakt dokončení a selhávající verifikace.
- Neříká, že plánovaná schopnost existuje; co není postaveno, říká https://majordomus.dev/roadmap/.
Assety
- Sociální karta:
share/design/brand/social-card.png, servírovaná jako/images/social-card.png - Logo:
share/design/brand/logo.svg - Samotné přehrání:
site/data/generated/challenge.json, regenerované s webem