SlideShare a Scribd company logo
1 of 32
Pair Programming
With LLM
• Durgesh Gupta
• Niraj Kumar
Enhancing Collaboration
and
Productivity
Lack of etiquette and manners is a huge turn off.
KnolX Etiquettes
 Punctuality
Join the session 5 minutes prior to the session start time. We start on
time and conclude on time!
 Feedback
Make sure to submit a constructive feedback for all sessions as it is very
helpful for the presenter.
 Silent Mode
Keep your mobile devices in silent mode, feel free to move out of session
in case you need to attend an urgent call.
 Avoid Disturbance
Avoid unwanted chit chat during the session.
1. Introduction to Pair Programming
2. Overview of Large Language Model
3. Benefits of Pair Programming
4. Scenarios and Use Cases
o Code Generation
o Improve Existing Code
o Code Review
o Writing Test Cases
o Code Debugging
o Documentation Support
o Collaborative Problem Solving
5. Challenges and Consideration
6. Best Practices
7. Responsible AI
01
What is Pair Programming?
 Pair programming is a software development technique where two
programmers work together at one workstation.
 It involves a driver who writes the code and an observer/navigator who
reviews each line as it's written.
 Benefits include improved code quality, knowledge sharing, and faster
problem-solving.
02
Large Language Model
 Large Language Models, like GPT-3.5, are
advanced AI models capable of understanding and
generating human-like text.
 GPT-3.5 architecture is built on deep neural
networks, enabling it to process and generate
contextually relevant text.
 These models play a crucial role in natural language
processing and understanding.
03
Benefits of Pair Programming
 Improved Code Quality: With two sets of eyes, potential
bugs and issues are caught early.
 Knowledge Sharing: Developers learn from each other,
leading to skill development and knowledge transfer.
 Faster Problem-Solving: Collaboration leads to quicker
identification and resolution of issues.
 Reduced Debugging Time: Early bug detection means
less time spent debugging in later stages.
 Enhanced Collaboration and Communication: Pair
programming fosters effective communication within the
team.
04
Role of LLM
 Augmenting Human Intelligence: Large
language models enhance developers'
capabilities by providing context-aware
suggestions.
 Providing Context-Aware Suggestions:
Language models offer relevant suggestions
based on the code context, improving
productivity.
 Enhancing Code Understanding: These
models assist in comprehending complex
code structures, making it easier for
developers to work together.
 Enabling Efficient Collaboration: The models
facilitate smoother collaboration by offering
insights and generating code snippets.
05
Code Generation
 Generating Boilerplate Code: Language models can assist in
automating the generation of repetitive and boilerplate code.
 Accelerating Development with Automated Code Snippets:
Developers can leverage the language model to quickly generate
code snippets, saving time and effort.
Improve Existing Code
 Large Language Model can help us in rewrite your code in the
way that is recommended for that programming language.
 We can ask an LLM to refactor our code in a manner that
adheres more closely to programming language conventions and
best practices.
 We can ask for multiple ways of rewriting your code.
 We can ask the model also to recommend the model which is the
method is best and adheres to the programming language and
best practices.
Code Review and Assistance
 Identifying Code Smells and Anti-Patterns:
o Language models can analyse code for common issues,
such as code smells and anti-patterns.
 Offering Suggestions for Improvements:
o The model provides constructive feedback during code
reviews, aiding in code quality improvement.
Writing Test Cases
 Creating effective test cases is paramount for ensuring the
robustness and reliability of applications.
 LLM like GPT-3.5, LLMA, Palm can significantly enhance the
process of writing test cases by providing intelligent suggestion and
automating certain aspect of the task
 Developers can leverage the model capabilities to articulate the
test cases effectively, LLM can suggest the relevant scenarios,
input and expected output.
 LLM can help identify the edge cases and scenarios that might be
overlooked, leading to more comprehensive test coverage.
Code Debugging
 Detecting Potential Bugs through Code Analysis: Language
models can analyze code and identify potential bugs or
vulnerabilities.
 Proposing Fixes for Common Programming Errors: Developers
receive suggestions for fixing common programming errors,
improving code robustness.
 We can use an LLM to give us insights and check for blind spots
