Download as pdf or txt
Download as pdf or txt
You are on page 1of 40

Primena ChatGPT za razvoj softvera

Nenad Petrović
Univerzitet u Nišu, Elektronski fakultet, Katedra za računarstvo i informatiku, Niš, Srbija
nenad.petrovic@elfak.ni.ac.rs
ChatGPT (Chat Generative Pre-trained Transformer)
• ChatGPT predstavlja chatbot servis namenjen dijalogu sa ljudima, zasnovan na velikim jezičkim
modelima (Large Language Model – LLM)
o Prilikom obuke, obuhvaćen maltene ceo World Wide Web do 2021.
o Iskorišćava prilagođenu metodu zasnovanu na preneseno učenje (transfer learning) –
oslanjajući se i na nadgledano učenje i duboko pojačano učenje (reinforcement learning)
• Razvojen od strane OpenAI i javno dostupan od novembra 2022.
• Privukao veliku pažnju usled svestranosti i fleksibilnosti
o Od pisanja eseja i programskog koda, do igranja društvenih igara i analize podataka
• Model interakcije
o Korisnici zadaju upite i kontekst (dodatne činjenice i informacije)
o Odgovor od strane ChatGPT-a generisan u specifičnom kontekstu
• Dva načina upotrebe
o Besplatno – interaktivni web grafički korisnički interfejs
o Programatski – korišćenjem biblioteka za široko rasprostranjene programske jezike (Python,
JavaScript i ostali)
• Ograničenja
o U besplatnom režimu do 3000 reči po zahtevu u pitanju i odgovoru
• Cena uppotrebe
o API pristup zahteva OpenAI token
o Programatski zahtevi se naplaćuju po tokenu ($0.02 po 1000 tokena za najmoćniji Davinici model)
Model programiranja pri radu sa ChatGPT
• Korisnički parametri
o Pitanje – šta zahtevamo od ChatGPT servisa
o Kontekst – dodatni detalji koje mu dajemo sa ciljem dobijanja preciznijeg odgovora
• Koristimo Python API
• Parametri API poziva: verzija modela, ograničenje iskorišćavanja tokena i temeratura (faktor nasumičnosti), API ključ
Slučajevi upotrebe ChatGPT u raznim domenima
Referenca Domen Aspekti
K. Bhattacharya et al. Hirurgija Analiza zdravstvenih
kartona
Odlučivanje
Planiranje procedura
O. Katar et al. Pisanje Generisanje istraživačkih
akademskih tekstova uz minimalnu
tekstova intervenciju
Legiit Razvoj softvera Generisanje Python i
HTML koda
Valewood Razvoj softvera Generisanje Ansible
skripti
Istaknuti radovi autora u ovoj oblasti
Referenca Aspekat Domen

N. Petrović, „Chat GPT-Based Analiza koda DevSecOps


Design-Time DevSecOps“, ICEST
2023.
N. Petrović, "Machine Learning- Analiza podataka DevSecOps
Based Run-Time DevSecOps:
ChatGPT Against Traditional
Approach," ICETRAN 2023.
N. Petrović, S. Koničanin, S. Generisanje koda IoT sistemi
Suljović, „ChatGPT in IoT Systems: Analiza podataka
Arduino Case Studies“, MIEL 2023.

N. Petrović, I. Al-Azzoni, „Model- Generisanje koda Blokčejn


Driven Smart Contract Generation
Leveraging ChatGPT“, ICSEng 23
N. Petrović, V. Nejković, „Low-code Generisanje koda Mobilne aplikacije
approach to development of AI- Analiza podataka
enabled multiplatform mobile
applications relying on ChatGPT“,
PES 2023.
Istaknuti radovi autora u ovoj oblasti
Referenca Aspekat Domen

N. Petrović, I. Al-Azzoni, „Automated Generisanje koda Konceptualno modelovanje


