Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Will AI Assistant make developers redundant? (j...

Will AI Assistant make developers redundant? (jPrime)

IntelliJ IDEA already had plenty of smart features to make developers’ lives easier: code completion, tool integration and more.

Now with JetBrains AI Assistant you have the power of LLMs right inside your IDE. Let’s take a look at how the knowledge your IDE has about your project combines with the power of LLMs to enhance your coding workflow. We’ll look at what JetBrains AI Assistant can do for you, and what it can’t (yet?).

Will AI Assistant make developers redundant? Come and find out.

Marit van Dijk

May 28, 2024
Tweet

More Decks by Marit van Dijk

Other Decks in Programming

Transcript

  1. Productivity "Based on data from 250K+ developers in our global

    community, developers code 52 minutes per day — about 4 hours and 21 minutes during a normal workweek from Monday to Friday." "Code time is de fi ned as time spent actively writing or editing code in an editor or IDE." https://www.software.com/reports/code-time-report
  2. Understanding code "developers on average spend as much as 58%

    of their time comprehending existing source code" ~ Felienne Hermans, The Programmer's Brain
  3. Understanding and maintaining “The majority of a developer’s time isn't

    writing but understanding and maintaining existing code.“ https://codescene.com/hubfs/whitepapers/Refactoring-vs-Refuctoring-Advancing-the-state-of-AI-automated-code-improvements.pdf
  4. AI Chats Generate, improve and explain commit messages View context

    Explain errors Continue prompting Generate code, explain, find problems, and refactor code, generate tests and documentation
  5. Chat • LLMs are good at chat 😁 • We

    can • Ask how to do things • Ask follow up questions
  6. Chat • Integrated into the IDE • Context aware •

    Can call back to IDE for more info
  7. Code from chat • Use code from chat: • Copy

    to Clipboard • Insert Snippet at Caret • Create File from Snippet
  8. Code generation is important Might need small fi xes (Alt+Enter

    is your friend) Note: we are working on generating the imports too!
  9. Overall • Useful features • Can save time • Boilerplate

    code • Typing • Tasks we don't like to do • Help you work with existing code
  10. Real world use case "I de fi nitely saved some

    time here, probably 10–20 minutes." "The whole task took about 35 minutes, including creating a YouTrack issue and taking the screenshots for this blogpost. Not bad!" https://blog.jetbrains.com/idea/2023/12/java-inspection-with-ai-assistant/
  11. Some caveats "The main problem I see for these kinds

    of tasks is that AI cannot learn (yet)." "When AI is able to accumulate and use project-speci fi c knowledge, it will become way more useful." https://blog.jetbrains.com/idea/2023/12/java-inspection-with-ai-assistant/
  12. Secure code • Be critical in evaluating the AI assistants

    suggestions • Use additional tools and techniques to verify the code
  13. Automation bias "Automation bias is the propensity for humans to

    favor suggestions from automated decision-making systems and to ignore contradictory information made without automation, even if it is correct." https://en.wikipedia.org/wiki/Automation_bias
  14. Preventing hallucinations "removes hallucinations from the candidates suggested by LLMs,

    then further enhances and ranks suggestions based on static analysis techniques from program slicing, and fi nally leverages the IDE to execute refactorings correctly." https://arxiv.org/pdf/2401.15298
  15. Does AI replace developers? • Produce more code faster ->

    more code to maintain • Scanning tools / dev practices more important than ever! • Our skillset might change; we need to adapt