but remember to make sure that the generated code is doing what
we want it to do.
Documentation Support
 Generating Inline Documentation
o Large Language models can assist in generating inline
documentation, improving code readability.
 Improving Code Comments for Better Understanding:
o Developers can utilize language models to enhance code
comments for better understanding and maintainability.
Collaborative Problem Solving
 Facilitating Real-Time Problem-Solving Discussions:
o Large Language models support collaborative problem-
solving discussions, providing insights and suggestions.
 Providing Insights and Alternative Solutions:
o Developers can explore different solutions and receive
insights from the language model, fostering creativity.
06
Challenges and Consideration
 Ethical Considerations in AI-Powered Development:
o Addressing potential ethical concerns and biases in AI models.
 Balancing Automation with Human Intuition:
o Finding the right balance between automated suggestions and
human decision-making.
 Handling Biases in Language Models:
o Ensuring fairness and unbiased recommendations.
 Ensuring Code Ownership and Understanding:
o Developers should maintain ownership and understanding of
the code produced with the assistance of language models.
07
Best Practices
 Establishing Clear Communication Channels:
o Ensuring effective communication between developers and the
language model.
 Setting Expectations for Both Developers and the Language Model:
o Clearly defining the roles and expectations of developers and the
language model.
 Regularly Updating and Fine-Tuning the Language Model:
o Keeping the language model up-to-date and refining its
capabilities over time.
 Encouraging Continuous Learning and Adaptation:
o Fostering a culture of continuous learning and adaptation to new
tools and technologies.
08
Responsible AI: Nurturing Ethical
Innovation
 In an era dominated by technological advancements, the
responsible development and deployment of Artificial Intelligence
(AI) are paramount.
 Responsible AI refers to the practice of creating and using
artificial intelligence in a way that aligns with ethical principles,
ensuring fairness, transparency, accountability, and the well-
being of individuals and society.
Principles of Responsible AI
 Transparency: Clarify the Decision-Making Process
 Transparent AI systems provide users with insights into how decisions
are made, fostering trust and understanding. Make transparency a
cornerstone of your AI development process.
 Fairness: Guard Against Bias and Discrimination
 Ensure that AI applications are fair and unbiased, treating all individuals
and groups equitably. Regularly audit and refine algorithms to mitigate
unintended biases.
Principles of Responsible AI
 Accountability: Define Responsibility and Ownership
 Establish clear lines of responsibility for the development, deployment, and
outcomes of AI systems. This ensures accountability for any ethical or
operational issues that may arise.
 Privacy: Protect User Data
 Respect user privacy by implementing robust data protection measures.
Clearly communicate how AI systems handle and store personal information.
 Robustness: Prepare for Unintended Consequences
 Build AI systems that are resilient to adversarial attacks and unintended
consequences. Regularly test and update algorithms to adapt to evolving
challenges.
Recommended Practices in Responsible AI
 Human Centred Design Approach
o The way actual users experience your system is essential to
assessing the true impact of its predictions, recommendations, and
decisions.
o Design features with appropriate disclosures built-in: clarity and
control is crucial to a good user experience.
o Engage with a diverse set of users and use-case scenarios and
incorporate feedback before and throughout project development.
This will build a rich variety of user perspectives into the project and
increase the number of people who benefit from the technology.
 Assessment of training and monitoring employing multiple metrics
o The use of several metrics rather than a single one will help you to
understand tradeoffs between different kinds of errors and
experiences.
o Ensure that your metrics are appropriate for the context and goals of
your system, e.g., a fire alarm system should have high recall, even if
that means the occasional false alarm.
Recommended Practices in Responsible AI
 Whenever feasible, inspect your raw data directly
o ML models will reflect the data they are trained on, so analyze your raw
data carefully to ensure you understand it. In cases where this is not
possible, e.g., with sensitive raw data, understand your input data as
much as possible while respecting privacy; for example by computing
aggregate, anonymized summaries.
 Testing