approach to Model-Driven Analiza koda
Engineering leveraging ChatGPT and
Ecore“, PES 2023.
D. Krstić, N. Petrović, S. Suljović, A. Generisanje koda Planiranje mobilnih mreža
Al-Azzoni, „AI-Enabled Framework
for Mobile Network Experimentation
Leveraging ChatGPT: Case Study of
Channel Capacity Calculation for η-µ
Fading and Co-Channel
Interference“, MDPI Electronics 2023.
A. Janković, D. Minčić, N. Petrović, Anketa zastupljenosti Generisanje i analiza koda
M. Tošić, „ChatGPT Assisted ChatGPT
Development of Laravel
Applications“, TELSIKS 2023.
I: Deisgn-time DevSecOps studija slučaja – uvod
• Od prošle decenije, DevOps metodologija postala učestala praksa u
organizacijama
• Cilja da autoamtizuje ceo proces razvoja i dostavljanja softvera što je više
moguće, ali i uskladi sa poslovnim ciljevima
• Da bi se ovo ostvarilo, skup alata i metoda teži da ubrza ili potpuno
automatizuje ručne korake razvoja, testiranja, integracije i raspoređivanja
softvera
• Instracture as Code (IaC) – upravljanje infrastrukturom i servisima pomoću
programskih skripti
• Međutim, ovaj proces je i dalje podložan greškama i propustima, što može biti
fatalno u kritičnim domenima – zdravstvo, pomorstvo, vojska
• Važnost aspekata bezbednosti doveo do posebne podoblasti – DevSecOps
I: DevSecOps studija slučaja – Design-time analiza IaC skripti
• Korisnik bira arhivu sa IaC
skriptama (Terraform, Ansible) za
raspoređivanje infrastrukture i šalje
serveru def scan_file(file_type: str, path: str)->str:
• Nakon toga, čitaju se fajlovi iz contents = ""
with open(path, 'r') as file:
arhive i svaki od njih šalje kao deo contents = file.read().replace('\n', '')
question = f"Find security flaws in {file_type} script:{contents}"
upita ChatGPT-u response = openai.Completion.create(
engine="text-davinci-002",
• Koristimo pomoćnu Python skriptu prompt=question,
max_tokens=2048,
• Upit n = 1,
stop=None,
“Find security flaws in {file_type} )
temperature=0.5,

script:{contents}”. result = response["choices"][0]["text"]


return result

1 2 3 4

User IaC archive Python script ChatGPT Result summary


I: Design-time DevSecOps – izlaz alata
• Vraćeni odogovori za svaki od IaC fajlova su rezimirani unutar HTML tabele
• Unosi u tabeli predstavljaju detektovane probleme za svaki od fajlova iz arhive
• Saveti za ispravljanje detektovanih problema su takođe generisani kao deo rezultata

File Issues Advices


variable "username" { Default credentials: The use of default values for the "username" Use a random and strong password for the "password" variable,
variable.tf
type = string and "password" variables, such as "root" and "pa$$w0rd", can be a rather than a default value.
security risk. Default credentials are well known and can be easily
default = "root" exploited by attackers. Encrypt the "vc_username" and "vc_password" variables using a
} tool like Vault, rather than relying solely on the "sensitive" flag in
Lack of encryption: While the "vc_username" and "vc_password" Terraform.
variable "password" { variables are marked as "sensitive", they are still being stored in
plain text in the Terraform state file, which is a potential security Restrict access to the Terraform configuration files and the sensitive
type = string risk. Ideally, secrets like passwords should be encrypted before they variables to only those individuals who need access.
default = "pa$$w0rd" are stored in the state file.
} Implement a password rotation policy for administrative passwords,
Lack of access control: If multiple people have access to the and update the Terraform configuration files accordingly.
Terraform configuration files, they will also have access to the
variable "vc_username" { sensitive variables like "vc_username" and "vc_password". This can
description = "vCenter administrator username" be a security risk if those individuals do not need access to these
type = string credentials.

sensitive = true Lack of rotation: Passwords, especially those used for administrative
} accounts, should be rotated regularly to minimize the risk of
compromise. However, there is no mechanism in this Terraform file
for rotating passwords.
variable "vc_password" {
description = "vCenter administrator password"
type = string
sensitive = true
}
I: Design-time DevSecOps: Eksperimenti i evaluacija
• Razmatrani aspekti
o 1) pokrivenost – u poređenju sa standardnim alatom Iac Scan Runner
o 2) pogrešne smernice– detekcija nepostojećih problema, odgovora koji su isuviše specifični
ili uključuju neke previše specifične čijenice koje ne važe za dati primer
o 3) vreme obrade – Koliko vremena treba po odgovoru

Slučaj Pokrivenost Pogrešne Procesiranje


smernice [min]

Terraform – 4/4 0 2.5


curenje login
podataka
Ansible – sintaksni 2/2 1 0.5
problemi

