Leben ein Jahr nach der Einführung von Robotern: Gleichheit wird nicht verlangt

Aufstieg der Roboter. Es scheint etwas Unglaubliches zu sein. Und selbst wenn es wahrscheinlich ist, wird es bald passieren. Es ist jedoch eine Überlegung wert - das Personal der Roboter bei unseren Partnern wuchs in einem Jahr um 22 Autos. Und sie werden eindeutig nicht aufhören. Und plötzlich läuft das nächste Upgrade nicht mehr nach Plan und der Roboter gibt es auf. Oder sagen Sie, dass er es satt hatte, in der Buchhaltung zu arbeiten. Weitere Details unter dem Schnitt!



Button - Backoffice für Unternehmer. Wir führen die Buchhaltung durch, lösen rechtliche Probleme und nehmen die Routine weg.

Dieser Artikel ist eine Fortsetzung davon: Aufstieg der Maschinen: Wie Roboter die Buchhaltung erfassten .

Ich gebe dem Autor das Wort.

Wie viele Roboter und warum brauchen sie uns?


Jetzt werden regelmäßig 64 Roboter gestartet. Wir brauchen Roboter nicht nur für die intellektuelle Arbeit, sondern auch für das tägliche Verbrennen von Töpfen. Zum Beispiel, um Statistiken zu sammeln und Informationen von 1C für unsere Anwendung zu überwachen. Roboter helfen dabei, Müll nach anderen Robotern abzurechnen und sogar aufzuräumen.

Um die Arbeit eines Buchhalters zu automatisieren, arbeiten wir eng mit Datenbanken in 1C zusammen. Wir probieren dafür verschiedene Möglichkeiten aus. Wir werden es genauer erzählen.

Interoperabilität durch COM. Historisch gesehen ist dies der erste Weg, auf dem wir eine Interaktion herstellen konnten. Wir haben zuverlässige Arbeit beim Schreiben in die 1C-Datenbank erhalten, aber wir haben die Nachteile erfüllt:

  • Verbindungen werden für eine lange Zeit hergestellt, manchmal frieren sie ein oder brechen unerwartet ab.
  • Sie müssen eine separate Verbindung zu jeder 1C-Basis herstellen. Das Umgehen aller Basen kann Stunden dauern.

Interaktion über die postgreSQL-Datenbank mit einem Übersetzer. Dieser Ansatz gab uns ein allgemeines Bild des Zustands der 1C-Datenbanken jedes Clients. Gibt es beispielsweise doppelte Gegenparteien oder falsch gebuchte Dokumente?

Vorteile:

  • Die Verbindung zur Datenbank ist sehr schnell.
  • Sie können sofort mit einem ganzen Cluster von 1C-Datenbanken arbeiten, wodurch sich die Verarbeitungsgeschwindigkeit um Größenordnungen erhöht.

Nachteile:

  • Es funktioniert nur beim Lesen aus der Datenbank. Theoretisch können auch Aufzeichnungsarbeiten durchgeführt werden, aber dafür müssen Sie die gesamte 1C-Logik wiederholen - dies ist unpraktisch.
  • Die Entwicklung ist zeitaufwändiger und die Prozessunterstützung komplizierter als bei der COM-Methode.

Interaktion über OData. Versuchte es vor kurzem.

Vorteile:

  • Kein Problem mit Einfrieren oder unterbrochenen Verbindungen

Nachteile:

  • Die erste Operation dauert merklich länger als die nachfolgenden, obwohl die Verbindung schnell hergestellt wird.
  • Investitionen in die Interaktionsinfrastruktur sind erforderlich, um sie so bequem wie bei COM nutzen zu können.
  • Für die Verwaltung von 1C sind zusätzliche Anstrengungen erforderlich, insbesondere beim Aktualisieren der Konfiguration.

Interaktion über Webdienste. Dieser Ansatz wurde vor relativ kurzer Zeit getestet.

Vorteile:

  • Es funktioniert schnell und ohne Verzögerung.

Nachteile:

  • Wir müssen innerhalb der 1C-Plattform weiterentwickelt werden. Die Umgebung ist für uns nicht standardisiert, daher sind immer noch nicht genügend Kompetenzen vorhanden und zusätzliche Infrastruktur ist erforderlich, um CI vollständig zu implementieren.
  • Wie bei COM und OData können Aufgaben nur innerhalb einer 1C-Datenbank gelöst werden.

