Effektiv agentlərin yaradılması

Son bir il ərzində biz müxtəlif sənaye sahələrində böyük dil modeli (LLM) agentləri quran onlarla komanda ilə işləmişik. Ardıcıl olaraq, ən uğurlu tətbiqlər mürəkkəb framework-lar və ya ixtisaslaşdırılmış kitabxanalardan istifadə etmirdilər. Bunun əvəzinə, onlar sadə, tərkib edilə bilən pattern-lərlə qurulurdular.

Bu yazıda müştərilərimizlə işləyərək və özümüz agentlər quraraq öyrəndiklərimizi paylaşırıq və tərtibatçılara effektiv agentlər qurmaq üçün praktiki məsləhətlər veririk.

Agentlər nədir?

"Agent" bir neçə şəkildə təyin edilə bilər. Bəzi müştərilər agentləri mürəkkəb tapşırıqları yerinə yetirmək üçün müxtəlif alətlərdən istifadə edərək uzun müddət ərzində müstəqil işləyən tam avtonom sistemlər kimi təyin edirlər. Digərləri bu termini əvvəlcədən müəyyən edilmiş iş axınlarını izləyən daha reseptiv tətbiqlər üçün istifadə edirlər. Anthropic-də biz bütün bu variasiyaları agent sistemləri kimi təsnif edirik, lakin iş axınları ilə agentlər arasında mühüm arxitektura fərqi qoyuruq:

  • İş axınları — LLM-lər və alətlərin əvvəlcədən müəyyən edilmiş kod yolları vasitəsilə orkestrləşdirildiyi sistemlərdir.
  • Agentlər isə LLM-lərin öz proseslərini və alət istifadəsini dinamik şəkildə idarə etdiyi, tapşırıqları necə yerinə yetirəcəklərinə nəzarəti saxladığı sistemlərdir.

Aşağıda hər iki agent sistemi növünü ətraflı araşdıracağıq. 1-ci Əlavədə ("Praktikada agentlər") müştərilərin bu cür sistemlərdən istifadə etməkdə xüsusi dəyər tapdığı iki sahəni təsvir edirik.

Agentlərdən nə vaxt (və nə vaxt yox) istifadə etməli

LLM-lərlə tətbiqlər qurarkən mümkün olan ən sadə həlli tapmağı və yalnız lazım olduqda mürəkkəbliyi artırmağı tövsiyə edirik. Bu, ümumiyyətlə agent sistemləri qurmamaq demək ola bilər. Agent sistemləri çox vaxt daha yaxşı tapşırıq performansı üçün gecikmə və xərc baxımından güzəştə gedir və bu güzəştin nə vaxt məna kəsb etdiyini nəzərə almalısınız.

Daha çox mürəkkəblik lazım olduqda, iş axınları yaxşı müəyyən edilmiş tapşırıqlar üçün proqnozlaşdırılabilirlik və ardıcıllıq təklif edir, agentlər isə miqyasda çeviklik və model tərəfindən idarə olunan qərar qəbuluna ehtiyac olduqda daha yaxşı seçimdir. Bununla belə, bir çox tətbiq üçün retrieval və kontekstdaxili nümunələrlə tək LLM çağırışlarını optimallaşdırmaq adətən kifayətdir.

Framework-ları nə vaxt və necə istifadə etməli

Agent sistemlərini tətbiq etməyi asanlaşdıran bir çox framework var, o cümlədən:

Bu framework-lar LLM-ləri çağırmaq, alətləri müəyyən etmək və təhlil etmək, çağırışları bir-birinə bağlamaq kimi standart aşağı səviyyəli tapşırıqları sadələşdirərək işə başlamağı asanlaşdırır. Lakin onlar çox vaxt əsas prompt-ları və cavabları gizlədən əlavə abstraksiya təbəqələri yaradır ki, bu da debug etməyi çətinləşdirir. Həmçinin daha sadə bir qurulum kifayət edəcəyi halda mürəkkəblik əlavə etməyə vadar edə bilərlər.

Tərtibatçılara birbaşa LLM API-ləri ilə başlamağı təklif edirik: bir çox pattern bir neçə sətir kodla tətbiq edilə bilər. Əgər framework istifadə edirsinizsə, əsas kodu başa düşdüyünüzə əmin olun. "Kaputun altında" nə olduğu barədə yanlış fərziyyələr müştəri xətalarının ümumi mənbəyidir.

Bəzi nümunə tətbiqlər üçün cookbook-umuza baxın.