Ansible – 3/5 1 0.8


zavisnosti i
parametri
I: Design-time DevSecOps: Zaključak
• ChatGPT je uspeo da detektuje sve probleme kao i tradicionalni alat (IaC
Scan Runner) korišćen za upoređivanje
• Za Terraform scenario curenja login informacija je trebalo značajno više
vremena ChatGPT-u
• Što se tiče Ansible sintaksne analize, vreme procesiranja bliže tradicionalnom
pristupu
• Jedan od rezultata sadržao previše specifične pretpostavke o putanjama
fajlova, koje mogu zbuniit krajnje korisnike i ovaj aspekat nije praktično nužna
ispravka od koje zavisi ispravnost koda
• Prednosti upotrebe ChatGPT za DevSecOps design-time analizu IaC skripti
o Osim što detektuje probleme, daje savete kako se oni mogu prevazići i korake potrebne
za korekciju, što je kod tradicionalnog algoritamskog pristupa zantno teže realizovati
II: DevSecOps studija slučaja: Run-time analiza
• Design-time (pre raspoređivanja)
o Statička analiza koda

• Run-time (tokom izvršenja)


o Analiza serverskih logova

1 2 4 5 6

IaC scripts Static analysis Logs Log analysis


User Deployed apps
archive
and services
3
II: ChatGPT za analizu logova Alert: Suspicious activity
• Kontekst obuhvata označene zapise loga
o Label Ishodi = (Atribut1 … Atributn)
• Pitanje
o Classify Atribut1 … Atributn
Context:
1 Log history 2 3
import requests
import json