o To make sure the AI system is working as intended and can be trusted.
conduct rigorous unit tests to test each component of the system in
isolation.
o Conducting integration tests to understand how individual ML
components interact with other parts of the overall system.
o Proactively detect input drift by testing the statistics of the inputs to the
AI system to make sure they are not changing in unexpected ways.
Recommended Practices in Responsible AI
 Know the limitation of your model and dataset
 Machine learning models today are largely a reflection of the patterns of
their training data. It is therefore important to communicate the scope and
coverage of the training, hence clarifying the capability and limitations of
the models. E.g., a shoe detector trained with stock photos can work best
with stock photos but has limited capability when tested with user-
generated cellphone photos.
 Ensure Continuous Monitoring After Deployment
o Regularly assess the performance and impact of AI systems, employing
ongoing monitoring to identify and address any emerging ethical
concerns.
o Continued monitoring will ensure your model takes real-world
performance and user feedback
Pair Programming with a Large Language Model

More Related Content

Similar to Pair Programming with a Large Language Model

Introduction to Agile Software Development & Python
Introduction to Agile Software Development & PythonIntroduction to Agile Software Development & Python
Introduction to Agile Software Development & PythonTharindu Weerasinghe
 
Developers Nepal Meetup #4 Report
Developers Nepal Meetup #4 ReportDevelopers Nepal Meetup #4 Report
Developers Nepal Meetup #4 ReportPunit Jajodia
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentAhmet Bulut
 
Applying AI to software engineering problems: Do not forget the human!
Applying AI to software engineering problems: Do not forget the human!Applying AI to software engineering problems: Do not forget the human!
Applying AI to software engineering problems: Do not forget the human!University of Córdoba
 
Software development philosophies v1
Software development philosophies v1Software development philosophies v1
Software development philosophies v1Praveen Nair
 
A comprehensive guide to prompt engineering.pdf
A comprehensive guide to prompt engineering.pdfA comprehensive guide to prompt engineering.pdf
A comprehensive guide to prompt engineering.pdfJamieDornan2
 
Code Craftsmanship Checklist
Code Craftsmanship ChecklistCode Craftsmanship Checklist
Code Craftsmanship ChecklistRyan Polk
 
Programming vs Coding: Unveiling The Key Differences
Programming vs Coding: Unveiling The Key DifferencesProgramming vs Coding: Unveiling The Key Differences
Programming vs Coding: Unveiling The Key DifferencesFredReynolds2
 
Feb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition DevelopmentFeb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition DevelopmentBarb Tillich
 
Top 5 Machine Learning Tools for Software Development in 2024.pdf
Top 5 Machine Learning Tools for Software Development in 2024.pdfTop 5 Machine Learning Tools for Software Development in 2024.pdf
Top 5 Machine Learning Tools for Software Development in 2024.pdfPolyxer Systems
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)FarjanaAhmed3
 
Summer internship report
Summer internship reportSummer internship report
Summer internship reportmdk8989
 
A comprehensive guide to prompt engineering.pdf
A comprehensive guide to prompt engineering.pdfA comprehensive guide to prompt engineering.pdf
A comprehensive guide to prompt engineering.pdfStephenAmell4
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open DevelopmentRoss Gardler
 

Similar to Pair Programming with a Large Language Model (20)

Introduction to Agile Software Development & Python
Introduction to Agile Software Development & PythonIntroduction to Agile Software Development & Python
Introduction to Agile Software Development & Python
 
Developers Nepal Meetup #4 Report
Developers Nepal Meetup #4 ReportDevelopers Nepal Meetup #4 Report
Developers Nepal Meetup #4 Report
 
Software coding and testing
Software coding and testingSoftware coding and testing
Software coding and testing
 
Profound-Skills-of-Programming-Developed-by-the-Programmers
Profound-Skills-of-Programming-Developed-by-the-ProgrammersProfound-Skills-of-Programming-Developed-by-the-Programmers
Profound-Skills-of-Programming-Developed-by-the-Programmers
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Unit 1 OOSE
Unit 1 OOSEUnit 1 OOSE
Unit 1 OOSE
 
Applying AI to software engineering problems: Do not forget the human!
Applying AI to software engineering problems: Do not forget the human!Applying AI to software engineering problems: Do not forget the human!
Applying AI to software engineering problems: Do not forget the human!
 
