Udhëzues · Agjentët e AI · · nga Stefan Tsezarov
Jepini agjentit tuaj një opinion të dytë përpara se të veprojë
Ju i kërkoni agjentit tuaj kodues të rregullojë një ndërtim. Ai lexon README, kontrollon një temë problematike dhe gjen një sugjerim:
Një rregullim i besueshëm. Një ndryshim i vogël. Agjenti përgatit komandën e instalimit.
Por kjo vizë që mungon ka rëndësi. crossenv ishte një paketë e vërtetë me qëllim të keq, e hequr nga npm në 2017 pasi u zbulua se po vidhte variabla të mjedisit - ku zhvilluesit e vendeve shpesh mbajnë çelësa dhe shenja.
Shkëmbimi i mësipërm është një shembull. Paketa nuk ishte.
01 Kur një sugjerim bëhet komandë
Agjentët kodues lexojnë shumë tekste që mund të mos i shihni kurrë: dokumentacion, komente për çështjet, faqe në internet dhe mesazhe gabimi. Ky kontekst i ndihmon ata të zgjidhin problemet. Gjithashtu mund t'i drejtojë ata drejt një varësie të keqe.
Instalimi i një pakete meriton kujdes të veçantë. Paketat npm mund të përfshijnë skriptet që ekzekutohen gjatë instalimit, kështu që kodi mund të ekzekutohet përpara se të keni mundësi ta inspektoni.
Mbrojtësi i parainstalimit të SaveSaveSaveSave shton një kontroll në atë pikë. Përpara se të ekzekutohet një komandë instalimi e mbështetur, ajo kërkon paketën dhe zbaton një politikë që keni zgjedhur.
02 Çfarë ndodh me një instalim?
Konsideroni tre komanda që një agjent mund të propozojë.
Një paketë regjistri që nuk ngre flamuj
npm install cross-env
Roja lejon që komanda të vazhdojë. Kërkesa juaj e zakonshme e miratimit vazhdon të zbatohet. Kjo do të thotë se kontrollet nuk gjetën arsye për të kundërshtuar; nuk është një garanci që paketa është e sigurt.
Një paketë e raportuar si me qëllim të keq
cd app && npm install --save-dev crossenv
Roja e mohon komandën dhe i thotë agjentit pse. Ai e njeh instalimin edhe kur ai ndjek një komandë tjetër.
Kodi i marrë direkt nga GitHub
npx github:someone/setup-script
Në modalitetin e paracaktuar, roja kërkon shqyrtim njerëzor. Një URL Git bie jashtë kontrolleve të saj të regjistrit npm, kështu që nuk mund të japë të njëjtin vlerësim.
Komandat e mbështetura përfshijnë instalimet përmes npm, pnpm, yarn, dhe bun, së bashku me npx, npm ci, zinxhirët e komandës duke përdorur &&, dhe komandat e mbështjella bash -c "…".
03 Ju zgjidhni rregullat
Skanimi siguron prova: çfarë kontrolloi, çfarë gjeti dhe çfarë nuk mundi të vlerësonte. Një politikë që ekzekutohet në kompjuterin tuaj përcakton se çfarë do të ndodhë më pas.
Zgjidhni një nga tre mënyrat:
| Modaliteti | Raportuar keqdashës | Kujdes ose të dhëna të pamjaftueshme | Kontrolli dështon ose burimi është jashtë regjistrit |
|---|---|---|---|
| observe | Lejo dhe raporto | Lejo | Lejo |
| roje · e paracaktuar | Moho | Pyet një njeri | Pyet një njeri |
| strict | Moho | Moho | Moho |
Përdorni vëzhgoni për të parë se si sillet roja në rrjedhën tuaj të punës. Zgjidhni roje për të bllokuar paketat e njohura me qëllim të keq dhe për të shqyrtuar raste të pasigurta. Zgjidhni strikte kur një rezultat jo përfundimtar duhet të ndalojë instalimin.
Një rezultat i pastër nuk heq kurrë një miratim që agjenti juaj do të kërkonte ndryshe.
04 Shtoje në rrjedhën tënde të punës
Për Kodin Claude, shtoni këtë grep në .claude/settings.json të projektit tuaj. Nëse skedari tashmë përmban cilësime, bashkoni grepin në to.
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "npx -y savesavesavesave@0.1.5 hook claude-code --mode observe"
}
]
}
]
}
}
The hook kontrollon komandat e propozuara të Bash. Komandat pa instalim të njohur kalojnë.
Për një agjent ose skript tjetër, vendosni rojen përpara komandës së instalimit:
npx savesavesavesave@0.1.5 guard --mode guard -- npm install some-package
Kodet e tij të daljes i tregojnë integrimit tuaj se si të vazhdohet:
0: lejohet1: kërkoni rishikim njerëzor2: mohoj
Integrimi juaj duhet të respektojë ato rezultate.
Agjentët me mbështetje MCP mund të kërkojnë gjithashtu kontrolle drejtpërdrejt. Udhëzimet e konfigurimit të klientit janë në faqen Për agjentët .
Nuk kërkohet asnjë llogari ose çelës API. Shembujt fiksojnë një version që të mund të rishikoni një version specifik përpara se ta përdorni.
05 Dije se çfarë mbulon çeku
Roja lexon informacionin e publikuar nga regjistri npm dhe OSV.dev. Nuk e shkarkon ose ekzekuton paketën dhe aktualisht mbulon paketat npm, jo ekosistemet si PyPI ose crates.io.
Kjo lë disa kufizime praktike:
- Kontrollon komandat e mbështetura që merr. Instalimet e fshehura brenda skedarëve të skriptit, menaxherët e paketave të pambështetura ose binarët e shkarkuar mund të jenë jashtë pamjes së tij. Kufizimet më të forta kërkojnë kontrolle në rrjetin e agjentit dhe aksesin në sistemin e skedarëve.
- Një kërcënim i paraportuar mund të kalojë. “Asnjë kundërshtim” do të thotë që kontrollet e disponueshme nuk gjetën ndonjë rrezik të njohur.
- Ganpi duhet të funksionojë që politika të funksionojë. Nëse përdorni modalitetin e rreptë, ndiqni udhëzimet e paketës README për bllokimin e komandave kur vetë grepa nuk fillon.
Një agjent kodues mund të rregullojë shpejt një ndërtim. Ai gjithashtu mund të veprojë shpejt pas një sugjerimi bindës nga dikush që nuk e njihni.
Përpara se ai sugjerim të ketë akses në kompjuterin tuaj, jepni një mendim të dytë.
Hapi juaj i ardhshëm: shtoni grepin në modalitetin e vëzhgimit, rishikoni rezultatet e tij dhe zgjidhni politikën që i përshtatet rrjedhës suaj të punës.