API_KEY = "YOUR_KEY"
API_ENDPOINT = "https://api.openai.com/v1/chat/completions" User Python script ChatGPT
def analyze_log_record(context, log, model="gpt-4", temperature=0.1, max_tokens=None):
headers = { Question:
"Content-Type": "application/json",

}
"Authorization": f"Bearer {API_KEY}", New log record
` messages = [
{"role": "system", "content": f"{context}"},
{"role": "user", "content": f"Classify {log}"}
]

data = {
"model": model,
"messages": messages,
"temperature": temperature,
}

if max_tokens is not None:


data["max_tokens"] = max_tokens

response = requests.post(API_ENDPOINT, headers=headers, data=json.dumps(data))

if response.status_code == 200:
return response.json()["choices"][0]["message"]["content"]
else:
raise Exception(f"Error {response.status_code}: {response.text}")
II: Skup podataka
• Javno dostupan online na Kaggle servisu
o https://www.kaggle.com/code/kerneler/starter-server-logs-suspicious-575834c0-8
• CIDDS (Coburg Intrusion Detection Data Sets) skup podataka za evaluaciju sistema detekcija
anomalija prilikom probijanja mreže
• 172838 označenih zapisa mrežnog loga Promenljiva Opis
Date first seen Session start time

Duration Total time


Protocol Underlying network protocol, such as TCP
and UDP
Src IP Addr IP address of the request sender
Src Pt Port of the request sender
Dst IP Addr IP address of the server which receives the
request
Dst Pt Port of the server receiving the request
Packets Total packets used
Bytes Overall traffic amount in bytes
Flows Number of flows
Flags Network traffic flags
Tos Network traffic flags
Class Outcomes: suspicious activity or normal
II: Run-time DevSecOps: Eksperimenti i evaluacija
• Razmatrani aspekti
o Vreme procesiranja, kvalitet predikcija, količina podatka neophodna za obuku
• ChatGPT eksperimenti
o Accuracy izračunat za 10 uzastopnih izvršenja
o LLM verzija GPT-3.5 korišćena
• Tradicionalni pristup: Weka radni okvir u Java programskom jeziku
o 5000 zapisa za obuku
o Cross validation Tradicionalni pristup
Aspekat Konfiguracija Rezultati A Training time Accuracy
Minimalna Temperature = 0.1 5 [s] [%]
veličina Model = gpt-3.5 turbo IBk 1.81 99.22
konteksta
[br. uzoraka] J48 1.35 98.72
Vreme 1.86 DecisionTable 6.12 96.52
procesiranja context = 5 Decision 2.14 84.30
[s] 1.91 Stump
context = 10 Jedna Vreme izvršenja = 0.124 s
Accuracy [%] 70 predikcija
context = 5
100
context = 10
II: Run-time DevSecOps - zaključak
• Tradicionalne metode značajno brže i
pogodnije za realtime primene Accuracy [%]

o Izvršavaju se lokalno 100%

o Ne postoji overhead online servisa


80%
60%
40%

• Tradicionalne metode manje


20%
0%

fleksibilne i prilagodljive što se tiče


promene strukture skupa podataka
od interesa i obično zahtevaju Time [s]

ponovno treniranje 2
1.8

• Tradicionalne metode zahtevaju 1.6


1.4
1.2

hiljade označenih zapisa da bi 1


0.8
0.6

ostvarile sličnu tačnost predikcije 0.4


0.2
0

• LLM pristup je dosta fleksibilniji što se


Traditional ChatGPT

tiče prilagođvanja tokom izvršenja


III: Blokčejn studija slučaja
• Blokčejn je do sada primenjen u različitim oblastima – od finansijskih transakcija
do prenosa itelektualne svojine
• Međutim, sa povećanjem kompleksnosti scenarija upotrebe, razvoj pametnih
ugovora koji definišu transakcije postaje sve teže, pogotovu ukoliko često
dolazi do proširenja i izmena, kao što je kupovinan novog tipa sadržaja u
igrama i metaverse aplikacijama
• Prema tome, neophodni su trud i vreme da bi se dodali novi pametni ugovori
u nekom sistemu sa ciljem pokrivanja specifičnog scenarija ili proširenja
postojećih
• Zbog toga, dolazi do potrebe za generisanje pametnih ugovora autoamtskim
ili polu-automatskim metodama
• Primeri za Solidity pametne ugovore i Ethereum blokčejn platformu
iContractML metamodel za reprezentaciju pametnih ugovora
• iContractML {HamdaqaMet2022} generalizuje pametne ugovore za različite jezike
o Ethereum, DAML, Hyperledger Composer i DAML
III: Blokčejn studija slučaja – Generisanje i analiza pametnih ugovora

ChatGPT

API calls

Answer
Generated code

Modelling Model-to-text Python script New smart


User
environment transformation contract

Execute
Existing smart
contract Blockchain
III: Blokčejn studija slučaja: Primer sistema ocenjivanja
• Tri učesnika u scenariju: đak, nastavnik i roditelj.
• Roditelji kreiraju pametne ugovore sa ciljem da nagrade svoju decu za trud
• Đak može podići nagradu ako ostvari određenu visinu ocene
• Nastavnik može da daje ocene studentima
• Ugovor ima dva ključna parametra: ocena i iznos.
• Tri ključne transakcije, svaka vezana za nekog od korisnika
III: Blokčejn studija slučaja: Eksperimenti i evaluacija
• Mane ChatGPT pristupa za generisanje
pametnih ugovora
o Znatno sporije vreme procesiranja
o Upotreba online servisa
• Prednosti
o Lako se može prilagoditi za različite platforme i
jezike pametnih ugovora, prostom izmenom upita:
“Write the scenario in Solidity version 0.6” može se
zameniti sa “Write the scenario in Solidity version
0.8” ili “Write the scenario in DAML”.
o ChatGPT generiše kompletniji kod od
iContractML. Iako su dodati elementi logike koji
nisu inicijalno deo specifikacije iz instance
modela, kod je maltene uvek ubačen u ispravno
m kontekstu i može se smatrati da dodnosi
dodatnu vrednost
o ChatGPT generiše pametne ugovore koji su
direktno upotrebljivi, bez intervencije korisnika, što
kod iContractML nije slučaj
IV: Razvoj mobilnih aplikacija
• Već više od decenije, mobilne aplikacije gotovo neizostavan deo
svakodnevnog života
• Raznovrsnost mobilnih uređaja i operativnih sistema znatno otežavaju razvoj
• Multiplatformske mobilne aplikacije kao jedan od pristupa
• Sa druge strane, veštačka inteligencija identifikovana kao ključna za
inovativne scenarije upotrebe mobilnih aplikacija
• Izazovi po pitanju ograničene procesorske moći mobilnih uređaja
• Cilj ove studije slučaja je integracija funkcionalnosti veštačke inteligencije u
low-code pristup razvoja mobilnih aplikacija zasnovan na AppSheet i Apps
Script tehnologijama
IV: Predloženi radni tok
• Podaci
o Google Sheets dokumenti

• Front end
o AppSheet

• Back end Chat GPT


o Google Apps Script Prompt
Response
• AI funkcionalnosti
o ChatGPT

Import Generate Triggers

Google AppSheet Smartphone Apps


Sheets Input
app Script

User
IV: Primena AppScript API-ja za ChatGPT
function invokeChatGPT(question, context, apiKey) {
var data = {
"messages": [
{"role": "system", "content": context},
{"role": "user", "content": "Here is your prompt:" +question +"\n"}],
"model": "gpt-3.5-turbo"};

var options = {
'method' : 'post',
'contentType': 'application/json',
'payload' : JSON.stringify(data),
'headers': {
Authorization: 'Bearer ' + apiKey,
},
};

var response = UrlFetchApp.fetch(


'https://api.openai.com/v1/chat/completions',
options
);

// Send the API request


var result =
JSON.parse(response.getContentText())['choices'][0]['message']['content'];

return result

}
IV: Primeri aplikacija
Generisanje pitanja o geografskim lokacijama Instrukcije za upotrebu mašina

Question
IV: Pregled eksperimenata
• Značajno smanjuje vreme razvoja potrebnog za veštačkom inteligencijom-
vođene mobilne aplikacije
• Nije neophodno poznavanje ni koncepata razvoja mobilnih aplikacija, ni AI,
već samo osnova programiranja
Vreme Ručno
Primer Upit procesiranja razvoj
[s] [h]
10
Generate {difficulty} question of {type} about
Generisanje pitanja 10.41
{context}

6
Instrukcije How to use {label} 8.23

4
Preporuke Recommend a product if I bought {list} 6.54
V: Primena ChatGPT za razvoj IoT sistema
• Dve studije slučaja za Arduino platformu
o 1:Predikcije na osnovu senzorskih podataka
o 2:Modelima-vođeno automatsko generisanj koda
V: Predikcije na osnovu senzorskih podataka
• Oslanjamo se na minimalističku ChatGPT klijentsku biblioteku za Arduino
(autor: Eric Nam)
• Definicija upita (pitanje, kontekst) par
o Pitanje: Classify (In1 In2 … Inn) (1)
o Kontekst: Label Out = (In1 In2 … Inn) (2)
ChatGPT<WiFiClientSecure> chat_gpt(&client, "v1", "<OpenAI_API_KEY>");

if (chat_gpt.simple_message("gpt-4", "user", "Classify (12C, 48% humidity)", result)) {


Serial.println(result);
} else {
Serial.println("ERROR");
}

Scenario Vreme Ulazi Minimalni Acc.


predikcije[s] kontekst [%]
Rain prediction 1.92 Temperature 5 70
using DHT11 Humidity
Anomaly 1.45 Voltage 4 90
prediction in Frequency
smart grid
V: Modelima-vođeno generisanje koda
• Cilj je generisanje šablona koda upotrebom korisnički kreiranog modela na
osnovu unapred definisanog metamodela

Input: model
Output: prompt
Steps:
1. Elements: = model.elements;
2. For each element e in elements
3. If (e is Master)
4. prompt+=“Generate {e.model} {e.subclass}
device code”);
5. For each connection c in master.connections
6. prompt+=“When it is connected to {c.slave}
via {c.pinMapping}”.;
7. End for each;
8. End if;
9. End for each;
1. Return prompt;
V: Eksperimenti i rezultati
Scenario Code Greške u Pretpostavke
generati kompajliranju
on time
[s]
MQTT over Ethernet Shield and DHT11 5.91 No MQTT topic naziv, port i adresa
temperature/humidity sensor brokera
Single-channel relay and LCD display 2.54 No Relej menja stanje svake 2 sekunde
ESP8266 WiFi and MQTT 4.75 No MQTT topic naziv, adresa brokera

// Define the pin number to which the relay is connected


const int relayPin = 3;
Upit:
Generate Arduino Uno device code when it is connected to single- void setup() {
// Set the relay pin as an output
channel via pin pinMode(relayPin, OUTPUT);

// Initialize the relay to be off initially


digitalWrite(relayPin, LOW);
}

void loop() {
// Turn on the relay for 2 seconds
digitalWrite(relayPin, HIGH);
delay(2000);

// Turn off the relay for 2 seconds


digitalWrite(relayPin, LOW);
delay(2000);
}
V: Zaključak
• ChatGPT analiza podataka
o ChatGPT donosi moćne funkcionalnosti veštačke inteligencije kod IoT uređaja malih dimenzija,
otrošnje i skromne procesorske moći
o Fleksibilnost analize podataka – LLM već unapred utreniran, manji broj označenih uzoraka

• Modelima-vođen razvoj IoT sistema


o Generisanje koda se svodi na konstrukciju upita, što zahteva manje vremena od pisanja koda
o Dodatna vrednost ostvarena kroz generisana dodatna objašnjenja i komentare za isečke koda
VI: ChatGPT i modelima-vođeno softversko inženjerstvo
• Modelima-vođeno softversko inženjerstvo je našlo primenu u sistemima sa
različitim svrhama
o Automatsko generisanje koda
o Verifikacija sistema na osnovu pojednostavljenih reprezentacija
• Međutim, neophodne aktivnosti zahtevaju vreme i trud
o kreiranja metamodela (definišu strukturu instanci modela)
o Pisanje koda za parsiranje instanci modela i pribavljanje parametara
o Algoritmi za generisanje koda na osnovu modela
• Prema tome, u ovoj studiji slučaja razmatramo kako se ChatGPT može iskorisriri
za automatizaciju ovih koraka, pod pretpostavkokm da koristimo Eclipse
Modeling Framework (EMF) tehnologiju i Ecore za Java programski jezik
VI: ChatGPT i MDE
• Tri studije slučaja
o 1: Kreiranje
metamodela na
osnovu tekstova iz
domena
o 2: Kreiranje instanci
modela za dati
metamodel na
osnovu opisa
o 3: Generisanje koda
za parsiranje instanci
modela
VI: Generisanje metamodela na osnovu teksta
• Tekst:
Server executes container.
Sever can be either in cloud or
within edge. Each container has
corresponding execution
location, matching with server.
Sever also has memory, storage
and processing power.
VI: Generisanje instance na osnovu teksta i metamodela
• Tekst:
Server with cloud execution
location, 2TB storage, 32GB
memory and 4.0GHz CPU
executes Image analysis
container
VI: Eksperimenti i evaluacija

Eksperiment Slučaj Šablon upita Vreme [s]


Fog 8.12
Generate Ecore meta-
Kreiranje metamodela Telco 7.54
model for {text}
Pandemic 9.23
Create Ecore model
Fog instance based on 9.54
Kreiranje instance Telco {text} with respect to 8.32
Pandemic meta-model {meta- 10.12
model}
Generate Java code to
Fog parse {parameter} 8.94
Parsiranje modela Telco from Ecore model 7.73
Pandemic instance based on 9.48
{meta-model}
VII: Anketa – Upotreba LLM kod studenata računarstva

Upotreba AI asistenata za programiranje

Zastupljenost različitih alata


VII: Anketa – Upotreba LLM kod studenata računarstva

Pregled svrha primene

Da li se može koristiti bez predznanja o programiranju? Stepen ispunjenja potreba


VII: Anketa upotrebe LLM za razvoj softvera - zaključak
• Dominantnost ChatGPT servisa kod studenata
• Često korišćen od strane studenata za različite zadatke u kontekstu edukacije
• Od pomoći sa domaćim zadacimo do pisanja eseja i usavršavanja stranih
jezika
• Subjektivni osećaj da povećava produktivnost, kreativnost i samopouzdanje
prilikom izrade studentskih projekata i zadataka
• Međutim, identifikovani i problemi
o Preterano oslanjanje na ovakve alate rizično u kritičnim domenima
o Autentičnost rezultata upitna
o Potencijalni problemi iz perspektive etike
Zaključak
• Generisanje koda
o U većini slučajeva sintaksno ispravan
o Rečita objašnjenja delova koda
o Nije najpogodnije za kritične upotrebe
o Poželjno predznanje za konkretni domen ili tehnologije
o Može sadržati previše specifične pretpostavke
• Statička analiza koda
o Opširna objašnjenja problema
o Predlog rešenja
o Ponekad može uzeti u obzir nepostojeće činjenice kao posledica efekta „halucinacije“ (čak i za
ispravan kod)
• Analiza podataka
o Fleksibilna, ali nije pogodna za upotrebu u realnom vremenu
• Zastupljenost
o ChatGPT dominantan kod studenata
o Ocena odgovora – srednji nivo
o Većina smatra da se ne smemo kompletno oslanjati na dobijene odgovore
o Primerenija uloga AI pomoćnika nego za kompletno rešavanje problema

You might also like