Tikinti blokları, iş axınları və agentlər

Bu bölmədə istehsalda gördüyümüz agent sistemləri üçün ümumi pattern-ləri araşdıracağıq. Əsas tikinti blokumuz olan təkmilləşdirilmiş LLM ilə başlayacaq və sadə kompozisiya iş axınlarından avtonom agentlərə qədər tədricən mürəkkəbliyi artıracağıq.

Tikinti bloku: Təkmilləşdirilmiş LLM

Agent sistemlərinin əsas tikinti bloku retrieval, alətlər və yaddaş kimi təkmilləşdirmələrlə gücləndirilmiş LLM-dir. Mövcud modellərimiz bu imkanları aktiv şəkildə istifadə edə bilir — öz axtarış sorğularını yaradır, uyğun alətləri seçir və hansı məlumatı saxlamağı müəyyən edir.

Təkmilləşdirilmiş LLM

Tətbiqin iki əsas aspektinə diqqət yetirməyi tövsiyə edirik: bu imkanları konkret istifadə halınıza uyğunlaşdırmaq və LLM-iniz üçün asan, yaxşı sənədləşdirilmiş interfeys təmin etmək. Bu təkmilləşdirmələri tətbiq etməyin bir çox yolu olsa da, bir yanaşma yaxınlarda buraxdığımız Model Context Protocol vasitəsilədir ki, bu da tərtibatçılara sadə client tətbiqi ilə genişlənən üçüncü tərəf alətləri ekosistemi ilə inteqrasiya etməyə imkan verir.

Bu yazının qalan hissəsində hər bir LLM çağırışının bu təkmilləşdirilmiş imkanlara çıxışı olduğunu fərz edəcəyik.

İş axını: Prompt zəncirlənməsi

Prompt zəncirlənməsi tapşırığı addımlar ardıcıllığına parçalayır, burada hər bir LLM çağırışı əvvəlkinin çıxışını emal edir. Prosesin hələ də doğru yolda olduğunu təmin etmək üçün istənilən aralıq addıma proqramatik yoxlamalar ("gate" — aşağıdakı diaqramda) əlavə edə bilərsiniz.

Prompt zəncirlənməsi iş axını

Bu iş axınını nə vaxt istifadə etməli: Bu iş axını tapşırığın asanlıqla və təmiz şəkildə sabit alt tapşırıqlara parçalana biləcəyi vəziyyətlər üçün idealdır. Əsas məqsəd hər bir LLM çağırışını daha asan tapşırığa çevirərək gecikmə hesabına daha yüksək dəqiqlik əldə etməkdir.

Prompt zəncirlənməsinin faydalı olduğu nümunələr:

  • Marketinq mətni yaratmaq, sonra onu başqa dilə tərcümə etmək.
  • Sənədin planını yazmaq, planın müəyyən meyarlara cavab verdiyini yoxlamaq, sonra plana əsasən sənədi yazmaq.

İş axını: Marşrutlaşdırma

Marşrutlaşdırma girişi təsnif edir və onu ixtisaslaşdırılmış sonrakı tapşırığa yönləndirir. Bu iş axını məsuliyyətlərin ayrılmasına və daha ixtisaslaşdırılmış prompt-ların qurulmasına imkan verir. Bu iş axını olmadan, bir növ giriş üçün optimallaşdırma digər girişlər üzrə performansı zəiflədə bilər.

Marşrutlaşdırma iş axını

Bu iş axınını nə vaxt istifadə etməli: Marşrutlaşdırma ayrı-ayrılıqda daha yaxşı idarə olunan fərqli kateqoriyaları olan mürəkkəb tapşırıqlar üçün yaxşı işləyir və burada təsnifat LLM və ya daha ənənəvi təsnifat modeli/alqoritmi tərəfindən dəqiq şəkildə idarə oluna bilər.

Marşrutlaşdırmanın faydalı olduğu nümunələr:

  • Müxtəlif növ müştəri xidməti sorğularını (ümumi suallar, geri ödəmə tələbləri, texniki dəstək) fərqli aşağı axın proseslərinə, prompt-lara və alətlərə yönləndirmək.
  • Asan/ümumi sualları Claude Haiku 4.5 kimi daha kiçik, xərc-effektiv modellərə, çətin/qeyri-adi sualları isə Claude Sonnet 4.5 kimi daha güclü modellərə yönləndirərək ən yaxşı performans üçün optimallaşdırmaq.

