Шілдеде компаниядан рефералдық серіктестермен жұмыс істейтін қызметкер кетті: шарттар, актілер, шоттар, келісулер, төлемдер. Орнына адам іздемедік. 5 қыркүйек, сенбіде мен бұл процесті GPTunneL ішіндегі TunnelCode агентіне қарапайым сөзбен сипаттап бердім. Жексенбіде конвейер өндіріске шықты. 7 қыркүйек, дүйсенбіде ол арқылы алғашқы нағыз серіктес өтті, менің тарапымнан бірде-бір хабарламасыз. Компанияда толық ставка ұстап отырған функцияға үш күн.
Төменде қадам бойынша талдау: адам нақты не істеді, оны алмастыру қалай құрылған, бұл қанша тұрды және неге бірде-бір серіктестің жеке куәлігі нейрожеліге түспеді. Бұл модельге шолу да, промпт жазу нұсқаулығы да емес. Бұл бөлімінде осыған ұқсас процесі бар басшыға арналған кейс.
Адам не істеді: жеті қадам және төрт жүйе
GPTunneL рефералдық бағдарламасы қарапайым: серіктес клиенттерді әкеледі және олардың төлемдерінен пайыз алады. Қиындық сол пайызды серіктестің шотындағы ақшаға айналдыру керек жерден басталады: шартпен, актімен, шотпен және заң бойынша.
Тірі қызметкер кезінде бір төлем былай көрінетін.
- Серіктес жеке кабинетінде төлемге өтінім қалдырады.
- Қызметкер ортақ қоймадан шарт үлгісін алып, серіктестің деректемелерін толтырады.
- Заңгерге тапсырма ашып, келісуін күтеді.
- Шартты серіктеске жіберіп, қол қойылған сканды немесе электрондық қолтаңбаны күтеді.
- Серіктестен акт пен шот сұрайды. Фрилансер әдетте оларды қалай құрастыруды білмейді, хат алмасу шеңбер бойымен жүреді.
- Төлемге тапсырма ашып, оны үш келісушіден өткізеді.
- Бухгалтерге тапсырады, фрилансерден қосымша чек сұрайды.
Жеті қадам, төрт жүйе, әр қадамда күту. Қызметкер нашар болғандықтан емес, ол жалғыз, оның жұмыс күні және оннан астам басқа тапсырмасы бар. Жұма кешке келген өтінім дүйсенбіге дейін жоқ болып есептеледі.
Неге жаңа менеджер жалдау қате болар еді
Процесті шешімдерге бөлсек, онда адам қабылдайтын шешім екеу ғана екені анықталады: заңгердің шартты келісуі және төлемді келісу. Екеуін де басқа адамдар қабылдайтын. Оған қоса платформадағы бір техникалық әрекет, серіктестің балансынан шегеру. Қалғанының бәрі деректерді бір жүйеден екіншісіне көшіру және күту.
Қызметкер шешім қабылдайтын адамдар арасындағы диспетчер болды. Жаңа менеджер сол кезекті, сол жұмыс күнін және процесс тоқтап тұратын сол екі апта демалысты мұра етіп алар еді. Алмастыруға тұрарлық нәрсе адам емес, диспетчер рөлі болды.
Спецификацияға бір кеш, кодқа бір күн
Әдеттегі мағынадағы «енгізу» болған жоқ. Бір кеш болды, сол кеште біз TunnelCode-пен спецификация жаздық: серіктестер кімдер (жеке тұлғалар, фрилансерлер, жеке кәсіпкерлер), шарт қандай үлгілерден жиналады, кім нені келіседі, тапсырмалар қай жүйелерде тұрады. Агент спецификацияны 17 тапсырмаға бөліп, біздің бэкендтің ішінде Python тілінде детерминирленген сервис жазды, 281 автотестпен.
Нәтижесінде не шықты.
Өтінім — бұл веб-форма. Серіктес оны бір рет толтырады: мәртебесі, деректемелері. Мөлшерлемені көрсетудің қажеті жоқ: бот пайыз бен рефералдар санын біздің аналитика бойынша тексереді. Форманың жауабы тапсырма трекеріне тапсырма болып түседі, сол сәттен бастап өтінімді бот жүргізеді.
Шарт заңгерлердің үлгісінен жиналады. Бұрын адам толтыратын маркерлерді енді код толтырады: салық нөмірінде қате жоқ, күні компанияның уақыт белдеуі бойынша, деректемелер дұрыс формада. Заңгер docx және pdf қоса берілген дайын тапсырманы алып, келісуін қояды.
Серіктеске шарт қоса берілген хат кетеді. Сканмен жауап сол тапсырмаға пікір болып түседі. Электрондық құжат айналымын қолданатын жеке кәсіпкерлер оның орнына сол жерге шақыру алады.
Акт пен шотты бот өзі дайындайды, өтінім сомасына, қол қойылған шарт бойынша. Серіктеске акт деген не екенін білудің енді қажеті жоқ.
Төлемге тапсырма автоматты түрде ашылады, акт пен шот тіркелген күйде. Келісушілер толық жиынтықты бірден көреді.
Кез келген қадамда үнсіздік болса, бот еске салады. Бір хатпен емес, сатылы тізбекпен, әр кезеңге өз еске салу лимитімен.