Roboter müssen gesteuert werden


Roboter sind unvollkommen. Wie ihre Schöpfer stolpern sie, fallen und brechen. Die Gründe können sehr unterschiedlich sein: falsche Konfiguration von Diensten, Fehler im Code, Probleme auf Hardwareebene - Hardwarefehler. Es ist wichtig, dass wir es so schnell wie möglich herausfinden. Weil es viele Geschäftsprozesse gibt, die an Roboter gebunden sind. Wir haben Überwachungsroboter entwickelt, um alle im Auge zu behalten.

Wir überwachen, wann der Roboter zuletzt gestartet wurde. Wenn wir wissen, dass es einmal pro Stunde beginnen sollte, aber 3 Stunden ruht, ist dies eine Gelegenheit, es anzuregen.

Es kommt vor, dass ein Roboter vorgibt zu arbeiten, aber tatsächlich ist er eingefroren. Um dies zu erfassen, schauen wir in das Tagebuch, das der Roboter über seine Arbeit schreibt. Wenn die Einträge nicht lange genug angezeigt werden, müssen Sie sie neu starten.



Es gibt Roboter, bei denen die Folgen von Fehlern und Abstürzen nicht sofort erkennbar sind. Um festzustellen, dass rechtzeitig etwas nicht stimmte, haben wir Metriken erstellt, die sich auf die Ergebnisse der Arbeit konzentrieren. Also steuern wir die wichtigsten Roboter.

Zum Beispiel ist ein Roboterleiter für uns wichtig. Er stellt sicher, dass eingehende Dokumente in 1C korrekt berücksichtigt werden. Der Roboter macht eine Runde aller 1C-Basen in 3-4 Stunden - einen halben Arbeitstag. Denken Sie daran, dass wir 1300 Unternehmer bedienen. In jeder Runde betritt der Roboter keine Basen. Höchstwahrscheinlich wird der Buchhalter erst am nächsten Tag feststellen, dass der Roboter keine bestimmte Basis untersucht hat.

Dieser Roboter arbeitete an der Auswertung in einer bestimmten Datenbank - eine separate ernste Aufgabe für einen Buchhalter, der neben dem Halten von Dokumenten auch andere Aufgaben für die Buchhaltung und Beratung von Kunden hat. Daher kann dieser Fehler in der Realität erst nach einer Woche oder sogar nach einem Paar festgestellt werden. Und mit der Zeit fehlgeschlagene Dokumente - eine falsch berechnete Steuer.

Daher haben wir den Roboter so eingerichtet, dass er aufzeichnet, welche Basen er wann umrundet hat, und in diesem Fall sehen wir, wie viele, welche Basen der Roboter nicht umgangen hat und wie lange. Infolgedessen machen wir den Buchhalter darauf aufmerksam, wo dies zum richtigen Zeitpunkt erforderlich ist.



Roboter müssen gewechselt werden


In Träumen von einer Roboterzukunft kann man hoffen, dass ein brillanter Roboter, der gerade das Fließband verlassen hat, seine Arbeit für immer erledigt und wir etwas Interessanteres tun können. Im wirklichen Leben ist das nicht so. Die Zeit vergeht und was gestern als angemessene Arbeit erschien, ist heute nicht mehr zufrieden. Die Qualität des Ergebnisses ist nicht, dass es entweder zu langsam arbeitet oder sogar das tut, was in der veränderten Situation bedeutungslos ist. Roboter altern und müssen aktualisiert werden.

Roboterkonsolidierung


Einige Roboter sind mit verwandten Aufgaben beschäftigt, aber ihre Aktionen sind nicht koordiniert oder sie warten lange aufeinander. Wir zerlegen solche Roboter und bauen einen zusammen, der mit allen damit verbundenen Aufgaben beschäftigt ist.

Wir halten immer Roboter, die mit einer Person an einer Aufgabe arbeiten, „im Dienst“, um die Arbeit zu erwarten, die sie von einer Person erhalten.

Nehmen Sie zum Beispiel den Prozess des Konvertierens von Scans von Papierdokumenten in in 1C aufgezeichnete Dokumente. Zuvor machten mehrere Roboter dies zusammen:

  • Ein Bogeyman entpackt Archive in separate Dateien, und PDF mit mehreren Seiten werden zu mehreren Bildern.
  • Der Sortierroboter betrachtet Bilder, kategorisiert und ordnet sie in Ordnern an.
  • Als nächstes erledigt der Erkennungsroboter seine Arbeit.