İş axını: Paralelləşdirmə

LLM-lər bəzən tapşırıq üzərində eyni vaxtda işləyə bilər və onların çıxışları proqramatik şəkildə birləşdirilə bilər. Bu iş axını — paralelləşdirmə — iki əsas variasiyada özünü göstərir:

  • Bölmələndirmə: Tapşırığın paralel işləyən müstəqil alt tapşırıqlara bölünməsi.
  • Səsvermə: Müxtəlif çıxışlar əldə etmək üçün eyni tapşırığın bir neçə dəfə icra edilməsi.

Paralelləşdirmə iş axını

Bu iş axınını nə vaxt istifadə etməli: Paralelləşdirmə bölünmüş alt tapşırıqlar sürət üçün paralel icra oluna bildikdə və ya daha yüksək etibarlı nəticələr üçün çoxsaylı perspektivlər və ya cəhdlər lazım olduqda effektivdir. Çoxsaylı mülahizələri olan mürəkkəb tapşırıqlar üçün LLM-lər hər bir mülahizənin ayrıca LLM çağırışı tərəfindən idarə olunduğu zaman ümumiyyətlə daha yaxşı performans göstərir və bu, hər bir konkret aspektə diqqəti cəmləşdirməyə imkan verir.

Paralelləşdirmənin faydalı olduğu nümunələr:

  • Bölmələndirmə:
    • Bir model instansiyasının istifadəçi sorğularını emal etdiyi, digərinin isə onları uyğunsuz məzmun və ya tələblər üçün yoxladığı qoruyucu qaydaların tətbiqi. Bu, eyni LLM çağırışının həm qoruyucu qaydaları, həm də əsas cavabı idarə etməsindən daha yaxşı performans göstərməyə meyllidir.
    • LLM performansını qiymətləndirmək üçün eval-ların avtomatlaşdırılması, burada hər bir LLM çağırışı verilmiş prompt üzrə modelin performansının fərqli aspektini qiymətləndirir.
  • Səsvermə:
    • Kodun zəifliklər üçün nəzərdən keçirilməsi, burada bir neçə fərqli prompt kodu yoxlayır və problem tapdıqda işarələyir.
    • Verilmiş məzmunun uyğunsuz olub-olmadığının qiymətləndirilməsi, burada çoxsaylı prompt-lar fərqli aspektləri qiymətləndirir və ya yanlış müsbətlər ilə mənfilər arasında tarazlıq üçün fərqli səsvermə hədləri tələb edir.

İş axını: Orkestrləşdirici-işçilər

Orkestrləşdirici-işçilər iş axınında mərkəzi LLM tapşırıqları dinamik şəkildə parçalayır, onları işçi LLM-lərə həvalə edir və nəticələrini sintez edir.

Orkestrləşdirici-işçilər iş axını

Bu iş axınını nə vaxt istifadə etməli: Bu iş axını lazım olan alt tapşırıqları əvvəlcədən proqnozlaşdıra bilmədiyiniz mürəkkəb tapşırıqlar üçün çox uyğundur (məsələn, kodlaşdırmada dəyişdirilməli olan faylların sayı və hər bir fayldakı dəyişikliyin xarakteri tapşırıqdan asılıdır). Topoloji olaraq oxşar olsa da, paralelləşdirmədən əsas fərqi onun çevikliyidir — alt tapşırıqlar əvvəlcədən müəyyən edilmir, orkestrləşdirici tərəfindən konkret girişə əsasən təyin olunur.

Orkestrləşdirici-işçilərin faydalı olduğu nümunə:

  • Hər dəfə çoxsaylı fayllarda mürəkkəb dəyişikliklər edən kodlaşdırma məhsulları.
  • Mümkün əlaqəli məlumat üçün çoxsaylı mənbələrdən məlumat toplayan və təhlil edən axtarış tapşırıqları.

İş axını: Qiymətləndirici-optimallaşdırıcı

Qiymətləndirici-optimallaşdırıcı iş axınında bir LLM çağırışı cavab yaradır, digəri isə dövrədə qiymətləndirmə və rəy təmin edir.

Qiymətləndirici-optimallaşdırıcı iş axını

