Галоўная / Артыкулы

Пішам агента: як працуе цыкл агента

Пішам агента з нуля, каб зразумець яго цыкл: як мадэль, выклікі інструментаў і назіранні чаргуюцца, калі цыкл спыняецца і што можа пайсці не так.

Выдавец: REACTAPP.TOP3 хв чытання600 слоў

Крыніцы: Coding an Agent: Cracking Agent Loops

Наступныя прытамлівкі паказваюць практычны падход да рэшэння задачы «Програмаванне агента: разбіранне цыклама агента». Акцэнт ставіцца на контракты, пераканальванняя тэсты і месця для вставкі коду, а не на мотывацыйныя аспекты.

struct Latched {
    /// The repeating block, as bytes: a period can split a multi-byte
    /// character, so this is never treated as text.
    block: Vec<u8>,
    /// Stream offset just past the last confirmed copy.
    end: usize,
    /// Copies confirmed so far, counting the ones the warn rung matched.
    cycles: usize,
}

Чэрткі для выканання

Этап 0 прытамлівкі па зміцнэнню найбольш эфектыўны, калі яго розглядаць як вімерную плошчу. Запісаўце адна ідэальная версія, адзін прыклад неудачы і прытамлівку па адвярнэнню працы пры расшырэнні масштаба. Валіце маленькія, тэставаныя елементы замест амаль неконтрольваных скрыптав. Калі якісь крок не выйшаў, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцужок дзеянняў.

Дэталі зміцнэння 0/911: вымерыце час выканання, класію каштоўкаў і колькасць токенаў, выкарыстоўваных для гэтай прытамлівкі, а пасля рашыце, чы хацяце застаўіць змяну, стварыўшы фіксаваны набор пытанняў, а не спакойна разглянуўшы адзін прыклад.

Для першага пасэгу з ударожвання неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крытэрыя завершэння пры зміне коду. Аператары должны магчыма ўвайсці крок з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Запісвайце час выканання і вартасьць токена або запыту паляглі разам з функцыйнальнымі рэзультатамі. Відразліва візуабельнасьць вартасцей запобегае неспакоўным рахункам, калі працэс пераходзіць з дэмаверсіі ў спяльныя асяроддзя.

Дзеянні з ударожвання 1/911: змерыце час выканання, класію паказакоў і вітраты токена для гэтага пасэгу, а потым вынікніце, чы хацяце застаўіць зміны, адпаведна фіксаванаму набору пытанняў, а не індывідуальным спазыркам.

Для этапы 0 пры паўжэйшанні захоўнасці неабходна пазначыць вхідныя даны, адпаведальнага за крок і крытэрыя завершэння пры змены коду. Аператары должны магчымае перзапускаць крок з вядомай точкі контролю, не прабуючы спадарацца пра схованы стан. Конфігурацыю трэба захаваць праз аплікацыйны код. Файлы сераўіса, хранальнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць, не чытаючы весь код.

Дзялейны пункт паўжэйшання захоўнасці 0/930: змерыце час выканання, класію адказаў і колькасць выкорыстоўваных токенав для гэтага пункту, а потым вынікніце, чы робіць змену на аднойчынных крытэрыях, а не на асоціяцыях.

Калі працюеце над першым этапам зміцнення, спачатку запісайце умовы кантракта: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі спіс контроля дапамагае залічыць пазнейшыя змены коду адкрыта і прозрачна. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына невыпання павінна вказываць на адзін конкрэтны аспект, а не на заплутаны ланцюг задач.

Дзеянне зміцнення 1/930: звярніце увагу на час выканання, класы каштоўкаў і вітрату токенав для гэтага пункту, а потым вырашыце, чы робіць змену на адной основе фіксаванага набора пытанняў, а не на адной лячбе.