Software development philosophies v1
Software development philosophies v1Software development philosophies v1
Software development philosophies v1
 
A comprehensive guide to prompt engineering.pdf
A comprehensive guide to prompt engineering.pdfA comprehensive guide to prompt engineering.pdf
A comprehensive guide to prompt engineering.pdf
 
Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
 
Code Craftsmanship Checklist
Code Craftsmanship ChecklistCode Craftsmanship Checklist
Code Craftsmanship Checklist
 
Programming vs Coding: Unveiling The Key Differences
Programming vs Coding: Unveiling The Key DifferencesProgramming vs Coding: Unveiling The Key Differences
Programming vs Coding: Unveiling The Key Differences
 
Feb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition DevelopmentFeb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition Development
 
Top 5 Machine Learning Tools for Software Development in 2024.pdf
Top 5 Machine Learning Tools for Software Development in 2024.pdfTop 5 Machine Learning Tools for Software Development in 2024.pdf
Top 5 Machine Learning Tools for Software Development in 2024.pdf
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)
 
Summer internship report
Summer internship reportSummer internship report
Summer internship report
 
A comprehensive guide to prompt engineering.pdf
A comprehensive guide to prompt engineering.pdfA comprehensive guide to prompt engineering.pdf
A comprehensive guide to prompt engineering.pdf
 
Consulting
ConsultingConsulting
Consulting
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open Development
 
chapter 1.ppt
chapter 1.pptchapter 1.ppt
chapter 1.ppt
 

More from Knoldus Inc.

Robusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptxRobusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptxKnoldus Inc.
 
Optimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptxOptimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptxKnoldus Inc.
 
Azure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptxAzure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptxKnoldus Inc.
 
CQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptxCQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptxKnoldus Inc.
 
ETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake PresentationETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake PresentationKnoldus Inc.
 
Scripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics PresentationScripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics PresentationKnoldus Inc.
 
Getting started with dotnet core Web APIs
Getting started with dotnet core Web APIsGetting started with dotnet core Web APIs
Getting started with dotnet core Web APIsKnoldus Inc.
 
Introduction To Rust part II Presentation
Introduction To Rust part II PresentationIntroduction To Rust part II Presentation
Introduction To Rust part II PresentationKnoldus Inc.
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Configuring Workflows & Validators in JIRA
Configuring Workflows & Validators in JIRAConfiguring Workflows & Validators in JIRA
Configuring Workflows & Validators in JIRAKnoldus Inc.
 
Advanced Python (with dependency injection and hydra configuration packages)
Advanced Python (with dependency injection and hydra configuration packages)Advanced Python (with dependency injection and hydra configuration packages)
Advanced Python (with dependency injection and hydra configuration packages)Knoldus Inc.
 
Azure Databricks (For Data Analytics).pptx
Azure Databricks (For Data Analytics).pptxAzure Databricks (For Data Analytics).pptx
Azure Databricks (For Data Analytics).pptxKnoldus Inc.
 
The Power of Dependency Injection with Dagger 2 and Kotlin
The Power of Dependency Injection with Dagger 2 and KotlinThe Power of Dependency Injection with Dagger 2 and Kotlin
The Power of Dependency Injection with Dagger 2 and KotlinKnoldus Inc.
 
Data Engineering with Databricks Presentation
Data Engineering with Databricks PresentationData Engineering with Databricks Presentation
Data Engineering with Databricks PresentationKnoldus Inc.
 
Databricks for MLOps Presentation (AI/ML)
Databricks for MLOps Presentation (AI/ML)Databricks for MLOps Presentation (AI/ML)
Databricks for MLOps Presentation (AI/ML)Knoldus Inc.
 
NoOps - (Automate Ops) Presentation.pptx
NoOps - (Automate Ops) Presentation.pptxNoOps - (Automate Ops) Presentation.pptx
NoOps - (Automate Ops) Presentation.pptxKnoldus Inc.
 
Mastering Distributed Performance Testing
Mastering Distributed Performance TestingMastering Distributed Performance Testing
Mastering Distributed Performance TestingKnoldus Inc.
 