Bu iş axınını nə vaxt istifadə etməli: Bu iş axını aydın qiymətləndirmə meyarlarımız olduqda və iterativ təkmilləşdirmənin ölçülə bilən dəyər təmin etdiyi hallarda xüsusilə effektivdir. Yaxşı uyğunluğun iki əlaməti var: birincisi, insan öz rəyini ifadə etdikdə LLM cavablarının nümayiş etdirilə bilən şəkildə yaxşılaşdırıla bilməsi; ikincisi, LLM-in belə rəy təmin edə bilməsi. Bu, insan yazıçısının cilalanmış sənəd hazırlayarkən keçə biləcəyi iterativ yazı prosesinə bənzəyir.

Qiymətləndirici-optimallaşdırıcının faydalı olduğu nümunələr:

  • Tərcüməçi LLM-in ilkin olaraq tutmaya biləcəyi nüansların olduğu, lakin qiymətləndirici LLM-in faydalı tənqidlər təmin edə biləcəyi ədəbi tərcümə.
  • Hərtərəfli məlumat toplamaq üçün çoxsaylı axtarış və təhlil turları tələb edən mürəkkəb axtarış tapşırıqları, burada qiymətləndirici əlavə axtarışların lazım olub-olmadığına qərar verir.

Agentlər

LLM-lər əsas qabiliyyətlərdə — mürəkkəb girişləri başa düşmək, mühakimə və planlaşdırma ilə məşğul olmaq, alətlərdən etibarlı istifadə etmək və xətalardan bərpa olmaq — yetkinləşdikcə agentlər istehsalda meydana çıxır. Agentlər işlərini ya insan istifadəçidən əmr alaraq, ya da onunla interaktiv müzakirə apararaq başlayırlar. Tapşırıq aydın olduqdan sonra agentlər müstəqil planlaşdırır və fəaliyyət göstərir, potensial olaraq əlavə məlumat və ya mühakimə üçün insana qayıdırlar. İcra zamanı agentlərin öz irəliləyişini qiymətləndirmək üçün hər addımda mühitdən "həqiqi məlumat" (məsələn, alət çağırışı nəticələri və ya kod icra nəticələri) əldə etmələri çox vacibdir. Agentlər daha sonra yoxlama nöqtələrində və ya maneələrlə qarşılaşdıqda insan rəyi üçün fasilə verə bilərlər. Tapşırıq adətən tamamlandıqda başa çatır, lakin nəzarəti qorumaq üçün dayandırma şərtlərinin (məsələn, maksimum iterasiya sayı) daxil edilməsi də adi haldır.

Agentlər mürəkkəb tapşırıqları idarə edə bilər, lakin onların tətbiqi çox vaxt sadədir. Onlar adətən dövrədə mühit rəyinə əsasən alətlərdən istifadə edən LLM-lərdir. Buna görə də alət dəstlərini və onların sənədlərini aydın və düşünülmüş şəkildə dizayn etmək çox vacibdir. Alət inkişafı üçün ən yaxşı təcrübələri 2-ci Əlavədə ("Alətləriniz üçün Prompt mühəndisliyi") genişləndiririk.

Avtonom agent

Agentləri nə vaxt istifadə etməli: Agentlər tələb olunan addımların sayını proqnozlaşdırmağın çətin və ya mümkün olmadığı və sabit yol kodlaşdıra bilmədiyiniz açıq uçlu problemlər üçün istifadə edilə bilər. LLM potensial olaraq çoxsaylı turlar ərzində işləyəcək və onun qərar qəbuluna müəyyən səviyyədə etibar etməlisiniz. Agentlərin avtonomluğu onları etibarlı mühitlərdə tapşırıqları miqyaslaşdırmaq üçün ideal edir.

Agentlərin avtonom xarakteri daha yüksək xərclər və birləşən xətalar potensialı deməkdir. Sandbox mühitlərində geniş test aparılmasını, müvafiq qoruyucu qaydalarla birlikdə tövsiyə edirik.

Agentlərin faydalı olduğu nümunələr:

Aşağıdakı nümunələr öz tətbiqlərimizdəndir:

Kodlaşdırma agentinin yüksək səviyyəli axını

Bu pattern-lərin birləşdirilməsi və fərdiləşdirilməsi

Bu tikinti blokları reseptiv deyil. Onlar tərtibatçıların müxtəlif istifadə hallarına uyğun formalaşdıra və birləşdirə biləcəyi ümumi pattern-lərdir. Uğurun açarı, istənilən LLM xüsusiyyətlərində olduğu kimi, performansı ölçmək və tətbiqləri iterasiya etməkdir. Təkrar edirik: mürəkkəblik əlavə etməyi yalnız nəticələri nümayiş oluna bilən şəkildə yaxşılaşdırdıqda nəzərdən keçirməlisiniz.

