KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
Deklaracje modelu, narzędzi i agentów
Plik `Ai/assistant.kretai` z szablonu SDK: model lokalny z polityką `local-only`, dwa narzędzia (funkcje KretS z zadeklarowaną sygnaturą i uprawnieniami), dwa agenci z limitami i delegacją. **Model nie jest uruchamiany** — kompilator sprawdza deklaracje, zgodność narzędzi z funkcjami KretS i uprawnienia. Plugin startuje bez AI (zwraca liczbę zamówień z KretDB).
Witryna nie wykonuje kodu ani nie prowadzi walidacji SDK. Wyniki poniżej pochodzą z eksportu określonej wersji i przestają opisywać kod po jego zmianie.
Kanoniczne pliki projektu
kretai "1.0"
// Model lokalny: serwer modeli na tym komputerze (protokół chat/completions — llama.cpp server, Ollama, LM Studio).
// Polityka „local-only”: brama wymusza, żeby połączenie kończyło się na adresie pętli zwrotnej — dane nie opuszczają komputera.
model local.small {
provider "local"
name "qwen2.5:7b"
endpoint "http://127.0.0.1:11434"
dataPolicy "local-only"
maxOutputTokens 1024
timeout 2min
}
tool counter.read {
description "Odczytuje wartość licznika o podanej nazwie."
handler "Tools.readCounter"
parameter name String "Nazwa licznika, np. orders"
returns "Int64"
permissions {
kretdb.open
kretdb.read
}
sideEffects "none"
}
tool counter.add {
description "Zwiększa licznik o podaną wartość i zwraca nowy stan."
handler "Tools.addCounter"
parameter name String "Nazwa licznika"
parameter amount Int64 "O ile zwiększyć"
returns "Int64"
permissions {
kretdb.open
kretdb.read
kretdb.write
}
sideEffects "write"
requiresConfirmation true
}
// Agent tylko do odczytu.
agent reader {
model local.small
system "Odpowiadasz krótko i tylko na podstawie danych z narzędzi."
tools counter.read
permissions {
kretdb.open
kretdb.read
}
limits {
maxSteps 4
maxToolCalls 8
timeout 2min
}
}
// Agent, który może zmieniać dane — każde wywołanie narzędzia zapisującego wymaga potwierdzenia.
agent assistant {
model local.small
system "Pomagasz prowadzić liczniki. Zanim coś zmienisz, sprawdź obecny stan."
tools counter.read counter.add
delegates reader
permissions {
kretdb.open
kretdb.read
kretdb.write
}
limits {
maxSteps 8
maxToolCalls 16
timeout 5min
maxTokens 200000
}
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
kretai "1.0"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.Pusta linia oddziela fragmenty źródła.// Model lokalny: serwer modeli na tym komputerze (protokół chat/completions — llama.cpp server, Ollama, LM Studio).Komentarz autora; nie jest wykonywany.// Polityka „local-only”: brama wymusza, żeby połączenie kończyło się na adresie pętli zwrotnej — dane nie opuszczają komputera.Komentarz autora; nie jest wykonywany.model local.small {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.provider "local"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.name "qwen2.5:7b"Pole tożsamości lub wersji w otaczającym bloku; zachowaj jego kontekst.endpoint "http://127.0.0.1:11434"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.dataPolicy "local-only"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.maxOutputTokens 1024Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.timeout 2minOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.tool counter.read {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.description "Odczytuje wartość licznika o podanej nazwie."Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.handler "Tools.readCounter"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.parameter name String "Nazwa licznika, np. orders"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.returns "Int64"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.permissions {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.kretdb.openOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.kretdb.readOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.sideEffects "none"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.tool counter.add {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.description "Zwiększa licznik o podaną wartość i zwraca nowy stan."Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.handler "Tools.addCounter"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.parameter name String "Nazwa licznika"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.parameter amount Int64 "O ile zwiększyć"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.returns "Int64"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.permissions {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.kretdb.openOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.kretdb.readOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.kretdb.writeOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.sideEffects "write"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.requiresConfirmation trueOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.// Agent tylko do odczytu.Komentarz autora; nie jest wykonywany.agent reader {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.model local.smallOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.system "Odpowiadasz krótko i tylko na podstawie danych z narzędzi."Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.tools counter.readOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.permissions {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.kretdb.openOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.kretdb.readOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.limits {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.maxSteps 4Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.maxToolCalls 8Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.timeout 2minOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.// Agent, który może zmieniać dane — każde wywołanie narzędzia zapisującego wymaga potwierdzenia.Komentarz autora; nie jest wykonywany.agent assistant {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.model local.smallOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.system "Pomagasz prowadzić liczniki. Zanim coś zmienisz, sprawdź obecny stan."Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.tools counter.read counter.addOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.delegates readerOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.permissions {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.kretdb.openOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.kretdb.readOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.kretdb.writeOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.limits {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.maxSteps 8Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.maxToolCalls 16Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.timeout 5minOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.maxTokens 200000Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.
Wynik i typowy błąd
`check` = sukces; `run` zwraca „zamówień: 0”. Żaden model nie został wywołany.
Traktowanie poprawnej deklaracji jako dowodu działania modelu. Wykonanie z prawdziwym modelem to KretAI 1.1+ (NOT_RUN); w Core KretAI jest DISABLED.
Wymagania wersji i procedura lokalna
- sdk
- 1.0.0-rc.3+kret.local.3
- sdkInfoReports
- 1.0.0-rc.3
- core
- 1.0.0-test.6.11-draft.1
- os
- Windows 11 x64
- dotnet
- .NET 10 runtime
Polecenia poniżej są instrukcją do samodzielnego wykonania z właściwym lokalnym SDK. DATA/OUT muszą wskazywać nowe katalogi testowe. Nie ma przycisku uruchamiania na serwerze.
- check
kret check . --jsonKatalog: project · Oczekiwany kod wyjścia: 0 - run-no-ai
kret run . --policy host-policy.json --data {DATA}Katalog: project · Oczekiwany kod wyjścia: 0
Wyniki zapisane w pakiecie źródłowym
To dowód z eksportu, nie wynik bieżącego wykonania w przeglądarce.
# EXPECTED_OUTPUT — KRETAI-B01-Declarations
# Rzeczywisty wynik uruchomienia (SDK 1.0.0-rc.3+kret.local.3, 2026-11-01T12:46:13Z). Ścieżki zastąpione znacznikami <project>, <data>, <out>, <sdk>.
# Actual output of the run. Paths replaced by placeholders.
### 1. check (exit 0, PASS)
> kret check . --json
{
"format": "kret-diagnostics/1",
"project": "<project>",
"succeeded": true,
"plugin": {
"id": "LOCAL-KPL-AXB2DECL",
"name": "Declarations",
"version": "1.0.0",
"profile": "standard",
"database": true
},
"permissions": {
"required": [
"logs.own.write",
"kretdb.open",
"kretdb.read",
"kretdb.write"
],
"optional": []
},
"handlers": {
"lifecycle": [
"start",
"shutdown"
],
"events": [],
"commands": []
},
"diagnostics": []
}
### 2. run-no-ai (exit 0, PASS)
> kret run . --policy host-policy.json --data {DATA}
{
"broker": {
"pid": 47884,
"startupMs": 49.9,
"pluginHostSha256": "93405d128c95234d913efcd6e28fe54073caa0375135a2184290f958e7f7cfe5",
"allowProvisionalRisk": true,
"memoryIdle": {
"managedBytes": 1193360,
"allocatedBytes": 1190720,
"workingSetBytes": 32612352,
"privateBytes": 10223616,
"peakWorkingSetBytes": 32612352,
"cpuMs": 109.375
}
},
"brokerWithPlugins": {
"memory": {
"managedBytes": 1573168,
"allocatedBytes": 1569952,
"workingSetBytes": 40665088,
"privateBytes": 14159872,
"peakWorkingSetBytes": 40681472,
"cpuMs": 218.75
}
},
"plugins": [
{
"package": "<project>\\Build",
"admitted": true,
"startMs": 181.1887,
"subject": "LOCAL-KPL-AXB2DECL",
"instance": "01a19725-68e0-7e4c-a12f-2cd2d07fed82",
"pid": 46220,
"jobObject": true,
"isolation": {
"level": "Restricted",
"restrictedToken": true,
"lowIntegrity": true,
"appContainer": false
},
"limits": {
"profile": "standard",
"scriptMemoryBytes": 67108864,
"processMemoryBytes": 201326592,
"cpuPercent": 25,
"maxInstructions": 50000000,
"clamped": []
},
"calls": [
{
"operation": "start",
"ok": true,
"status": "Completed",
"type": "String",
"value": "zam\u00F3wie\u0144: 0",
"brokerMs": 37.6238,
"vmMs": 33.2895,
"instructions": 18,
"hostCalls": 2,
"pluginReportedMemory": {
"managedBytes": 776512,
"allocatedBytes": 774352,
"workingSetBytes": 32370688,
"privateBytes": 11251712,
"peakWorkingSetBytes": 32567296,
"cpuMs": 78.125
}
},
{
"operation": "shutdown",
"ok": true,
"status": "Completed",
"type": "Unit",
"value": null,
"brokerMs": 0.6194,
"vmMs": 0.0014,
"instructions": 1,
"hostCalls": 0,
"pluginReportedMemory": {
"managedBytes": 784736,
"allocatedBytes": 782552,
"workingSetBytes": 32370688,
"privateBytes": 11251712,
"peakWorkingSetBytes": 32567296,
"cpuMs": 78.125
}
}
],
"processMemoryMeasuredByBroker": {
"workingSetBytes": 32370688,
"privateBytes": 11251712,
"peakWorkingSetBytes": 32567296,
"cpuMs": 78.125
},
"database": {
"backend": "sqlite",
"engineVersion": "3.53.4",
"fileBytes": 20480,
"pageCount": 5,
"engineMemoryBytes": 263632,
"statements": 32
},
"summary": {
"exitCode": 0,
"killed": false,
"hostCalls": 2,
"denials": 0,
"peakCommitBytes": 12070912,
"log": [
"[info] liczba zam\u00F3wie\u0144: 0"
]
}
}
],
"brokerAfterClose": {
"memory": {
"managedBytes": 593080,
"allocatedBytes": 1569952,
"workingSetBytes": 41295872,
"privateBytes": 14848000,
"peakWorkingSetBytes": 41295872,
"cpuMs": 218.75
}
},
"audit": {
"entries": 19,
"denials": 0,
"grantsIssued": 4,
"denied": []
},
"exitCode": 0
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
# EXPECTED_OUTPUT — KRETAI-B01-DeclarationsOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.# Rzeczywisty wynik uruchomienia (SDK 1.0.0-rc.3+kret.local.3, 2026-11-01T12:46:13Z). Ścieżki zastąpione znacznikami <project>, <data>, <out>, <sdk>.Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.# Actual output of the run. Paths replaced by placeholders.Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.Pusta linia oddziela fragmenty źródła.### 1. check (exit 0, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.> kret check . --jsonOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."format": "kret-diagnostics/1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."project": "<project>",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."succeeded": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."plugin": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."id": "LOCAL-KPL-AXB2DECL",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."name": "Declarations",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."version": "1.0.0",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."profile": "standard",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."database": truePole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."permissions": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."required": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."logs.own.write",Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."kretdb.open",Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."kretdb.read",Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."kretdb.write"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.],Zamknięcie struktury otwartej we wcześniejszych liniach."optional": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."handlers": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."lifecycle": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."start",Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."shutdown"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.],Zamknięcie struktury otwartej we wcześniejszych liniach."events": [],Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."commands": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."diagnostics": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.### 2. run-no-ai (exit 0, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.> kret run . --policy host-policy.json --data {DATA}Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."broker": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."pid": 47884,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."startupMs": 49.9,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."pluginHostSha256": "93405d128c95234d913efcd6e28fe54073caa0375135a2184290f958e7f7cfe5",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."allowProvisionalRisk": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."memoryIdle": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."managedBytes": 1193360,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."allocatedBytes": 1190720,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."workingSetBytes": 32612352,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."privateBytes": 10223616,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."peakWorkingSetBytes": 32612352,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."cpuMs": 109.375Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.},Zamknięcie struktury otwartej we wcześniejszych liniach."brokerWithPlugins": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."memory": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."managedBytes": 1573168,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."allocatedBytes": 1569952,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."workingSetBytes": 40665088,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."privateBytes": 14159872,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."peakWorkingSetBytes": 40681472,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."cpuMs": 218.75Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.},Zamknięcie struktury otwartej we wcześniejszych liniach."plugins": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."package": "<project>\\Build",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."admitted": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."startMs": 181.1887,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."subject": "LOCAL-KPL-AXB2DECL",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."instance": "01a19725-68e0-7e4c-a12f-2cd2d07fed82",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."pid": 46220,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."jobObject": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."isolation": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."level": "Restricted",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."restrictedToken": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."lowIntegrity": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."appContainer": falsePole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."limits": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."profile": "standard",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."scriptMemoryBytes": 67108864,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."processMemoryBytes": 201326592,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."cpuPercent": 25,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."maxInstructions": 50000000,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."clamped": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."calls": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."operation": "start",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."ok": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."status": "Completed",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."type": "String",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."value": "zam\u00F3wie\u0144: 0",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."brokerMs": 37.6238,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."vmMs": 33.2895,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."instructions": 18,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."hostCalls": 2,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."pluginReportedMemory": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."managedBytes": 776512,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."allocatedBytes": 774352,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."workingSetBytes": 32370688,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."privateBytes": 11251712,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."peakWorkingSetBytes": 32567296,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."cpuMs": 78.125Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.},Zamknięcie struktury otwartej we wcześniejszych liniach.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."operation": "shutdown",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."ok": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."status": "Completed",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."type": "Unit",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."value": null,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."brokerMs": 0.6194,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."vmMs": 0.0014,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."instructions": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."hostCalls": 0,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."pluginReportedMemory": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."managedBytes": 784736,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."allocatedBytes": 782552,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."workingSetBytes": 32370688,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."privateBytes": 11251712,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."peakWorkingSetBytes": 32567296,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."cpuMs": 78.125Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.],Zamknięcie struktury otwartej we wcześniejszych liniach."processMemoryMeasuredByBroker": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."workingSetBytes": 32370688,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."privateBytes": 11251712,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."peakWorkingSetBytes": 32567296,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."cpuMs": 78.125Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."database": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."backend": "sqlite",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."engineVersion": "3.53.4",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."fileBytes": 20480,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."pageCount": 5,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."engineMemoryBytes": 263632,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."statements": 32Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."summary": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."exitCode": 0,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."killed": false,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."hostCalls": 2,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."denials": 0,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."peakCommitBytes": 12070912,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."log": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."[info] liczba zam\u00F3wie\u0144: 0"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.]Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.],Zamknięcie struktury otwartej we wcześniejszych liniach."brokerAfterClose": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."memory": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."managedBytes": 593080,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."allocatedBytes": 1569952,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."workingSetBytes": 41295872,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."privateBytes": 14848000,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."peakWorkingSetBytes": 41295872,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."cpuMs": 218.75Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.},Zamknięcie struktury otwartej we wcześniejszych liniach."audit": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."entries": 19,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."denials": 0,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."grantsIssued": 4,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."denied": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."exitCode": 0Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.Pusta linia oddziela fragmenty źródła.
Diagnostyka i raporty testów
null
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
nullOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
Pochodzenie i integralność
KRET_LANGUAGE_KRETAI.zip:KretAI/Examples/BASIC_Declarations/example.json
02_PLAYGROUND/EXAMPLES/KRETAI-B01-Declarations.json
SHA-256 B48FE3BDE256C1A273D3AB315D65584A6B7A6486135B0954607AFCCD38D1E10CMateriały źródłowe do tego tematu
Przeczytaj powiązane rozdziały. Kod i kontrakty zachowano z importu; historia źródeł jest dostępna przy każdym rozdziale.
KRETAI-B01-Declarations — Deklaracje modelu, narzędzi i agentów
KRETAI-B01-Declarations — Deklaracje modelu, narzędzi i agentów
🇬🇧 English version below.
| Pole | Wartość |
|---|---|
| Technologia | KretAI |
| Poziom | BASIC |
| Klasyfikacja | VALIDATION_ONLY — Tylko walidacja (bez wykonania) |
| Playground | PUBLIC_STATIC — publicznie: tylko podgląd kodu i gotowe wyniki |
| SDK | 1.0.0-rc.3+kret.local.3 (kandydat lokalny, niepodpisany) |
| Wynik testu | TEST_RESULTS.json, rzeczywisty wynik: EXPECTED_OUTPUT.txt |
Co pokazuje
Plik Ai/assistant.kretai z szablonu SDK: model lokalny z polityką local-only, dwa narzędzia (funkcje KretS z zadeklarowaną sygnaturą i uprawnieniami), dwa agenci z limitami i delegacją. Model nie jest uruchamiany — kompilator sprawdza deklaracje, zgodność narzędzi z funkcjami KretS i uprawnienia. Plugin startuje bez AI (zwraca liczbę zamówień z KretDB).
Pliki
| Plik |
|---|
Ai/assistant.kretai |
Disk/Schema.kdb |
Script/Main.krs |
Script/Tools.krs |
host-policy.json |
plugin.kretl |
Jak uruchomić
Katalog roboczy: katalog tego przykładu. kret oznacza <SDK>\Compiler\kret.exe, kretui-host — <SDK>\UiHost\kretui-host.exe. {DATA} / {OUT} to nowe, puste katalogi poza projektem. Wymagania: REQUIREMENTS.md.
kret check . --json— walidacja deklaracji KretAI razem z KretS i KretDBkret run . --policy host-policy.json --data {DATA}— zwykły start pluginu (bez wywołania modelu)
Oczekiwany wynik
check = sukces; run zwraca „zamówień: 0”. Żaden model nie został wywołany.
Najczęstszy błąd
Traktowanie poprawnej deklaracji jako dowodu działania modelu. Wykonanie z prawdziwym modelem to KretAI 1.1+ (NOT_RUN); w Core KretAI jest DISABLED.
Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →