Пішам агента: як працуе цыкл агента
Пішам агента з нуля, каб зразумець яго цыкл: як мадэль, выклікі інструментаў і назіранні чаргуюцца, калі цыкл спыняецца і што можа пайсці не так.
Наступныя прытамлівкі паказваюць практычны падход да рэшэння задачы «Програмаванне агента: разбіранне цыклама агента». Акцэнт ставіцца на контракты, пераканальванняя тэсты і месця для вставкі коду, а не на мотывацыйныя аспекты.
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: звярніце увагу на час выканання, класы каштоўкаў і вітрату токенав для гэтага пункту, а потым вырашыце, чы робіць змену на адной основе фіксаванага набора пытанняў, а не на адной лячбе.