Xülasə

LLM sahəsində uğur ən mürəkkəb sistemi qurmaq deyil. Ehtiyaclarınız üçün doğru sistemi qurmaqdır. Sadə prompt-larla başlayın, onları hərtərəfli qiymətləndirmə ilə optimallaşdırın və çox addımlı agent sistemlərini yalnız sadə həllər kifayət etmədikdə əlavə edin.

Agentləri tətbiq edərkən üç əsas prinsipə riayət etməyə çalışırıq:

  1. Agentinizin dizaynında sadəliyi qoruyun.
  2. Agentin planlaşdırma addımlarını açıq şəkildə göstərərək şəffaflığa üstünlük verin.
  3. Hərtərəfli alət sənədləşdirməsi və testi vasitəsilə agent-kompüter interfeysini (ACI) diqqətlə hazırlayın.

Framework-lar sürətli başlanğıc etməyinizə kömək edə bilər, lakin istehsala keçərkən abstraksiya təbəqələrini azaltmaqdan və əsas komponentlərlə qurmaqdan çəkinməyin. Bu prinsiplərə riayət etməklə yalnız güclü deyil, həm də etibarlı, dəstəklənə bilən və istifadəçiləri tərəfindən etibar edilən agentlər yarada bilərsiniz.

Təşəkkürlər

Erik Schluntz və Barry Zhang tərəfindən yazılmışdır. Bu iş Anthropic-də agentlər qurmaq təcrübəmizə və müştərilərimizin paylaşdığı dəyərli fikirlərə əsaslanır, bunun üçün dərindən minnətdarıq.

Əlavə 1: Praktikada agentlər

Müştərilərlə işimiz yuxarıda müzakirə olunan pattern-lərin praktiki dəyərini nümayiş etdirən AI agentləri üçün iki xüsusilə perspektivli tətbiq aşkar etdi. Hər iki tətbiq agentlərin həm söhbət, həm də hərəkət tələb edən, aydın uğur meyarları olan, rəy dövrələrinə imkan verən və mənalı insan nəzarətini inteqrasiya edən tapşırıqlar üçün ən çox dəyər əlavə etdiyini göstərir.

A. Müştəri dəstəyi

Müştəri dəstəyi tanış chatbot interfeyslərini alət inteqrasiyası vasitəsilə təkmilləşdirilmiş imkanlarla birləşdirir. Bu, daha açıq uçlu agentlər üçün təbii uyğunluqdur, çünki:

  • Dəstək qarşılıqlı əlaqələri təbii olaraq söhbət axınına uyğun gəlir, eyni zamanda xarici məlumat və hərəkətlərə çıxış tələb edir;
  • Müştəri məlumatlarını, sifariş tarixçəsini və bilik bazası məqalələrini çəkmək üçün alətlər inteqrasiya edilə bilər;
  • Geri ödəmələr vermək və ya biletləri yeniləmək kimi hərəkətlər proqramatik şəkildə idarə edilə bilər; və
  • Uğur istifadəçi tərəfindən müəyyən edilmiş həllər vasitəsilə aydın şəkildə ölçülə bilər.

Bir neçə şirkət yalnız uğurlu həllər üçün ödəniş tələb edən istifadəyə əsaslanan qiymətləndirmə modelləri vasitəsilə bu yanaşmanın mümkünlüyünü nümayiş etdirərək agentlərinin effektivliyinə inamını göstərmişdir.

B. Kodlaşdırma agentləri

Proqram təminatı inkişafı sahəsi LLM xüsusiyyətləri üçün əhəmiyyətli potensial göstərmişdir, imkanlar kod tamamlamadan avtonom problem həllinə doğru inkişaf etmişdir. Agentlər xüsusilə effektivdir, çünki:

  • Kod həlləri avtomatlaşdırılmış testlər vasitəsilə doğrulana bilər;
  • Agentlər test nəticələrini rəy kimi istifadə edərək həllər üzərində iterasiya edə bilərlər;
  • Problem sahəsi yaxşı müəyyən edilmiş və strukturlaşdırılmışdır; və
  • Çıxış keyfiyyəti obyektiv şəkildə ölçülə bilər.

Öz tətbiqlərimizdə agentlər indi yalnız pull request təsvirinə əsaslanaraq SWE-bench Verified benchmark-unda real GitHub issue-larını həll edə bilirlər. Lakin avtomatlaşdırılmış testlər funksionallığı doğrulamağa kömək etsə də, həllərin daha geniş sistem tələblərinə uyğunluğunu təmin etmək üçün insan nəzərəti hələ də çox vacibdir.

