Utilizarea textului fantomă și a următoarelor sugestii de editare pentru a învăța codarea agentică

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

(Acest articol a fost publicat pentru prima dată pe Modele de peisaje maritimeși cu amabilitate a contribuit la R-bloggeri). (Puteți raporta problema legată de conținutul acestei pagini aici)


Doriți să vă distribuiți conținutul pe R-bloggeri? dați clic aici dacă aveți un blog, sau aici dacă nu aveți.

Sunt un mare fan al textului fantomă Github Copilots și al următoarelor sugestii de editare. Ca analist de date, vă oferă mult mai mult control asupra ritmului și direcției codului de analiză decât un agent AI complet. De asemenea, vă permit să exersați abilitățile de bază de care un agent are nevoie de la dvs.: scrierea unei specificații clare.

Îl voi parcurge în R, dar aceleași idei se aplică în orice limbă. Presupun că sunteți pe VScode cu extensia Copilot instalată. Acest lucru ar trebui să funcționeze cu planurile gratuite sau plătite (deși eu nu am verificat gratuit).

Începeți cu text fantomă

Textul fantomă este completarea cu gri care apare pe măsură ce tastați. Să presupunem că aveți un set de date de format lung cu serii temporale pentru trei specii:

library(dplyr)
library(ggplot2)
dat <- data.frame(
    time = rep(1:10, 3),
    species = rep(c("A", "B", "C"), each = 10),
    value = c(rnorm(10, mean = 5), rnorm(10, mean = 10), rnorm(10, mean = 15))
)

Doriți să filtrați la o singură specie, să adaptați un model liniar la seriile sale temporale, să scoateți panta și să faceți un complot etichetat. Începeți să tastați codul pentru o singură specie și textul fantomă completează restul rândului. Aici am tastat m1 <- lm(value ~ iar Copilot oferă completarea în text transparent (rețineți modificarea imaginii după ~):

Apăsați pe tab pentru a accepta. Lucrând câte o linie, ajungeți cu codul pentru specia A:

datA <- dat |> filter(species == "A")
m1 <- lm(value ~ time, data = datA)
coef(m1)("time")

ggplot(datA, aes(x = time, y = value)) +
    geom_point() +
    geom_smooth(method = "lm", se = FALSE) +
    labs(
        title = "Species A Time Series",
        x = "Time",
        y = "Value"
    )

Observați că încă nu încercăm să fim generali. Ne dezvoltăm ideile pentru un singur caz, specia A. Știm că vom dori să generalizăm mai târziu, dar nu ne facem griji pentru asta acum. Aceasta este aceeași disciplină care îi face pe agenți să funcționeze bine: obțineți mai întâi un caz concret, apoi automatizați-l.

Activați următoarele sugestii de editare

Sugestiile de editare următoare merg cu un pas mai departe decât textul fantomă. În loc să completeze linia pe care te afli, Copilot prezice următoarea modificare pe care veți dori să o faceți în altă parte și te îndreaptă către el.

Faceți clic pe pictograma octocat din dreapta jos a ferestrei VScode și porniți Următorul Sugestii de editare. Recomand să oprești acest lucru de cele mai multe ori – distrag atenția când sugerează modificări pe care nu le dorești – și să-l pornești pentru joburi ca aceasta.

Acum faceți clic deasupra codului speciei A și începeți să tastați numele unei funcții pentru a o include. De îndată ce scriu fit_fun <- function(species_name) antet, Copilot observă că hardcoded "A" trebuie schimbat și îl semnalează cu o săgeată în jgheab:

Apăsați pe tab și vă ghidează prin editările necesare pentru a generaliza. Se înlocuiește species == "A" cu species == species_nameiar mai jos rescrie titlul intrigii din literal "Species A Time Series" la a paste() apel care construiește titlul din species_name:

Parcurgeți fiecare sugestie și ajungeți la o funcție generalizată funcțională:

fit_fun <- function(species_name) {
    datA <- dat |> filter(species == species_name)
    m1 <- lm(value ~ time, data = datA)
    coef(m1)("time")

    ggplot(datA, aes(x = time, y = value)) +
        geom_point() +
        geom_smooth(method = "lm", se = FALSE) +
        labs(
            title = paste("Species", species_name, "Time Series"),
            x = "Time",
            y = "Value"
        )
}

fit_fun("A")

Codul cu o singură specie a fost specificația și apoi Copilot a făcut munca mecanică de generalizare a acestuia. Acesta este o schelă bună pentru a vă gândi la programarea agentică, în care scrieți o specificație clară, iar agentul face automatizarea.

Marea diferență față de un agent adevărat este că textul fantomă și următoarea editare nu rulează codul dvs. R și nu repetă pentru a remedia erorile. Ei doar prezic editări. Dar asta le face un loc sigur pentru a-și dezvolta abilitățile.

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.