MLops on Vertex AI Presentation (AI/ML).pptx
MLops on Vertex AI Presentation (AI/ML).pptxMLops on Vertex AI Presentation (AI/ML).pptx
MLops on Vertex AI Presentation (AI/ML).pptxKnoldus Inc.
 
Introduction to Ansible Tower Presentation
Introduction to Ansible Tower PresentationIntroduction to Ansible Tower Presentation
Introduction to Ansible Tower PresentationKnoldus Inc.
 
CQRS with dot net services presentation.
CQRS with dot net services presentation.CQRS with dot net services presentation.
CQRS with dot net services presentation.Knoldus Inc.
 

More from Knoldus Inc. (20)

Robusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptxRobusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptx
 
Optimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptxOptimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptx
 
Azure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptxAzure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptx
 
CQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptxCQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptx
 
ETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake PresentationETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake Presentation
 
Scripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics PresentationScripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics Presentation
 
Getting started with dotnet core Web APIs
Getting started with dotnet core Web APIsGetting started with dotnet core Web APIs
Getting started with dotnet core Web APIs
 
Introduction To Rust part II Presentation
Introduction To Rust part II PresentationIntroduction To Rust part II Presentation
Introduction To Rust part II Presentation
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Configuring Workflows & Validators in JIRA
Configuring Workflows & Validators in JIRAConfiguring Workflows & Validators in JIRA
Configuring Workflows & Validators in JIRA
 
Advanced Python (with dependency injection and hydra configuration packages)
Advanced Python (with dependency injection and hydra configuration packages)Advanced Python (with dependency injection and hydra configuration packages)
Advanced Python (with dependency injection and hydra configuration packages)
 
Azure Databricks (For Data Analytics).pptx
Azure Databricks (For Data Analytics).pptxAzure Databricks (For Data Analytics).pptx
Azure Databricks (For Data Analytics).pptx
 
The Power of Dependency Injection with Dagger 2 and Kotlin
The Power of Dependency Injection with Dagger 2 and KotlinThe Power of Dependency Injection with Dagger 2 and Kotlin
The Power of Dependency Injection with Dagger 2 and Kotlin
 
Data Engineering with Databricks Presentation
Data Engineering with Databricks PresentationData Engineering with Databricks Presentation
Data Engineering with Databricks Presentation
 
Databricks for MLOps Presentation (AI/ML)
Databricks for MLOps Presentation (AI/ML)Databricks for MLOps Presentation (AI/ML)
Databricks for MLOps Presentation (AI/ML)
 
NoOps - (Automate Ops) Presentation.pptx
NoOps - (Automate Ops) Presentation.pptxNoOps - (Automate Ops) Presentation.pptx
NoOps - (Automate Ops) Presentation.pptx
 
Mastering Distributed Performance Testing
Mastering Distributed Performance TestingMastering Distributed Performance Testing
Mastering Distributed Performance Testing
 
MLops on Vertex AI Presentation (AI/ML).pptx
MLops on Vertex AI Presentation (AI/ML).pptxMLops on Vertex AI Presentation (AI/ML).pptx
MLops on Vertex AI Presentation (AI/ML).pptx
 
Introduction to Ansible Tower Presentation
Introduction to Ansible Tower PresentationIntroduction to Ansible Tower Presentation
Introduction to Ansible Tower Presentation
 
CQRS with dot net services presentation.
CQRS with dot net services presentation.CQRS with dot net services presentation.
CQRS with dot net services presentation.
 

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