Əlavə 2: Alətləriniz üçün prompt mühəndisliyi

Hansı agent sistemini qursanız da, alətlər çox güman ki, agentinizin mühüm hissəsi olacaq. Alətlər Claude-a API-mizdə dəqiq struktur və təriflərini göstərərək xarici xidmətlər və API-lərlə qarşılıqlı əlaqə qurmağa imkan verir. Claude cavab verdikdə, aləti çağırmağı planlaşdırırsa, API cavabına alət istifadə bloku daxil edəcək. Alət tərifləri və spesifikasiyalarına ümumi prompt-larınız qədər prompt mühəndisliyi diqqəti verilməlidir. Bu qısa əlavədə alətləriniz üçün prompt mühəndisliyini necə etməyi təsvir edirik.

Eyni hərəkəti göstərməyin çox vaxt bir neçə yolu var. Məsələn, fayl düzəlişini diff yazaraq və ya bütün faylı yenidən yazaraq göstərə bilərsiniz. Strukturlaşdırılmış çıxış üçün kodu markdown daxilində və ya JSON daxilində qaytara bilərsiniz. Proqram mühəndisliyində bu kimi fərqlər kosmetikdir və itkisiz şəkildə birindən digərinə çevrilə bilər. Lakin bəzi formatları LLM-in yazması digərlərindən xeyli çətindir. Diff yazmaq yeni kod yazılmazdan əvvəl chunk header-ında neçə sətrin dəyişdiyini bilməyi tələb edir. JSON daxilində kod yazmaq (markdown ilə müqayisədə) yeni sətirlərin və dırnaq işarələrinin əlavə qaçırılmasını tələb edir.

Title: Effektiv agentlərin qurulması (2-ci hissə)

Content:

Alət formatlarının seçilməsi üçün təkliflərimiz aşağıdakılardır:

  • Modelə özünü çıxılmaz vəziyyətə salmadan əvvəl "düşünmək" üçün kifayət qədər token verin.
  • Formatı modelin internetdə təbii şəkildə rast gəldiyi mətinlərə yaxın saxlayın.
  • Minlərlə kod sətrinin dəqiq sayını izləmək və ya yazdığı kodu string-escape etmək kimi formatlaşdırma "yükü"nün olmamasını təmin edin.

Bir əsas qayda — insan-kompüter interfeyslərinin (HCI) yaradılmasına nə qədər səy sərf edildiyini düşünün və yaxşı agent-kompüter interfeyslərinin (ACI) yaradılmasına da eyni qədər səy ayırmağı planlaşdırın. Bunu necə etmək barədə bəzi düşüncələr:

  • Özünüzü modelin yerinə qoyun. Təsvir və parametrlərə əsasən bu aləti necə istifadə etmək aydındırmı, yoxsa diqqətlə düşünməli olardınız? Əgər belədirsə, bu, ehtimal ki, model üçün də eynidir. Yaxşı alət tərifi çox vaxt istifadə nümunələrini, xüsusi halları, giriş format tələblərini və digər alətlərdən aydın fərqləri əhatə edir.
  • Hər şeyi daha aydın etmək üçün parametr adlarını və ya təsvirlərini necə dəyişdirə bilərsiniz? Bunu komandanızdakı gənc bir developer üçün əla docstring yazmaq kimi düşünün. Bu, xüsusilə çox sayda oxşar alət istifadə edərkən vacibdir.
  • Modelin alətlərinizi necə istifadə etdiyini test edin: Modelin hansı səhvlər etdiyini görmək üçün workbench-də çoxsaylı nümunə girişlər işlədin və iterasiya edin.
  • Alətlərinizə Poka-yoke tətbiq edin. Arqumentləri elə dəyişdirin ki, səhv etmək daha çətin olsun.

SWE-bench üçün agentimizi qurarkən, biz əslində alətlərimizi optimallaşdırmağa ümumi prompt-dan daha çox vaxt sərf etdik. Məsələn, agent kök qovluğundan çıxdıqdan sonra modelin nisbi fayl yolları istifadə edən alətlərlə səhvlər etdiyini aşkar etdik. Bunu həll etmək üçün aləti həmişə mütləq fayl yolları tələb edəcək şəkildə dəyişdirdik — və modelin bu metodu qüsursuz istifadə etdiyini gördük.

{{relatedArticles}}