Így használjuk az AI-t a fejlesztésben

A fejlesztői agent-ek meghatározott feladatokon dolgoznak. A kiadás előtt automatizált ellenőrzések, egy másik modell és egy fejlesztő vizsgálja meg a módosításokat.

A megvalósításhoz, elemzéshez, dokumentáláshoz és tesztíráshoz fejlesztői agent-eket használunk. Az architektúráról és a termék kompromisszumairól a fejlesztők döntenek, és ők hagyják jóvá a kiadásokat.

Az agent-ek a projekt feladatlistája és a kódtárban rögzített utasítások alapján dolgoznak. Minden módosítást automatizált ellenőrzéseknek, külön modellellenőrzésnek és fejlesztői ellenőrzésnek vetünk alá. Jóváhagyás előtt tesztkörnyezetben is teszteljük az elvégzett módosításokat.

Így kerül egy feladat élesbe

  1. A feladatlistában minden feladat tartalmazza az elvárt működést, a szükséges háttérinformációkat, a korlátokat és az elfogadási feltételeket. Az ütemezetten futó agent-ek átnézik a listát, és kiválasztják az elvégezhető feladatokat.
  2. Az agent elolvassa a feladathoz kapcsolódó utasításokat és a kapcsolódó kódot, majd saját branch-en elkészíti a módosításokat. Mielőtt felülvizsgálatra küldi, lefuttatja a projektben előírt ellenőrzéseket.
  3. Az új működést példák és automatizált tesztek írják le. Igazolt hibánál az agent reprodukálja a problémát, és ahol megoldható, a javítás előtt egy hibát jelző regressziós tesztet ír.
  4. Egy második modell hibás feltételezéseket, szélső eseteket, biztonsági kockázatokat és hiányzó teszteket keres a módosításban. Megállapításait a fejlesztő is megkapja az ellenőrzéshez.
  5. Az automatizált kiadási folyamat elkészíti az ág futtatható verzióját, és elkülönített teszt-, vagy előnézeti környezetbe telepíti. A módosítás így még az összevonás előtt kipróbálható.
  6. Egy fejlesztő átnézi a kódváltozásokat, a teszteket és a modell megállapításait, majd ellenőrzi a futó szoftvert. Módosítást kérhet, elutasíthatja a megoldást, vagy jóváhagyhatja azt. Az agent-ek nem hagyhatják jóvá a saját munkájukat.
  7. A fejlesztő jóváhagyása után az automatizált folyamat elkészíti a kiadást, és a projektben egyeztetett eljárás szerint élesíti.

Az utasításokat a kóddal együtt tároljuk

A kódtárban verziókezeljük az agent-ek utasításait. Ezek leírják az architektúrát, az elnevezési és importálási szabályokat, a komponensmintákat, az akadálymentességi és adatkezelési elvárásokat, valamint az ellenőrző parancsokat. Minden feladathoz elfogadási feltételek tartoznak.

Az agent-eknek újra kell használniuk a megfelelő meglévő kódot, meg kell indokolniuk a magyarázatot igénylő döntéseket, és kerülniük kell a felesleges függőségeket. Ha egy feladat ellentmond az architektúrának, vagy termék-, biztonsági, vagy adatvédelmi döntést igényel, az agent ezt jelzi egy fejlesztőnek.

Az ellenőrzés során ezekhez az utasításokhoz és a feladathoz egyeztetett működéshez mérjük a módosítást.

Mit vizsgálnak az egyes ellenőrzések

Az automatizált ellenőrzések a típusokat, a teszteket, a buildet és a kódtár szabályainak betartását vizsgálják. Egy második modell hibákat és hiányzó eseteket keres a kódban. Ezekkel már azelőtt találhatunk problémákat, hogy a fejlesztő átnézné a módosítást.

A fejlesztő dönti el, hogy a megvalósítás illik-e az architektúrába, és a tesztek lefedik-e az elvárt működést. Ő mérlegeli a termék kompromisszumait és a biztonsági döntéseket, majd jóváhagyja a kiadást.

Hol dolgozhatnak az agent-ek

Fejlesztés

Az agent-ek átvizsgálhatják a kódtárat, saját ágon módosíthatják a meghatározott részeket, és futtathatják a projekt ellenőrzéseit. Ezek a változtatások nem érintik a felhasználókat.

Teszt és előnézet

A hibajelentés naplókkal, a környezet adataival és a reprodukálás lépéseivel kerülhet a feladatlistába. Az agent megvizsgálhatja és reprodukálhatja a problémát, regressziós tesztet írhat, és elkészítheti a javítást. Ezután lefuttatja az ellenőrzéseket, és külön előnézeti környezetbe telepíti a módosítást.

Éles rendszer

Az agent-ek nem módosíthatják közvetlenül az éles rendszert, és nem adhatják ki a saját munkájukat. A kiadási folyamat csak ellenőrzött összevonás és kifejezett fejlesztői jóváhagyás után telepítheti a tesztelt szoftvert.

A tesztek az elvárt működést írják le

A megvalósítás előtt forgatókönyvekben írjuk le, mit kell tudnia elvégezni a felhasználónak, vagy a rendszernek. Ezekből elfogadási feltételeket és ahol hasznos, automatizált teszteket készítünk.

Az egységtesztek az üzleti szabályokat ellenőrzik. Az integrációs tesztek a rendszerek kapcsolatait vizsgálják. A végpontok közötti tesztek a kritikus felhasználói folyamatokat ellenőrzik. Ahol megoldható, minden igazolt hibához regressziós tesztet írunk, hogy az ellenőrzés jelezze, ha a probléma visszatér.

A fejlesztők ezekkel a tesztekkel értékelik a módosítást. A későbbi közreműködők is ellenőrizhetik velük, hogy a változtatásaik után megmaradt-e a korábbi működés.

A módosítások kiadása

A módosításokat ellenőrizhető méretűre bontjuk, és mindegyiknél ugyanazt a build-, teszt- és előnézeti folyamatot futtatjuk. Az összevonásért és a kiadásért a fejlesztők felelnek. Az automatizálás az ismétlődő ellenőrzéseket és a jóváhagyás utáni telepítéseket végzi.