FEATURES AND CAPABILITIES OF LLM APPLICATION IN SOFTWARE DEVELOPMENT
DOI:
https://doi.org/10.26906/SUNZ.2024.4.109Keywords:
Large Language Models, artificial intelligence, fine-tuning, vectorization, OpenSourceAbstract
This article explores the roles and capabilities of Large Language Models (LLMs) in software development, ranging from specialized models targeted at specific languages or domains to general models applicable to a wide array of tasks. It provides an overview of the key features of LLMs, emphasizing their potential for deep analysis and text generation, and reveals opportunities for their application across various challenges. The article analyzes primary directions for optimizing interactions with LLMs, which include context management, fine-tuning, information vectorization, leveraging built-in tools from platforms, prompt engineering, zero-shot prompting, few-shot prompting, chain-of-thought prompting, directional stimulus prompting, prompts using domain-specific prompts (dsp), prompts without using dsp, tree of thought prompting, reward prompting, Developer-driven LLMs, Repository-driven LLMs, and Project-driven LLMs. It details the advantages and disadvantages of both commercial and open-source models. Strategies for utilizing LLMs by developers are presented, drawing on personal experiences with LLMs and ideas yet to be realized. Special attention is given to developer-oriented concepts that provide support and responses based on large datasets and project context, including coding habits, preferences for specific technologies or libraries, and even specific domain knowledge that developers apply in their routine work. The necessity of considering who will use the model−whether developers, clients, or end-users−is emphasized, highlighting the importance of adapting the level of access to information based on the audience. Potential issues that developers may encounter when working with LLMs are identified, including the generation of irrelevant responses, misinformation or "hallucinations," as well as biases and delays in accounting for recent events. The human factor is identified as a critical element in evaluating and utilizing the outputs of language models before their implementation in a project. This work aims to inform developers about strategies for selecting and adapting LLMs to meet the specific requirements of projects while taking their context into account.Downloads
References
(2024), “Prompting Techniques (Техніки промптингу)”, Prompt Engineering Guide, URL: https://www.promptingguide.ai/techniques/
Jason Wei, Maarten Bosma, Vincent Y. Zhao, Kelvin Guu, Adams Wei Yu, Brian Lester, Nan Du, Andrew M. Dai, and Quoc V. Le (2022),”Finetuned language models are zero-shot learners”, Published as a conference paper at ICLR 2022, pp. 1–46, URL: https://arxiv.org/pdf/2109.01652.pdf
Tom B. Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, Sandhini Agarwal, Ariel Herbert-Voss, Gretchen Krueger, Tom Henighan, Rewon Child, Aditya Ramesh, Daniel M. Ziegler, Jeffrey Wu, Clemens Winter, Christopher Hesse, Mark Chen, Eric Sigler Mateusz Litwin, Scott Gray, Benjamin Chess, Jack Clark, Christopher Berner, Sam McCandlish, Alec Radford, Ilya Sutskever, Dario Amodei (2020), Language Models are Few-Shot Learners, aXiv:2005.14165, 75 p., URL: https://arxiv.org/abs/2005.14165
Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed Chi, Quoc Le, Denny Zhou (2022), Chain-of-Thought Prompting Elicits Reasoning in Large Language Models,14 p., URL: https://arxiv.org/abs/2201.11903
Zekun Li, Baolin Peng, Pengcheng He, Michel Galley, Jianfeng Gao, Xifeng Yan (2023), Guiding Large Language Models via Directional Stimulus Prompting, 27 p., URL: https://arxiv.org/abs/2302.11520
Shunyu Yao, Dian Yu, Jeffrey Zhao, (2023), Tree of Thoughts: Deliberate Problem Solving with Large Language Models, 14 p., URL: https://arxiv.org/abs/2305.10601