Perhaps the most important skill for a 1C analyst is a good knowledge of the capabilities of both the platform itself and everything that interacts with it. Nowadays, everything is changing very quickly. We have to follow the heroes of L. Carroll “to run with all my might.” Large language models and GPT technology “thundered” just a few months ago, but now they are beginning to influence the 1C ecosystem. Here I will try to quickly bring you up to date.
This reference does not claim to be exhaustive. If you want to dive deep into the issue and have no problems with the English language, then it is best to turn to the Arxiv preprint collection. I will tell as concisely as possible only the most significant.
Artificial neural networks have been known for a long time (this year marks 80 years). They have been used with great success and continue to be used to solve a variety of problems: pattern recognition, forecasting, management, etc.
One of these tasks should be highlighted in particular. It’s about natural language recognition. It all started with the desire to create a model that can translate from one language to another. It seemed like a private matter. But it quickly became clear that it was impossible to achieve high-quality translation without teaching the model to understand the language (whatever that means). This immediately “raised the bar”, as well as the ambitions of the researchers.
A lot of effort has been put in. An important milestone was the creation of the so-called. recurrent neural networks or networks with memory. The fact is that you can not translate the text simply by words, one after another. Word order matters a lot. Therefore, neural networks were invented that “remember” that there were two words ago, three words, etc. almost to the beginning of the paragraph. I must say that at one time it was a breakthrough. The results of the language models have improved quite dramatically.
But this kind of sophisticated design created another obstacle. On their basis, it was impossible to create truly large models. That is, it was possible to create something, but it became unrealistic to wait for the end of their training.
In 2017, Google engineers proposed an idea that was amazingly simple, and, as it turned out, just as amazingly effective. Instead of memorizing what happened first and what then, you must immediately mark all the words in the text with serial numbers. This is how the technology of the language model, which is called the transformer, appeared. This technology made it possible to parallelize the learning process and create very large language models.
And then it turned out that “size matters.” Large language models began to be understood. The question of what “understanding” is can be approached from a philosophical point of view. And here we are guaranteed to come to nothing. Or you can approach it from a purely practical standpoint. If something can continue what we started, then it understands us. And, in particular, it can answer our questions. Because every answer is nothing but a continuation of the question.
What Large Language Models Can Do
I think you have already heard about the possibilities of large language models. In dealing with all this, it is useful to remember that in a sense, these models are something like T9 on steroids. The quality of the answer to your question depends on:
how much has been said about this on the Internet
how good was this tryndez
what was included in the training sample
Therefore, it should not be surprising that large language models successfully pass all kinds of exams. They were “fed” the corresponding textbooks. And this, we note, is the simplest action. A textbook or a scientific article is a well-prepared data in itself. More difficult with content from social networks. They say that in one of the previous iterations of creating language models of OpenAI, they took all Reddit posts marked with at least three “stars”, but subsequently abandoned this mechanistic approach.
A lot depends on the right data for training. Ideally, it should be many, many question-correct answer pairs. There is a resource on the network from which you can extract such pairs in huge quantities. I think you have heard-know about Stackoverflow. It was from there that a significant part of the data was taken to train large language models. As a result, modern large language models are best at writing code. I mean, they do a lot of things. But writing code is the best quality. Often, this code can be immediately executed, without any changes. And SQL code is almost always executed. And this is not surprising. The scope of SQL is narrower than that of other programming languages, and there are almost more ready-made data for training.
It is commonly said that large language models are great helpers for programmers. But in the case of SQL, they are helpers for anyone. Including for those who are far from programming. Now anyone can communicate with databases in the “said what you need, got what you need” mode.
What does this mean for 1C
Now let’s move on to 1C. Is it possible to ask a large language model to write code in the 1C:Enterprise language? Can. And it even writes something. It can’t refuse at all. But the result will be close to deplorable. It’s about the training sample. At OpenAI, Russian accounts for less than 1% of the entire array of training data. For the same reasons, it makes no sense to ask to make a query to the database in the 1C:Enterprise query language.
Will anything change in the near future? Hardly. Even if someone trains a large language model mainly in Russian, where will he get well-prepared data for the 1C query language in the same amount as for SQL?
The above is not an insurmountable obstacle. There are two ways to solve the problem. First, you can translate SQL into the 1C query language. The 1C query language is a dialect of SQL. Quite outdated and odd, but still a dialect. Translating SQL into 1C is not a super difficult task. By the way, the reverse translator from 1C to SQL has been working fine for a long time.
Secondly, you can transfer data from the 1C database to a regular database, such as PostgreSQL or MySQL. And to fulfill requests on this basis.
Whichever way we go, the query result can be presented to the user in response to his natural language question. How reliable will it work? If we set ourselves the goal of finding the boundaries of the application of this technology, then we will certainly find them. There are a number of tasks that are not so easy to solve through the query language. There are tasks that are simply formulated, but are difficult to solve. For example, “For each item, find the last three sales.” You can always find something that “feels” a large language model. But so what?
Let’s look at all this from the other side. How many practical, urgent problems can this technology solve for the user? What percentage of real requests will be fulfilled, and what will remain unanswered? The real user questions are mostly simple. They are not a problem for a large language model. But getting an answer to them in the usual way in typical configurations is not so easy. For example, there is such a fairly simple type of query: “what product was not sold last week?” or “Which counterparty didn’t pick up the item last month?” Surprisingly, nowhere in typical 1C configurations will you find an opportunity for the user to get an answer to these simple questions. At the same time, a large language model will easily return the correct query text in response to questions of this type.
Already now in 1C it is possible to reach practical results from the new technology of large language models. The main thing is not to search for “low-hanging fruits”, trying to get the result from the model immediately in the 1C language. Organize the work according to one of the two proposed scenarios and surprise users with something completely unusual for them. He said what he needed, he got what he needed.
What project management methodology to choose for a major implementation of the 1C system. You can find out about this at free lesson from OTUS, where modern approaches to project management for the implementation of 1C systems will be considered. Teachers will tell you which technology to choose in each specific project. After the lesson, you will know how applicable Agile methods are in project management for the implementation of 1C systems and what role the 1C analyst plays in projects performed using different project technologies.
All the cases presented in the lesson are the experience of real large automation projects.