Pair Programming with a Large Language Model

  • 1. Pair Programming With LLM • Durgesh Gupta • Niraj Kumar Enhancing Collaboration and Productivity
  • 2. Lack of etiquette and manners is a huge turn off. KnolX Etiquettes  Punctuality Join the session 5 minutes prior to the session start time. We start on time and conclude on time!  Feedback Make sure to submit a constructive feedback for all sessions as it is very helpful for the presenter.  Silent Mode Keep your mobile devices in silent mode, feel free to move out of session in case you need to attend an urgent call.  Avoid Disturbance Avoid unwanted chit chat during the session.
  • 3. 1. Introduction to Pair Programming 2. Overview of Large Language Model 3. Benefits of Pair Programming 4. Scenarios and Use Cases o Code Generation o Improve Existing Code o Code Review o Writing Test Cases o Code Debugging o Documentation Support o Collaborative Problem Solving 5. Challenges and Consideration 6. Best Practices 7. Responsible AI
  • 4. 01
  • 5. What is Pair Programming?  Pair programming is a software development technique where two programmers work together at one workstation.  It involves a driver who writes the code and an observer/navigator who reviews each line as it's written.  Benefits include improved code quality, knowledge sharing, and faster problem-solving.
  • 6. 02
  • 7. Large Language Model  Large Language Models, like GPT-3.5, are advanced AI models capable of understanding and generating human-like text.  GPT-3.5 architecture is built on deep neural networks, enabling it to process and generate contextually relevant text.  These models play a crucial role in natural language processing and understanding.
  • 8. 03
  • 9. Benefits of Pair Programming  Improved Code Quality: With two sets of eyes, potential bugs and issues are caught early.  Knowledge Sharing: Developers learn from each other, leading to skill development and knowledge transfer.  Faster Problem-Solving: Collaboration leads to quicker identification and resolution of issues.  Reduced Debugging Time: Early bug detection means less time spent debugging in later stages.  Enhanced Collaboration and Communication: Pair programming fosters effective communication within the team.
  • 10. 04
  • 11.
  • 12. Role of LLM  Augmenting Human Intelligence: Large language models enhance developers' capabilities by providing context-aware suggestions.  Providing Context-Aware Suggestions: Language models offer relevant suggestions based on the code context, improving productivity.  Enhancing Code Understanding: These models assist in comprehending complex code structures, making it easier for developers to work together.  Enabling Efficient Collaboration: The models facilitate smoother collaboration by offering insights and generating code snippets.
  • 13. 05
  • 14. Code Generation  Generating Boilerplate Code: Language models can assist in automating the generation of repetitive and boilerplate code.  Accelerating Development with Automated Code Snippets: Developers can leverage the language model to quickly generate code snippets, saving time and effort.
  • 15. Improve Existing Code  Large Language Model can help us in rewrite your code in the way that is recommended for that programming language.  We can ask an LLM to refactor our code in a manner that adheres more closely to programming language conventions and best practices.  We can ask for multiple ways of rewriting your code.  We can ask the model also to recommend the model which is the method is best and adheres to the programming language and best practices.
  • 16. Code Review and Assistance  Identifying Code Smells and Anti-Patterns: o Language models can analyse code for common issues, such as code smells and anti-patterns.  Offering Suggestions for Improvements: o The model provides constructive feedback during code reviews, aiding in code quality improvement.
  • 17. Writing Test Cases  Creating effective test cases is paramount for ensuring the robustness and reliability of applications.  LLM like GPT-3.5, LLMA, Palm can significantly enhance the process of writing test cases by providing intelligent suggestion and automating certain aspect of the task  Developers can leverage the model capabilities to articulate the test cases effectively, LLM can suggest the relevant scenarios, input and expected output.  LLM can help identify the edge cases and scenarios that might be overlooked, leading to more comprehensive test coverage.
  • 18. Code Debugging  Detecting Potential Bugs through Code Analysis: Language models can analyze code and identify potential bugs or vulnerabilities.  Proposing Fixes for Common Programming Errors: Developers receive suggestions for fixing common programming errors, improving code robustness.  We can use an LLM to give us insights and check for blind spots but remember to make sure that the generated code is doing what we want it to do.
  • 19. Documentation Support  Generating Inline Documentation o Large Language models can assist in generating inline documentation, improving code readability.  Improving Code Comments for Better Understanding: o Developers can utilize language models to enhance code comments for better understanding and maintainability.
  • 20. Collaborative Problem Solving  Facilitating Real-Time Problem-Solving Discussions: o Large Language models support collaborative problem- solving discussions, providing insights and suggestions.  Providing Insights and Alternative Solutions: o Developers can explore different solutions and receive insights from the language model, fostering creativity.
  • 21. 06
  • 22. Challenges and Consideration  Ethical Considerations in AI-Powered Development: o Addressing potential ethical concerns and biases in AI models.  Balancing Automation with Human Intuition: o Finding the right balance between automated suggestions and human decision-making.  Handling Biases in Language Models: o Ensuring fairness and unbiased recommendations.  Ensuring Code Ownership and Understanding: o Developers should maintain ownership and understanding of the code produced with the assistance of language models.
  • 23. 07
  • 24. Best Practices  Establishing Clear Communication Channels: o Ensuring effective communication between developers and the language model.  Setting Expectations for Both Developers and the Language Model: o Clearly defining the roles and expectations of developers and the language model.  Regularly Updating and Fine-Tuning the Language Model: o Keeping the language model up-to-date and refining its capabilities over time.  Encouraging Continuous Learning and Adaptation: o Fostering a culture of continuous learning and adaptation to new tools and technologies.
  • 25. 08
  • 26. Responsible AI: Nurturing Ethical Innovation  In an era dominated by technological advancements, the responsible development and deployment of Artificial Intelligence (AI) are paramount.  Responsible AI refers to the practice of creating and using artificial intelligence in a way that aligns with ethical principles, ensuring fairness, transparency, accountability, and the well- being of individuals and society.
  • 27. Principles of Responsible AI  Transparency: Clarify the Decision-Making Process  Transparent AI systems provide users with insights into how decisions are made, fostering trust and understanding. Make transparency a cornerstone of your AI development process.  Fairness: Guard Against Bias and Discrimination  Ensure that AI applications are fair and unbiased, treating all individuals and groups equitably. Regularly audit and refine algorithms to mitigate unintended biases.
  • 28. Principles of Responsible AI  Accountability: Define Responsibility and Ownership  Establish clear lines of responsibility for the development, deployment, and outcomes of AI systems. This ensures accountability for any ethical or operational issues that may arise.  Privacy: Protect User Data  Respect user privacy by implementing robust data protection measures. Clearly communicate how AI systems handle and store personal information.  Robustness: Prepare for Unintended Consequences  Build AI systems that are resilient to adversarial attacks and unintended consequences. Regularly test and update algorithms to adapt to evolving challenges.
  • 29. Recommended Practices in Responsible AI  Human Centred Design Approach o The way actual users experience your system is essential to assessing the true impact of its predictions, recommendations, and decisions. o Design features with appropriate disclosures built-in: clarity and control is crucial to a good user experience. o Engage with a diverse set of users and use-case scenarios and incorporate feedback before and throughout project development. This will build a rich variety of user perspectives into the project and increase the number of people who benefit from the technology.  Assessment of training and monitoring employing multiple metrics o The use of several metrics rather than a single one will help you to understand tradeoffs between different kinds of errors and experiences. o Ensure that your metrics are appropriate for the context and goals of your system, e.g., a fire alarm system should have high recall, even if that means the occasional false alarm.
  • 30. Recommended Practices in Responsible AI  Whenever feasible, inspect your raw data directly o ML models will reflect the data they are trained on, so analyze your raw data carefully to ensure you understand it. In cases where this is not possible, e.g., with sensitive raw data, understand your input data as much as possible while respecting privacy; for example by computing aggregate, anonymized summaries.  Testing o To make sure the AI system is working as intended and can be trusted. conduct rigorous unit tests to test each component of the system in isolation. o Conducting integration tests to understand how individual ML components interact with other parts of the overall system. o Proactively detect input drift by testing the statistics of the inputs to the AI system to make sure they are not changing in unexpected ways.
  • 31. Recommended Practices in Responsible AI  Know the limitation of your model and dataset  Machine learning models today are largely a reflection of the patterns of their training data. It is therefore important to communicate the scope and coverage of the training, hence clarifying the capability and limitations of the models. E.g., a shoe detector trained with stock photos can work best with stock photos but has limited capability when tested with user- generated cellphone photos.  Ensure Continuous Monitoring After Deployment o Regularly assess the performance and impact of AI systems, employing ongoing monitoring to identify and address any emerging ethical concerns. o Continued monitoring will ensure your model takes real-world performance and user feedback