Nach ihrer Arbeit wird der Hauptbuchhalter angeschlossen, um gegebenenfalls den Roboter zu überprüfen und zu korrigieren. Nach der Person wird ein Roboter angeschlossen, der die Dokumente in 1C speichert, und dann ein Roboterleiter, der sie leitet. Alle diese Roboter wurden im Abfragemodus konfiguriert. Hin und wieder begannen sie nach ihrem eigenen Zeitplan und schauten nach, ob es Arbeit gab. Wenn ja, haben sie es durchgeführt und sind dann wieder eingeschlafen.

Es gibt viele Roboter, daher wurden dem Zeitplan jedes Roboters Zeitverzögerungen hinzugefügt. Es stellte sich heraus, dass es von dem Moment an, als wir das Dokument als solches erkannten und damit begannen, damit zu arbeiten, bevor das fertige Dokument in der 1C-Datenbank erscheint, eine halbe Stunde oder sogar eine Stunde dauern kann. Um den Kunden über den aktuellen Steuersatz für die verfügbaren Dokumente zu informieren, musste der Buchhalter lange warten. Wie möchten Sie dann dem Kunden online antworten?

Für eine neue Lösung haben wir die Roboter für Teile zerlegt und zwei neue zusammengebaut. Der erste verwandelt Archive und PDF-Dateien in Dokumente, die bereits an 1C gesendet werden können. Dann überprüft die Person bei Bedarf die Arbeit - etwas regiert. Der zweite Roboter nimmt das Dokument sofort nach der Überprüfung auf, speichert es und hält es in 1C.

Jetzt ist die Arbeit im Ereignismodell konfiguriert: Roboter befinden sich immer im Standby-Modus und reagieren sofort, wenn eine Person ihren Teil beendet hat.

Roboterverbesserung


Nachdem wir die Zeit für das Halten eines Dokuments in 1C verkürzt haben, ist ein anderes Problem aufgetreten. Wir haben Fälle aufgezeichnet, in denen Dokumente auf unserer Seite verloren gingen. Ich musste sie erneut beim Kunden anfordern, was äußerst unangenehm ist. Lösen Sie jetzt einfach dieses Problem. Und es sieht so aus, als würden wir neue Roboter wieder zerlegen und zusammenbauen.

Wir haben auch neuronale Netze umgeschult, um Dokumente zu klassifizieren und in neuronale und vermaschte zu verwandeln. Dies ergab eine Genauigkeitssteigerung von 1%. Einige hundert weitere Seiten pro Woche erfordern keine menschliche Aufmerksamkeit mehr.

Roboter-Upgrade aufgrund eines Plattformwechsels


Das letzte Mal haben wir darüber gesprochen, warum wir uns entschieden haben, von Java zu Dotnet zu wechseln und wie es war. Vor einem Jahr gab es noch viel Java-Code. Wir haben dieses goldene Gewicht unermüdlich gesägt. Und erst im März konnten sie die Server, auf denen Java lief, vollständig ausschalten. Zusammen mit ihr ging ein Teil der Roboter auch in eine andere Welt.

Neue Roboter


Tegun


Kunden schreiben uns zu verschiedenen Themen. Damit diese Fragen ihren Künstler finden, kategorisieren wir sie mit Tags. Zuerst haben es die Leute gemacht, aber wir haben uns entschlossen, ihre Arbeit zu erleichtern und haben einen Roboter geschrieben. Und sie nannten ihn - テ 軍 (Daegun).

Die erste Version war sehr einfach. Die Arbeit in unserer Bewerbung erfolgt in Form von Korrespondenz mit Filialen. In einem Zweig können mehrere Aufgaben vorhanden sein. Der Roboter kategorisierte - setzen Sie ein Tag, basierend auf dem Tag in dieser Korrespondenz. Offensichtlich hat der Roboter in neuen Filialen, in denen es noch kein Tag gibt, nichts getan. In einer solchen Implementierung verarbeitete der Roboter 40% der Arbeit von Menschen, während er in 10% der Fälle falsch lag.

