包阅导读总结
1. 关键词:技术债务、自修复代码、AI、软件行业、生产力
2. 总结:本文探讨了技术债务在软件行业的影响,指出AI虽非主因但使用不当会加剧,而通过LLM系统的自动化和自修复功能有望减少技术债务,还提到减少技术债务的方法及建立内部实践的重要性。
3. 主要内容:
– 行业现状
– 预计到2028年,75%的企业软件工程师将使用AI代码助手。
– 重视项目速度会导致技术债务,影响开发者生产力。
– 技术债务成因
– 走捷径、AI使用不当、旧编码实践等。
– 应对与减少技术债务
– 利用LLM系统的自动化和自修复功能。
– 如开发代码审查工具、自动找bug和修复、优化代码等。
– 进行依赖管理、辅助代码审查。
– 建立内部实践
– 平衡自动化和人工监督。
– 做好数据管理,熟悉最佳实践。
– 促进员工持续学习,实施奖励。
– 像对待手动编码一样规划和准备AI的部署。
思维导图:
文章地址:https://thenewstack.io/how-to-use-self-healing-code-to-reduce-technical-debt/
文章来源:thenewstack.io
作者:Kirimgeray Kirimli
发布时间:2024/7/25 20:23
语言:英文
总字数:1034字
预计阅读时间:5分钟
评分:88分
标签:人工智能在软件开发中的应用,技术债务减少,自愈代码,大语言模型 (LLMs),人工智能代码助手
以下为原文内容
本内容来源于用户推荐转载,旨在分享知识与观点,如有侵权请联系删除 联系邮箱 media@ilingban.com
By 2028, some estimates state that 75% of enterprise software engineers will actively use AI code assistants, up from less than 10% at the start of 2023. In an industry where time is money, turning to generative AI is a valuable tool that can streamline workflow and elevate productivity. However, valuing project speed can come at a price for those in our industry.
Technical debt, the cost of choosing quickness over a better approach that would take more time, has historically strained software developers’ productivity. Studies have shown that 23% to 43% of their time is spent solving issues stemming from this practice. This can be time saved but paid later with interest in the form of rewriting, correcting, and improving the code.
Many believe the rush to integrate generative AI-related tools will increase technical debt through rapid growth, complex code, and infrastructural changes. However, AI, especially with LLM systems, holds the potential to be a solution to the long-existing problem. Through its automation capabilities and self-healing features, software teams that use the technology wisely can work to minimize their technical debt by proactively maximizing its self-healing code capabilities.
Let’s discuss fears around AI and technical debt and how organizations can tackle and reduce this industry-wide issue through self-healing code.
What Causes Technical Debt?
Technical debt is a huge issue in the software industry, and it can lead to higher maintenance costs, slower development, and less agility. Cutting corners of any kind can heighten the risk of technical debt, and some in the industry are pointing to AI coding tools as the main culprits.
Some developers are hesitant about these tools due to the lack of reliability of AI-generated code and control over work processes. There is also a perception that AI may lead to technical risks that cause issues later on.
While AI isn’t the leading cause of technical debt, it can contribute if not used correctly. For instance, complex models that may perform well initially could reap maintenance issues as new data emerges or upgrades are needed. Integrating new applications and capabilities will equal more machine learning operations (MLOps) processes that could be overwhelming for existing systems.
Old or outdated coding practices are slowing down today’s developers and forcing them to upgrade processes, fueling the likelihood of technical debt. Tackling this requires a systematic approach. For example, we once had a project where the client’s legacy code impeded development. To address this, we deployed a team of skilled developers who systematically addressed technical debt and optimized the codebase, resulting in a 47% increase in development efficiency and improved project delivery time.
Conversely, AI, especially with large language models (LLM) systems, has excellent potential to help reduce technical debt through automation and self-healing features. Self-healing code, where software can identify flaws and fix them without human assistance, is one example of a popular solution to address technical debt.
Tackling and Reducing Technical Debt
As mentioned, LLMs have emerged as a game-changing solution for mitigating the risk of technical debt. AI has made enormous strides in understanding and generating text, and with its ability to process and produce human-like responses, it’s evident that LLMs can be integrated with existing codebases and ticketing platforms to create self-healing code. For example, code review tools can be developed using AI and LLMs to provide line-by-line analyses of generated code and issue human-like responses.
Additionally, AI tools can automatically find and fix bugs, which helps significantly reduce the backlog of issues. Then, there are tools designed for code refactoring. They analyze the code for inefficiencies and make improvements to optimize performance so everything runs more smoothly.
Based on experience and considering the current speed of technological development, AI tools can vastly improve code quality and drive efficiency for dev processes. This impact will most likely make a real dent in technical debt within the next five to ten years. This gives the industry enough time to refine the technology, build solid integration frameworks, and set up reliable manual review processes to ensure everything runs smoothly.
Another way to reduce technical debt is dependency management. AI systems can update and manage code dependencies, ensuring everything stays secure and up-to-date. Lastly, AI can assist with code reviews by spotting potential issues and suggesting fixes, significantly improving the code’s overall quality.
Establishing Internal Practices
The idea of self-healing code with LLMs is exciting, but balancing automation and human oversight is still crucial. Manual reviews are necessary to ensure AI solutions are accurate and meet project goals, with self-healing code drastically reducing manual efforts.
Good data housekeeping is vital, and so is ensuring that teams are familiar with best practices to ensure optimal data management for feeding AI technology, including LLMs and other algorithms. This is particularly important for cross-department data sharing, with best practices including conducting assessments, consolidations, and data governance and integration plans to improve projects.
None of this could take place without enabling continuous learning across your staff. To encourage teams to use these opportunities, leaders should carve out dedicated time for training workshops that offer direct access to the latest tools. These training sessions could be oriented around certifications like those from Amazon Web Services (AWS), which can significantly incentivize employees to enhance their skills. By doing this, a more efficient and innovative software development environment can be achieved.
An additional way to fuel training uptake in your organization is to implement bonuses for continuous learning. For instance, a fairly senior software engineer who may feel they already know enough about data analytics could be incentivized by bonuses to take on additional training. These opportunities can expose employees to career progression pathways that they may otherwise overlook, benefitting both them as individuals and the organization through wider skills development with the latest solutions.
Just like any new technological adoption, generative AI requires forethought. Therefore, deploying genAI with the same amount of planning and preparation as developing coding standards around manual coding could help minimize technical debt. This also applies to integrating solutions such as self-healing code, which require stringent setup for long-term efficacy.
YOUTUBE.COM/THENEWSTACK
Tech moves fast, don’t miss an episode. Subscribe to our YouTubechannel to stream all our podcasts, interviews, demos, and more.