包阅导读总结
1. `AI 编码`、`人类工程师`、`软件开发`、`效率提升`、`未来趋势`
2. 本文探讨了 AI 编码对软件开发的影响,指出尽管 AI 能提高效率,但人类工程师仍至关重要。AI 改变了开发流程,带来效率提升,但也有挑战。未来开发者应与 AI 建立共生关系,注重高层能力和持续学习。
3.
– 软件开发的演变
– 实验融入大型语言模型的编码工作流
– 工具使通过自然语言描述创建代码更高效
– 新工作流程包括 AI 辅助的各个环节
– 人类工程师的重要性
– AI 有局限,人类负责关键方面
– 以“钢铁侠”为例说明人类是主导
– 开发者受益及仍需承担的责任
– 助力处理大型项目,减少初始阶段犹豫
– 对初级开发者可能有误导,强调批判性思维
– 未来展望
– 开发过程将加速,开发者心态转变
– 个人管理更大更复杂项目, solo 开发者公司增加
– 带来多方面影响,如能力提升、技能重点转变、伦理考量、持续学习和协作智能
– 结论
– 编程范式转变,人类工程师需求仍高
– 成功工程师的特质,与 AI 共生推动创新
思维导图:
文章地址:https://thenewstack.io/ai-coding-human-engineers-are-more-important-than-ever/
文章来源:thenewstack.io
作者:Zachary Proser,Roie Schwaber-Cohen
发布时间:2024/7/22 17:34
语言:英文
总字数:1510字
预计阅读时间:7分钟
评分:86分
标签:人工智能编程,大型语言模型,软件开发,开发者生产力,人工智能伦理
以下为原文内容
本内容来源于用户推荐转载,旨在分享知识与观点,如有侵权请联系删除 联系邮箱 media@ilingban.com
In the time it took you to read this sentence, an AI coding assistant could generate over 100 lines of working code. Should this be scary for human programmers? Not at all. This leap in productivity is precisely why human engineers are becoming more important, not less. Here’s why the AI disruption in coding is a boon for developers.
The Evolving Landscape of Software Development
For the past year and a half, we’ve experimented with coding workflows incorporating large language models (LLMs) for code generation and chat-based assistance. The most profound change we’re witnessing is the increased efficiency of creating code through natural language descriptions. Developers can now describe their desired functionality to an LLM faster than they could manually implement it themselves by typing in code.
This shift is particularly evident in tools integrating LLMs into the development environment, which extends the base VS Code IDE to consider human language as a primary input to the software development process. Whereas GitHub Copilot is an extension that can help autocomplete code you’re editing and provide chat-based assistance, a whole new class of tools has been designed from the outset to enable developers to talk about the code and request edits and updates via chat.
The minutiae of software creation are fading into the background. Developers no longer need to spend hours poring over library documentation, struggling with command-line flags or wrestling with CSS frameworks before becoming productive. Instead, the process is evolving into an iterative dialogue between developer and LLM:
- Initial architecture and functionality definition through AI-assisted brainstorming.
- Rapid code generation and human review and feedback cycles.
- Continuous steering of the AI to align with the overall vision and goals.
- Regular testing and verification in local and preview environments.
This new workflow allows experienced developers to focus on high-level design and problem-solving while using AI to handle the implementation details.
However, this doesn’t negate the need for coding skills. While AI can generate code snippets, it also makes mistakes, and developers remain responsible for critical aspects such as ensuring code security, optimizing performance, verifying functionality and crafting exceptional user experiences.
The Ironman Paradox: AI as an Enhancer, Not a Replacement
Consider the dynamic between Jarvis and Tony Stark in “Iron Man.” Jarvis, Iron Man’s AI assistant, can perform feats of calculation that Stark cannot. Jarvis perfectly recalls even the most obscure facts and figures and can code circles around his creator. He executes complex tasks in milliseconds without experiencing fear or self-doubt.
So, why is Tony Stark the hero?
As Yann LeCun, Meta’s chief AI scientist, has pointed out, intelligence and motivation are separate things. Our current and future AI systems do not strive for goals of their own accord but need to be directed by humans who actually have goals and desires. AI has no desire to replace us because it has no desire.
Stark is the hero because his force of will and problem-solving vision set the whole story in motion, and the same is true for the current generation of AI tools and their human operators.
This paradox illustrates several key points about how coding is changing:
- Vast knowledge and rapid processing: AI has recall and computational abilities that surpass human capabilities.
- Human as the hero: Despite AI’s remarkable capabilities, humans remain the driving force due to their ambition, creativity and ethical decision-making.
- AI as an extension: AI-assisted coding tools extend developers’ abilities, allowing them to work more efficiently and tackle more complex challenges.
- Goal-directed action: Developers provide the direction and purpose, using AI tools to realize their visions and accomplish their project goals.
Developer Benefits and Ongoing Responsibilities
One of the primary benefits we’ve realized as experienced coders is increased excitement about tackling large and ambitious projects. When embarking on a new project, we feel emboldened and empowered by the tremendous assistive capabilities we can tap into on demand.
Integrating LLMs into our workflows has significantly reduced the hesitation and procrastination often accompanying a project’s initial stages. With easy access to AI, we can thoroughly discuss complex issues, gaining clarity before we even begin coding. This preparatory dialogue helps us identify and avoid potential pitfalls, making the coding process more efficient. Additionally, the speed at which AI can generate code emboldens us to experiment with new design patterns and approaches, knowing that any decision can be quickly revised.
A striking example comes from our own ranks in our multimodal demo called “Shop the Look,” an e-commerce experience allowing users to shop for clothes via text, images or even videos.
Our colleague designed and built Shop the Look with the assistance of Anthropic’s Claude after having been away from hands-on coding for years. Our colleague was successful because they had broad domain experience, were committed to building an excellent user experience and were determined to see the project through to completion. This case illustrates how LLM-assisted coding can amplify the capabilities of those with strong foundational knowledge and motivation, even if their technical skills are rusty.
However, while AI can supercharge productivity, it also presents new challenges. We’ve observed instances where pair-coding with LLMs has been counterproductive for junior developers, leading them down erroneous paths. This underscores the importance of critical thinking and the ability to validate AI-generated solutions. The key to overcoming this challenge is having sufficient experience and knowledge to recognize when even an advanced model suggests an outdated approach or deprecated code. Senior developers are crucial in guiding juniors through this landscape, helping them develop the discernment needed to use AI assistance effectively.
Human engineers will not be excused from craftsmanship. On the contrary, with this level of assistance available at all times, there’s even less justification for subpar work. Just as readers can discern when content has been lazily generated by feeding prompts into ChatGPT, your stakeholders will be unsympathetic toward nonfunctional software that crumbles at the first edge case.
Coding with LLMs can significantly increase the speed at which you produce working applications, but we suspect this will ultimately result in higher productivity expectations for the average developer.
It’s crucial to recognize that regardless of personal attachment to traditional coding methods, the industry is rapidly evolving. Your competitors are using these AI tools to increase their productivity and capabilities dramatically. The future waits for no one.
The Future: Developers as Gardeners and Conductors
This trend toward simplified development processes will accelerate. Tools like Cursor make iteration significantly faster than traditional IDEs, raising the bar for developer productivity. We envision a future where developers adopt a “gardening” or “conducting” mentality, overseeing a wide array of codebases through the lenses of AI-enhanced tools.
Combining LLMs, traditional IDE workflows, autonomous agents and models with expanding context windows will likely enable developers to request, observe and steer changes at unprecedented speeds.
This shift will allow individual developers to manage larger and more complex projects than ever before. We also anticipate an increase in the solo developer software company, wherein a single developer enhanced by AI tools builds a profitable and sustainable company without any other employees.
This paradigm has several important implications for the future of coding:
- Enhanced capabilities: Developers who use AI tools effectively can take on more complex projects and solve problems more quickly than ever.
- Shift in skills focus: While technical skills remain important, there will be an increased emphasis on higher-level abilities such as problem definition, system architecture and creative solution design. A higher premium will also be placed on human expertise.
- Ethical considerations: As with Tony Stark, developers must carefully consider the ethical implications of the powerful tools.
- Continuous learning: The rapid evolution of AI tools means developers must cultivate a mindset of continuous learning and adaptation. This was always the case, even before the rapid proliferation of AI tools.
- Collaborative intelligence: The future of coding lies in collaborative intelligence, where human creativity and AI capabilities work in tandem to push the boundaries of what’s possible in software development.
Conclusion
Coding is undergoing a paradigm shift, but human programmers will remain in high demand for the foreseeable future. The major shifts we’re witnessing are wiping away the tedium and minutiae of creation, freeing human engineers to apply their creativity and passion to higher-level problems.
We believe that the most successful engineers in the next few decades will be known for their energy, creativity and force of will, and the latest generation of developer tools will empower them to multiply their impact across a wider array of software projects more quickly than was previously possible.
If you’ve been resistant to new workflows or “AI-enhanced” developer tooling, consider this your formal invitation to overcome that resistance. The faster way is already here and being adopted rapidly by colleagues and competitors. By fostering a symbiotic relationship with AI, developers can look forward to a future where they remain the driving force behind innovation, with AI as a powerful ally in turning their most ambitious ideas into reality.
YOUTUBE.COM/THENEWSTACK
Tech moves fast, don’t miss an episode. Subscribe to our YouTubechannel to stream all our podcasts, interviews, demos, and more.