Бот қызметкерден қай жерде ұтады
«Адамнан кем емес» емес, жақсырақ, міне қай тармақтар бойынша.
| Бұрын: қызметкер | Қазір: бот | |
|---|---|---|
| Өтінімге реакция | жұмыс уақытында, қолы жеткенде | бірден, тәулік бойы, демалыс күндерін қоса |
| Акт пен шот | серіктестен сұрайды, серіктес құрастыра алмайды | өтінім сомасына өзі дайындайды |
| Мөлшерлеме мен рефералдар саны | админкадан қарап, қолмен көшіреді | серіктес идентификаторы бойынша аналитикадан алады |
| Деректемелердегі қателер | салық нөміріндегі қате, ескі күн | маркерлерді код толтырады, күні дұрыс уақыт белдеуінде |
| Еске салулар | «жазуды ұмытып кеттім» | әр кезең бойынша сатылы тізбек |
| Деректерді өңдеуге келісім | шарттағы бір дана | әр өтінім бойынша күні мен құжат нұсқасы |
| Бір өтінімнің орнына он өтінім | апталарға созылатын кезек | сол бірнеше минут |
| Демалыс, ауру, жұмыстан кету | процесс тоқтайды | болмайды |
Келісім туралы жол — жеке әңгіме. Заңгер келісім логтарын әлдеқашан сұраған. Тірі қызметкер оларды жүргізген жоқ: жаман ниетпен емес, жай ғана мұны қолмен ешкім жүргізбейді. Бот әр өтінім бойынша келісім күні мен құжат нұсқасын жазады, себебі бұл оған ештеңе тұрмайды.
Күтілгеннен маңыздырақ болып шыққан екінші нәрсе: бот қажет емес жерде бастама көрсетпейді. Шартқа деректер жетіспесе, ол ойдан қоспайды, тоқтап, нақты не жоқ екенін жазады. Адам бұл жерде әдетте кейін нақтылауға уәде береді.
Адамдарға не қалды
Шешімдер. Заңгер шартты келіседі, оның келісуіне дейін не қол қою, не серіктеске жіберу болмайды. Төлем үш келісушісі бар тапсырма арқылы жүреді. Платформада серіктестің балансынан шегеруді хабарлама бойынша мен өзім жасаймын.
| Рөл | Не істейді | Боттан не алады |
|---|---|---|
| Серіктес | форманы бір рет толтырады, шартқа қол қояды | дайын шарт, акт пен шот, келесі қадам туралы еске салулар |
| Заңгер | шартты келіседі | docx және pdf қоса берілген тапсырма, келісім логтары |
| Төлемді келісушілер | келісуін қояды | акт пен шот тіркелген тапсырма |
| Бухгалтер | төлемді өткізеді | құжаттардың толық жиынтығы, фрилансердің чегі |
| Басшы | серіктестің балансынан шегереді | бәрі келісілгенде хабарлама |
Бот заңгерді де, бухгалтерді де емес, диспетчерді алмастырды. Айырмашылығы, енді олардың шешімдері арасында күту жоқ.
Бұл қанша тұрды
Демалыс күндері және TunnelCode спецификация мен кодқа жұмсаған токендер. Пайдаланған көлемге қарай төлем, жазылымсыз. Әзірлеу менеджердің бір жұмыс күнінен арзанға түсті.
Одан кейін нөл. Орындау кезінде нейрожелі жоқ, сондықтан әрбір келесі өтінім ештеңе тұрмайды. Бұл негізгі мәселе: қызметкермен бірге кеткен процесс білімі кодқа бір рет көшіріледі және әр серіктеске қайта жұмсалмайды.
Салыстыру үшін: менеджердің ставкасы тек жалақы емес. Бұл сонымен қатар әр төлемге бір аптадан бір айға дейін уақыт, актіні қалай құрастыруды білмейтін серіктестер және екі апта демалысқа тоқтап қалатын процесс.
«Сіздер серіктестердің жеке куәліктерін нейрожеліге бердіңіздер»
Бұл мен естіген алғашқы қарсылық. Бермедік. Нейрожелі код жазды, жеке куәліктерді оқыған жоқ: бұл қолжетімділігі әртүрлі екі бөлек агент.
Әзірлеуші ретінде TunnelCode процестің сипаттамасын алды: деректемелердің орнына маркерлер қойылған шарт үлгілері, админканың сипаттамасы, кезектер құрылымы, келісу ережелері. Тесттік өтінімдер — ойдан шығарылған фрилансер мен жеке кәсіпкер, шартты сомамен. Бірде-бір нағыз тегі жоқ.
Орындаушы ретіндегі бот — модельге сұраныссыз қарапайым код. Деректемелерді серіктес форма өрістеріне мәтінмен енгізеді, скандар жай файл ретінде сақталады, хаттар аты қойылатын үлгілер. Жеке деректерді өңдеудің бүкіл контуры тірі қызметкер кезіндегі орнында қалды: форма сервисі, тапсырма трекері, корпоративтік пошта, өз хостингіміздегі Postgres. Схемада бірде-бір жаңа өңдеуші жоқ, демек келісімде бірде-бір жаңа жол жоқ және трансшекаралық беру жоқ.
Модельге жеке куәлік фотосын тануды тапсыру азғыруы болды. Одан бас тарттық: бұл бөлек құқықтық негіз, деректерді қорғау реттеушісіне бөлек хабарлама және бөлек істен шығу нүктесі, бәрі серіктес құжат нөмірін қолмен термеу үшін. Нашар мәміле. Конвейердің бірде-бір қадамы онда модель жоқ болғандықтан нашарлаған жоқ.
Бұл заң кеңесі емес, өз жағдайыңызды заңгеріңіз қарайды. Бірақ принцип кез келген автоматтандыруға көшеді: процесті құратын агентке процесс керек. Оны орындайтын кодқа деректер керек. Бұл әртүрлі нәрселер, олардың қолжетімділігі де әртүрлі болуы тиіс.
Қайталасаңыз не дұрыс болмайды
- Спецификация жалпылама жазылған. Агент сипатталғанды адал орындайды. Сипаттамада «серіктес қолы қойылмаған скан жіберді» жағдайы болмаса, алғашқы сондай серіктестен кейін ботты толықтыруға тура келеді. Ерекшеліктерді тізуге кеткен бір сағат күндерді үнемдейді.
- Шешімдер де ботқа берілген. Шарт пен төлемді келісу адамдарда қалуы тиіс, әйтпесе деректемелердегі алғашқы қате серіктеске, одан әрі бухгалтерияға кетеді.
- Орындау кезінде модель қалдырылған. Әр өтінім ақша тұра бастайды, ал жауаптар детерминирленбеген болады. Модель әзірлеу кезеңінде керек, орындауда код жеткілікті.
- Нағыз деректер тесттерге түсті. Тесттік серіктестер басынан бастап ойдан шығарылған болуы тиіс, әйтпесе жеке деректер әзірлеу контексіне түседі.
Дүйсенбіде не істеу керек
Бір адам жүргізетін бір процесті алып, оны бірінші бөлімдегідей қадам бойынша жазып шығыңыз. Онда нағыз шешімдер қайда, ал деректерді көшіру мен күту қайда екенін белгілеңіз. Шешім екеу-үшеу, ал қадам жетеу болса, бұл дәл осындай конвейерге үміткер.
Оны сол тәсілмен құруға болады: TunnelCode — GPTunneL ішіндегі әзірлеу агенті. Ол жобаны тұтас көреді, бір мезгілде ондаған файлды түзетеді, тесттерді іске қосады, қателерді оқып, өзі түзетеді. Жазылымсыз, пайдаланған көлемге қарай төлем. Процесс күрделірек болса немесе оны сипаттауға көмек керек болса, енгізу бойынша консалтинг бар, компанияларға арналған шарттар корпоративтік қолжетімділік бетінде, модельдердің бағасы прайста.
GPTunneL рефералдық бағдарламасы бұл ретте ашық: серіктес әкелген клиенттердің төлемдерінен пайыз алады. Төлемдер енді сипатталған конвейер бойынша жүреді: формадағы өтінім, заңгерлер үлгісі бойынша шарт, акт пен шотты бот дайындайды, еске салулар өздігінен келеді.
