Salesforce atvēra pirmkodu valodai Agent Script, ar ko AI aģenta darbību pieraksta kā programmu, nevis kā garu instrukciju modelim. Repozitorijs GitHub savācis 253 zvaigznes un 50 forkus, un pēdējais no 22 laidieniem iznāca 10. jūnijā. Kods ir ar Apache 2.0 licenci un 96,6% rakstīts TypeScript.
Doma ir tāda: aģentam, kas apkalpo klienta pieprasījumu, valoda ļauj noteikt, kad runā modelis un kas notiek pirms un pēc tā. Modelis atbild par saprašanu — ko cilvēks grib, kāda ir problēma. Kods atbild par gaitu — vai klients ir verificēts, uz kuru tēmu novirzīt sarunu, kuru darbību izsaukt. Salesforce to sauc par izpildes atdalīšanu no specifikācijas.
Kāpēc ar promptu vien nepietiek
Līdz šim Agentforce aģentu uzvedību noteica teksta instrukcija, ko modelis interpretē katrā sarunā no jauna. Rezultāts svārstās. Komandas mēģina to labot, pievienojot instrukcijai arvien vairāk teikumu ar ALWAYS un NEVER, bet tāds prompts kļūst trausls un to nevar normāli notestēt. DEV Community analīzē autors to formulē tieši: tavs kods kontrolē, kad notiek modeļa spriešana un kas notiek pēc tās.
Praktiskais piemērs no dokumentācijas — atbalsta aģents. Pirms modelis vispār sāk spriest, kods pārbauda klienta identitāti. Ja klients nav verificēts, saruna tālāk neiet. Kad modelis ir sapratis, par kādu produktu ir runa, novirzīšanu uz pareizo tēmu izlemj skaidri uzrakstīts noteikums. Modelis to nedara.
Kā izskatās kods
Sintakse ir bloku bāzēta un jutīga pret atkāpēm, tuvu Python vai YAML. Aģenta identitāti apraksta config un system bloki, izpildes uzvedību — topic un start_agent. Stāvokli glabā tipizēti mainīgie, piemēram, customer_verified: mutable boolean = False. Uz mainīgajiem un darbībām atsaucas caur @, tātad @variables.case_id vai @actions.verify_customer.
Loģikas serde ir trīs āķi ap modeļa izsaukumu. Bloks before_reasoning palaiž pārbaudes un vārtus, pirms modelis kaut ko saka. Bloks reasoning padod modelim kontekstu. Bloks after_reasoning uzspiež pāreju atkarībā no tā, ko modelis atbildēja. Tā izstrādātājs precīzi izvēlas vietu uz skalas starp cietu determinismu un brīvu spriešanu.
Vairums aģentu atrodas kaut kur pa vidu — daļu lēmumu pieņem kods, daļu atstāj modelim.
Salīdzinājumam: parastā promptā šādi vārti izskatītos pēc teikuma stilā “NEVER answer before the customer is verified”, un modelim tas katru reizi jāatceras pašam. Agent Script tā vietā ieliek before_reasoning blokā pārbaudi uz @variables.customer_verified. Ja tā ir False, saruna līdz modelim nemaz nenonāk. Kad verifikācija ir nokārtota, after_reasoning pēc produkta kategorijas iestata nākamo tēmu. Novirzīšana notiek koda līmenī, un to var izsekot soli pa solim, neminot, ko modelis “domāja”.
Darbības (actions) piesienas pie esošajiem Agentforce rīkiem — Apex, Flow, MuleSoft API — bez pārrakstīšanas. Aģents, kas jau prot izsaukt @actions.verify_customer_identity, turpina to darīt, tikai tagad izsaukuma brīdi nosaka skripts.
Kāpēc uzņēmumiem tas rūp
Ieguvums ir auditējamība un testējamība. Pārejas loģiku var pārklāt ar vienībtestiem, stāvokļa maiņas ieraksta audita pēdās, bet novirzīšanas noteikumu var mainīt, neaizskarot promptu. Nozarēs ar stingru regulējumu tas ir svarīgāk par pašu modeļa gudrību, jo revidents grib redzēt, kāpēc aģents rīkojās tā, kā rīkojās. Bankā vai apdrošināšanā atbilde “modelis tā nolēma” neder; skripts turpretī parāda konkrēto zaru, pa kuru saruna aizgāja, un mainīgo vērtības tajā brīdī. Tāpat izmaiņu var izlaist cauri koda recenzijai, tāpat kā jebkuru citu commitu.
Ap valodu jau ir rīki. Repozitorijs iekļauj parseri un kompilatoru, Language Server Protocol implementāciju, VS Code paplašinājumu ar autopabeigšanu un validāciju, Monaco redaktora atbalstu un izmēģinājumu vidi ar grafa vizualizāciju un AST pārlūku. Linteris pašlaik pārbauda kodu ar vairāk nekā 18 diagnostikas caurlaidēm. Valodai ir trīs dialekti: bāzes agentscript, kā arī agentforce un agentfabric.
Ko atvērtais kods dod un ko ne
Bet ir viena robeža. Atvērts ir viss ap valodu, bet ne izpildvide. Skriptu var noparsēt, nolintot, nokompilēt un ap to būvēt savus rīkus, taču pašu aģentu palaišanai vajag Salesforce izpildvidi. Tas nozīmē, ka valodas specifikāciju un tās parsēšanu var lietot brīvi, bet reālu aģentu bez Salesforce mākoņa nepalaidīsi.
Agent Script tapa publiski pieejams jau aprīlī, bet Summer ’26 laidienā valoda un jaunais Agentforce Builder kļuva vispārīgi pieejami. No 13. jūlija nedēļas poga jauna aģenta izveidei Setup vairs neatver veco redaktoru. Salesforce izstrādātāju dokumentācija Agent Script apraksta kā pirmo skriptu valodu tieši AI aģentiem, kas apvieno dabiskās valodas instrukcijas ar programmatiskiem izteikumiem biznesa noteikumu izpildei.
Salesforce nav vienīgā, kas mēģina ielikt AI aģentu lēmumus stingrā rāmī, taču atvērt visu valodas priekšpusi ar Apache 2.0 licenci ir konkrēts solis. Nākamais pārbaudījums ir vienkāršs: cik izstrādātāju ārpus Salesforce ekosistēmas paņems parseri un uzbūvēs kaut ko, kas palaiž skriptus bez to mākoņa.
Avoti
- salesforce/agentscript — GitHub repozitorijs
- Agent Script — Agentforce Developer Guide
- Agent Script: Salesforce’s Open Language for Deterministic Agent Orchestration — DEV Community
- Agent Script: Scripting Language for Reliable AI Agents — Salesforce
- The Salesforce Developer’s Guide to the Summer ’26 Release
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.