Men det er også vigtigt, at skoleledelser og lærere forholder sig
aktivt til kunstig intelligens og prøver at få en systematisk viden
om, hvad der rent faktisk foregår i praksis. Hvad gør eleverne og
hvorfor?
Der er en tendens til at forstå brug af AI som ren plagiering eller
snyd. Jeg tror snarere, det er udtryk for dels en nysgerrighed på
ChatGPT, dels et forsøg på at effektivisere en læringsproces.
Det kan også være et udtryk for, at hvis eleven alligevel skal svare
det, som alle andre svarer, fordi det er sådan man svarer i et fag,
hvorfor så ikke få en maskine til at gøre det? Der er behov for at
forholde sig til, hvad det er for et fænomen. Hvad gør folk i
praksis? Og hvordan kan skolerne og lærerne udnytte det rent
didaktisk?
3. Lærerens nye rolle
Hvis en teknologi kan udføre et arbejde bedre, end vi selv kan, kan
vi fokusere på at lave noget andet. Inden for undervisning gælder
det blandt andet vurdering og feedback.
I den bedste af alle verdener kan intelligente teknologier få den
betydning, at de i højere grad kan få os til at stille mere kritiske
eller undersøgende opgaver, som retter sig mod at forholde sig til
nutiden og fremtiden. Især fremtiden er noget, teknologierne ikke er
gode til at forholde sig til.
Læreren kan have mere fokus på spørgsmål om undring, undersøgelse,
refleksion, kritik, valg og identitetsudvikling og lignende
komplekse spørgsmål samt på samarbejde mellem eleverne.
Der er store potentialer i at gentænke relationen mellem lærer og
elever og at tænke en ny type af faglighed, hvor fokus mere bliver
på kritisk at forholde sig til det, som maskinen kan understøtte os
i. Men sådan ser virkeligheden ikke ud lige nu.
4. Sådan kan data bruges i klasseværelset
Der foregår pt. nogle spændende projekter i blandt andet Norge, hvor
man samarbejder med Big Tech-virksomhederne og bruger deres software
i alle klasserum. Man er gået ind i dialoger om, hvilke data de har
på elevers gøren og laden for eksempel på internettet, og hvordan
data kan udnyttes til undervisningsplanlægning.
Man undersøger, om det vil være muligt at monitorere, hvordan
eleverne arbejder og bruger teknologi i deres læreprocesser gennem
store datamængder og kunstig intelligens. Måske vil man også kunne
bruge data til at forankre elevers læring med nationale læringsmål.
Det er nogle af de overvejelser, man gør sig i Norge. Nationale
læringsmål vil altså kunne knyttes tæt og datadrevet til elevernes
praksis, og hvordan de udvikler sig, og man vil på baggrund af
datainput kunne lave undervisningstiltag, så man sikrer elevers
læring.
- System.Web.HttpUnhandledException (0x80004005): An unhandled exception occurred. ---> System.Web.HttpCompileException (0x80004005): c:\home\site\wwwroot\Views\Article\ArticleQuote.cshtml(17): error CS1061: 'Cabana.SDU.Feature.Article.ArticleQuote' does not contain a definition for 'Text' and no extension method 'Text' accepting a first argument of type 'Cabana.SDU.Feature.Article.ArticleQuote' could be found (are you missing a using directive or an assembly reference?)
- at System.Web.Compilation.BuildManager.PostProcessFoundBuildResult(BuildResult result, Boolean keyFromVPP, VirtualPath virtualPath)
- at System.Web.Compilation.BuildManager.GetBuildResultFromCacheInternal(String cacheKey, Boolean keyFromVPP, VirtualPath virtualPath, Int64 hashCode, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultFromCacheInternal(VirtualPath virtualPath, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
- at System.Web.Compilation.BuildManager.GetCompiledType(VirtualPath virtualPath)
- at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
- at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
- at Sitecore.Mvc.Pipelines.MvcEvents.Exception.ShowAspNetErrorMessage.ShowErrorMessage(ExceptionContext exceptionContext, ExceptionArgs args)
- at Sitecore.Mvc.Pipelines.MvcEvents.Exception.ShowAspNetErrorMessage.Process(ExceptionArgs args)
- at (Object , Object )
- at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
- at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
- at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
- at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs](String pipelineName, TArgs args)
- at Sitecore.Mvc.Filters.PipelineBasedRequestFilter.OnException(ExceptionContext exceptionContext)
- at System.Web.Mvc.ControllerActionInvoker.InvokeExceptionFilters(ControllerContext controllerContext, IList`1 filters, Exception exception)
- at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
- at System.Web.Mvc.Controller.ExecuteCore()
- at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
- at Sitecore.Mvc.Controllers.ControllerRunner.ExecuteController(Controller controller)
- at Sitecore.Mvc.Controllers.ControllerRunner.Execute(TextWriter writer)
- at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Render(Renderer renderer, TextWriter writer, RenderRenderingArgs args)
- at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Process(RenderRenderingArgs args)
- at Helpfulcore.RenderingExceptions.Pipelines.RenderRendering.ExecuteRenderer.Process(RenderRenderingArgs args)
Men spørgsmålet er naturligvis, om det er en vej, vi ønsker at gå.
Man kunne for eksempel indvende, at det bliver alt for instrumentelt
og Big Brother-agtigt. Men det er ikke nødvendigvis den vej, det
behøver at gå. Det kan være et nyttigt redskab for den enkelte elevs
udvikling og lærerens mulighed for at hjælpe.
Det er vigtigt at understrege, at det kun er bestemte dele af
skolens undervisningsopgave, der kan understøttes på den måde. De
større opgaver med at danne børn, understøtte deres sociale og
individuelle udvikling, vil være lærerens gebet.
5. Vigtigt med øje for økonomi og magt
Allerede nu, når man for eksempel sælger Google-licenser til skoler,
har Google enormt meget data på eleverne. Hvem ejer egentlig de
data? Hvis skolerne skal købe data, bliver det dyrt. Der er magt
forbundet med at have data på folk. Og hvor stiller det den enkelte
elevs retsstilling?
I Norge prøver man på kommuneplan at finde ud af, hvordan man kan
stille krav til Big Tech i forhold til at levere data om elevernes
arbejde. Kommuner kan blive en stærk aktør på området.
På samme måde er der en afgivelse af magt ved at bruge AI i
undervisningen, fordi algoritmer, som vi ikke kender, vælger de
informationer, vi får adgang til. Derved bliver det en partikulær,
magtstyret viden, som er baseret på nogle personaliserede
algoritmer.
- System.Web.HttpUnhandledException (0x80004005): An unhandled exception occurred. ---> System.Web.HttpCompileException (0x80004005): c:\home\site\wwwroot\Views\Article\ArticleQuote.cshtml(17): error CS1061: 'Cabana.SDU.Feature.Article.ArticleQuote' does not contain a definition for 'Text' and no extension method 'Text' accepting a first argument of type 'Cabana.SDU.Feature.Article.ArticleQuote' could be found (are you missing a using directive or an assembly reference?)
- at System.Web.Compilation.BuildManager.PostProcessFoundBuildResult(BuildResult result, Boolean keyFromVPP, VirtualPath virtualPath)
- at System.Web.Compilation.BuildManager.GetBuildResultFromCacheInternal(String cacheKey, Boolean keyFromVPP, VirtualPath virtualPath, Int64 hashCode, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultFromCacheInternal(VirtualPath virtualPath, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
- at System.Web.Compilation.BuildManager.GetCompiledType(VirtualPath virtualPath)
- at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
- at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
- at Sitecore.Mvc.Pipelines.MvcEvents.Exception.ShowAspNetErrorMessage.ShowErrorMessage(ExceptionContext exceptionContext, ExceptionArgs args)
- at Sitecore.Mvc.Pipelines.MvcEvents.Exception.ShowAspNetErrorMessage.Process(ExceptionArgs args)
- at (Object , Object )
- at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
- at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
- at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
- at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs](String pipelineName, TArgs args)
- at Sitecore.Mvc.Filters.PipelineBasedRequestFilter.OnException(ExceptionContext exceptionContext)
- at System.Web.Mvc.ControllerActionInvoker.InvokeExceptionFilters(ControllerContext controllerContext, IList`1 filters, Exception exception)
- at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
- at System.Web.Mvc.Controller.ExecuteCore()
- at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
- at Sitecore.Mvc.Controllers.ControllerRunner.ExecuteController(Controller controller)
- at Sitecore.Mvc.Controllers.ControllerRunner.Execute(TextWriter writer)
- at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Render(Renderer renderer, TextWriter writer, RenderRenderingArgs args)
- at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Process(RenderRenderingArgs args)
- at Helpfulcore.RenderingExceptions.Pipelines.RenderRendering.ExecuteRenderer.Process(RenderRenderingArgs args)
Det betyder, at eleverne og lærerne i højere grad skal rustes til at
forholde sig kritisk til viden. En ph.d.-afhandling forsvaret for
nylig viser, at eleverne bruger Googles søgemaskine relativt
ukritisk, når de skal skrive tværfaglige opgaver.
Der er brug for at tage nogle kritiske diskussioner af, hvad det er
for en information, og hvad det er for et indhold, som eleverne
bruger i deres afleveringer. Navigerings- og
informationssøgningskompetencer bliver utroligt vigtige.
6. Flere kritiske og kreative opgaver
Det er vigtigt, at skoler og lærere bruger teknologien til at
understøtte det, som er lærerens arbejde: Nemlig at få eleverne til
at udvikle sig og lære noget. Klassiske, reproducerende opgaver, som
for eksempel hvad romantikken i hovedtræk går ud på, vil AI kunne
give gode svar på.
Derfor skal undervisningen ikke dyrke de reproducerende opgaver så
meget. Derimod skal man lægge vægt på de undersøgende og individuelt
reflekterende problem- og projektorienterede opgaver, hvor man kan
inddrage den viden, som teknologien kan bidrage med.
Det vil man i højere grad tænke ind i designet af undervisningens
formål og materialer. For eksempel ved at læreren ikke lægger store
tekstmængder frem med viden om en bestemt periode, men at man
arbejder med aktiviteter, der handler om at forholde sig kritisk
eller undersøgende og kreativt til det.
- System.Web.HttpUnhandledException (0x80004005): An unhandled exception occurred. ---> System.Web.HttpCompileException (0x80004005): c:\home\site\wwwroot\Views\Article\ArticleQuote.cshtml(17): error CS1061: 'Cabana.SDU.Feature.Article.ArticleQuote' does not contain a definition for 'Text' and no extension method 'Text' accepting a first argument of type 'Cabana.SDU.Feature.Article.ArticleQuote' could be found (are you missing a using directive or an assembly reference?)
- at System.Web.Compilation.BuildManager.PostProcessFoundBuildResult(BuildResult result, Boolean keyFromVPP, VirtualPath virtualPath)
- at System.Web.Compilation.BuildManager.GetBuildResultFromCacheInternal(String cacheKey, Boolean keyFromVPP, VirtualPath virtualPath, Int64 hashCode, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultFromCacheInternal(VirtualPath virtualPath, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
- at System.Web.Compilation.BuildManager.GetCompiledType(VirtualPath virtualPath)
- at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
- at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
- at Sitecore.Mvc.Pipelines.MvcEvents.Exception.ShowAspNetErrorMessage.ShowErrorMessage(ExceptionContext exceptionContext, ExceptionArgs args)
- at Sitecore.Mvc.Pipelines.MvcEvents.Exception.ShowAspNetErrorMessage.Process(ExceptionArgs args)
- at (Object , Object )
- at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
- at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
- at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
- at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs](String pipelineName, TArgs args)
- at Sitecore.Mvc.Filters.PipelineBasedRequestFilter.OnException(ExceptionContext exceptionContext)
- at System.Web.Mvc.ControllerActionInvoker.InvokeExceptionFilters(ControllerContext controllerContext, IList`1 filters, Exception exception)
- at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
- at System.Web.Mvc.Controller.ExecuteCore()
- at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
- at Sitecore.Mvc.Controllers.ControllerRunner.ExecuteController(Controller controller)
- at Sitecore.Mvc.Controllers.ControllerRunner.Execute(TextWriter writer)
- at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Render(Renderer renderer, TextWriter writer, RenderRenderingArgs args)
- at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Process(RenderRenderingArgs args)
- at Helpfulcore.RenderingExceptions.Pipelines.RenderRendering.ExecuteRenderer.Process(RenderRenderingArgs args)
Det er også vigtigt at få viden om, at de her teknologier er en del
af mange professioner. For eksempel bruger redaktioner allerede
ChatGPT til at producere artikler. Jeg mener, at det er vigtigt at
vide, at der er sådanne praksisser, som er en del af en profession.
ChatGPT udgør en yderligere eksponering af den tilgængelige viden,
vi har haft via internet i mange år. Mange har debatteret, om
eleverne skal have adgang til internet i undervisningen eller til
eksamen. Argumentet for det er, at man får adgang til en enorm
mængde viden, som man kan inddrage. Men det er klart, det skal ske
kritisk.
7. AI truer vores bogkultur
Med AI bliver vi i endnu højere grad afkoblet fra den viden, som
findes i bøger, som ikke nødvendigvis er digitaliseret. Der er altså
en videnshistorie og en bogkultur, som kan være i risiko for at gå
tabt.