Damit der Roboter den Künstler in neuen Zweigen bestimmen kann, haben wir ihm das Lesen beigebracht. Zu diesem Zweck verwendeten wir logistische Regression und Gradientenverstärkung zur Vorhersage in Kombination mit tf-idf und WordToVec zum Lesen. Mit der neuesten Version des Roboters konnten 60% der Arbeit von Menschen übernommen werden. Wissen ist Macht! Obwohl der Roboter in 15% der Fälle anfing, Fehler zu machen, kamen die Aufgaben immer schneller zu den Darstellern.

Senden von Berichten


Intelligenz ist nicht immer erforderlich, um die notwendigen und nützlichen Arbeiten auszuführen. Programmierer und Buchhalter wissen, dass Routine bis zu 80% der Zeit in Anspruch nehmen kann. Um beispielsweise einen Bericht an SZV-M zu senden, muss ein Lohnbuchhalter die 1C-Datenbank öffnen, etwa zehn Tasten drücken, Daten in Intervallen eingeben, warten, bis 1C „Alles ist in Ordnung“ anzeigt, und die Datenbank schließen.

Jeder solche Vorgang dauert 5 Minuten. Ein bisschen. Um dies jedoch für alle Button-Kunden zu tun, die einen Bericht benötigen (es gibt ungefähr 600 von ihnen), müssen Sie 5 * 600/60/8 = 6 Arbeitstage ununterbrochener mechanischer Arbeit aufwenden. Mehrere Klonroboter, die ungefähr dasselbe tun, erledigen die Arbeit an einem Tag. Denken Sie daran, dass ein solcher Bericht jeden Monat und Arbeitstage in einem Monat eingereicht werden muss - 20. Ein Drittel der Arbeitszeit eines Buchhalters würde nur für die kontinuierliche Übermittlung des Berichts aufgewendet.

Synchronisation mit 1C


Eine weitere wichtige Klasse von Robotern, die im letzten Jahr aufgetaucht sind, sind Synchronisierer.
Unsere Anwendung enthält Dokumente und Kontoauszüge, die in engem Zusammenhang mit den Daten in 1C-Objekten stehen. Für uns ist es wichtig, dass der Stand der Anwendung so genau wie möglich mit dem Stand der Dinge in 1C übereinstimmt. Wir verwenden dies, um nach Duplikaten zu suchen, bequem nach Objekten zu suchen und den Kunden die richtigen Daten anzuzeigen. Mithilfe der Interaktion über die postgreSQL-Datenbank konnten wir Änderungen in 1C verfolgen und diese schnell in der Anwendungsdatenbank wiedergeben. Derzeit beträgt die zeitliche Diskrepanz nicht mehr als 5 Minuten.

Profitieren Roboter?


Wir können Roboter nicht mehr ablehnen. Sie automatisieren einen wesentlichen Teil der Routine so sehr, dass wir im Kundenstamm wachsen konnten, ohne das Personal der Buchhalter proportional zu erhöhen. Wenn wir unsere Roboter ausschalten, verlieren wir irgendwo sofort 2 Stunden Reaktionszeit und irgendwo machen wir Fehler oder überspringen Fehler.

Unsere Buchhalter konzentrieren sich bereits weitgehend auf Kennzahlen, die das Ergebnis eines bestimmten Roboters anzeigen. Dies ermöglicht es uns, die Berichterstattung einen Monat vor der tatsächlichen Berichterstattung zu „proben“. Planen Sie in realen Tagen, wie viel Zeit wir benötigen, um Berichte zu erstellen und pünktlich zu liefern. Dies ist ein großer Schritt in Richtung Transparenz und Zuverlässigkeit des Rechnungslegungsprozesses für den Kunden.

Trotzdem gibt es nur wenige Roboter, man braucht einen Mann. Weil Roboter ausfallen und repariert werden müssen. Roboter können Fehler machen, sie müssen überprüft und geschult werden. Eine weitere Schwierigkeit ist die Schaffung einer effektiven Interaktion zwischen Robotern und Menschen. Einerseits ist es notwendig, Roboter zu entwickeln, die für den Menschen bequem sind, und andererseits, um den Menschen den Umgang mit ihnen beizubringen.

Vielen Dank für den Artikel von Vasily Chernoyvan.

Source: https://habr.com/ru/post/de413019/


All Articles