Opas: terminologia korjattu — relaatio on taulu, relationship on yhteys
This commit is contained in:
@@ -321,7 +321,7 @@ Malli tuottaa JSON-rakenteen kuten:
|
|||||||
Tämä on yksinkertainen tehtävä jossa pienikin malli onnistuu luotettavasti:
|
Tämä on yksinkertainen tehtävä jossa pienikin malli onnistuu luotettavasti:
|
||||||
entiteettien tunnistus projektin kuvauksesta ja kenttätyyppien valinta.
|
entiteettien tunnistus projektin kuvauksesta ja kenttätyyppien valinta.
|
||||||
|
|
||||||
Speksi sisältää myös **relaatiot** entiteettien välillä:
|
Speksi sisältää myös **taulujen väliset yhteydet** (relationships):
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@@ -338,7 +338,7 @@ Speksi sisältää myös **relaatiot** entiteettien välillä:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Templateit generoivat relaatioista automaattisesti:
|
Templateit generoivat yhteyksistä automaattisesti:
|
||||||
- `ForeignKey('authors.id')` models.py:hin
|
- `ForeignKey('authors.id')` models.py:hin
|
||||||
- `relationship("Book", back_populates="author")` molempiin suuntiin
|
- `relationship("Book", back_populates="author")` molempiin suuntiin
|
||||||
- `BookDetail`-schema jossa author-data mukana
|
- `BookDetail`-schema jossa author-data mukana
|
||||||
@@ -348,14 +348,14 @@ Templateit generoivat relaatioista automaattisesti:
|
|||||||
### Architect-agentti: speksin laatu ratkaisee
|
### Architect-agentti: speksin laatu ratkaisee
|
||||||
|
|
||||||
Arkkitehti on **kriittisin agentti** koko pipelinessa. Jos speksi on hyvä
|
Arkkitehti on **kriittisin agentti** koko pipelinessa. Jos speksi on hyvä
|
||||||
(oikeat entiteetit, kentät, relaatiot), kaikki muu seuraa automaattisesti.
|
(oikeat taulut, kentät, yhteydet), kaikki muu seuraa automaattisesti.
|
||||||
Jos speksi on huono, templateitkaan eivät pelasta.
|
Jos speksi on huono, templateitkaan eivät pelasta.
|
||||||
|
|
||||||
Arkkitehtia ohjataan:
|
Arkkitehtia ohjataan:
|
||||||
1. **Chain-of-thought**: "Mieti ensin entiteetit, sitten kentät, sitten relaatiot"
|
1. **Chain-of-thought**: "Mieti ensin taulut, sitten kentät, sitten yhteydet"
|
||||||
2. **Domain-esimerkit**: Todo, verkkokauppa, blogi — malli näkee miltä hyvä speksi näyttää
|
2. **Domain-esimerkit**: Todo, verkkokauppa, blogi — malli näkee miltä hyvä speksi näyttää
|
||||||
3. **Anti-patternit**: "Ei turhia ID-kenttiä, ei Enumeita, ei suomenkielisiä nimiä koodissa"
|
3. **Anti-patternit**: "Ei turhia ID-kenttiä, ei Enumeita, ei suomenkielisiä nimiä koodissa"
|
||||||
4. **Relaatiosäännöt**: "Jokainen `_id`-kenttä tarvitsee vastaavan relationship-merkinnän"
|
4. **Yhteyssäännöt**: "Jokainen `_id`-kenttä tarvitsee vastaavan relationship-merkinnän"
|
||||||
|
|
||||||
Isompi malli (tai API) tässä yhdessä kohdassa parantaa kaikkien projektien laatua
|
Isompi malli (tai API) tässä yhdessä kohdassa parantaa kaikkien projektien laatua
|
||||||
koska speksi on ainoa paikka jossa LLM:n ymmärrys vaikuttaa.
|
koska speksi on ainoa paikka jossa LLM:n ymmärrys vaikuttaa.
|
||||||
@@ -380,7 +380,7 @@ class {entity.name}(Base):
|
|||||||
```
|
```
|
||||||
|
|
||||||
Tulos: importit ovat aina oikein, `connect_args` on aina mukana,
|
Tulos: importit ovat aina oikein, `connect_args` on aina mukana,
|
||||||
relaatiot generoituvat oikein, testit importoivat `main.py`:stä eivätkä kopioi sitä.
|
taulujen yhteydet generoituvat oikein, testit importoivat `main.py`:stä eivätkä kopioi sitä.
|
||||||
|
|
||||||
### Vertailu: mittaustulokset
|
### Vertailu: mittaustulokset
|
||||||
|
|
||||||
@@ -392,7 +392,7 @@ relaatiot generoituvat oikein, testit importoivat `main.py`:stä eivätkä kopio
|
|||||||
| Docker build | vaihteleva | **100%** |
|
| Docker build | vaihteleva | **100%** |
|
||||||
| Pytest läpi | 0% | **100%** |
|
| Pytest läpi | 0% | **100%** |
|
||||||
| API toimii | ~30% | **100%** |
|
| API toimii | ~30% | **100%** |
|
||||||
| Relaatiot (FK) | ei koskaan | **100%** |
|
| Taulujen yhteydet (FK) | ei koskaan | **100%** |
|
||||||
| Nested endpointit | ei koskaan | **automaattisesti** |
|
| Nested endpointit | ei koskaan | **automaattisesti** |
|
||||||
|
|
||||||
### Milloin kumpikin toimii
|
### Milloin kumpikin toimii
|
||||||
|
|||||||
Reference in New Issue
Block a user