In this demo, Kalle Mäkelä from Eficode illustrates the transformative potential of Generative AI in software development. By utilizing AI-driven agents in roles such as Product Owner and Developer, the workflow efficiently analyzes user stories, generates specifications, ensures compliance, and produces functional code with minimal effort.
Speakers
Kalle Mäkelä
Kalle is an automation-driven engineer who drives BEVs, marvels at space whenever he can, and always looks on the bright side of life.
Transcript
Hello all, my name is Kalle. I come from Eficode, where I work as the Lead AI Consultant. My job here today is to show you what we have been building or basically experimenting on regarding generative AI and software engineering. What you're about to see is a demo built on top of Jeta. We are using agents to drive software development from customer requirements to specifications, to technical design, and in the end, writing up some code. This is a POC demo, and this is only the beginning.
First of all, let's actually start explaining a little bit about what LLMs and retrieval augmented generation functionality with the LLMs are all about. Foundationally, LLMs are a snapshot done in the past, so they cannot have the data that you are now experiencing when you are reading this or seeing this video. They are inherently always trained on the data that you use, and because of that, you need to always retrain it if you want to include data that is not included in the training set before.
For example, here you can have a question about what your company's marketing strategy is. In Eficode's context, it doesn't know, so what we do to fix it is to build functionality called retrieval augmented generation next to the large language model. This means that when we ask about some data or what you have in the LLM, we see that it doesn't know that data, so we augment the data and the context when we ask again. We will retrieve from your data sources, etc., information, and then generate an answer with the LLM.
This is a very simple architectural picture of what we have in the demo. In the background, we have the large language model, which is the OpenAI model we are using, and it is quite good at what we are doing in the demo context. In your business context, it's not so easy. We are going to have different roles that will be run as agents to actually have the queries done automatically with code, and then we will store the information and the response in the end.
Let's go to the demo. Here you can see a very simple Kanban board with two tickets. The first ticket is access to RAG. We don't have any Confluence in this case; we have everything we need in the Jira ticket itself to make this demo as simple as possible. We are actually operating this Coit solution company, which is a kind of Amazon startup from 25 years ago when they had a database and books they wanted to sell to the market.
Our data is within this ticket, which means we have all of the background information for the company. Our mission, which is very important when we make decisions based on requirements and specifications, will direct our agents in the right direction. We have defined the agents themselves: a Product Owner agent, a Data Protection Officer, which comes from the EU GDPR directive, meaning that we will check business domain and non-functional requirements when we work on what we are going to implement.
Now, I have a new GET routine here. We are going to get all of the books that have the least amount of sales. I hope it's the least amount of sales. Then I have a tag for sale, so I'm going to get a list of books here and tag them to be sold. We have the test cases for mock purchase history, and I have a couple of test data books here. With a quick glance, it looks to be okay.
Of course, now comes the fun part, which is validation QA. As you saw in the end, you have unit tests, but in reality, what you had in the beginning was specifications, and many of you may guess that these scenarios are user acceptance testing cases. You can do manual testing with this, or you can automate these test cases to be your end-to-end test cases. In this case, we had all of the end-to-end test cases as API test cases, but you could have UI components here as well. Thank you for your time, and see you around.
- DevOps
- AI
- Other
Related videos