SlideShare une entreprise Scribd logo
1  sur  54
Télécharger pour lire hors ligne
1
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Les IA s’invitent au chevet
des développeurs : rêve ou
cauchemar ?
Petit-déjeuner AI pour les développeurs
12/12/2023
2
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Bonjour :-)
Alain Fauré
Architecte
alain.faure@octo.com
Alexandre Jeambrun
Manager référent
alexandre.jeambrun@octo.com
3
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Dont plus de 700 consultant.e.s
expert.e.s
Tou.te.s cultivant des expertises tech et méthodo
pour toujours trouver de meilleures façons de
résoudre vos problématiques complexes.
850
OCTOs
OCTO a été fondé en 1998 et
s’est construit
sur des fondations agiles
depuis 2001.
Nous testons actuellement la
sociocratie 3.0
En 2017, OCTO rejoint l’écosystème Accenture,
avec la promesse de garder sa propre culture et
sa proposition de valeur unique.
Ceci ouvre à nos partenaires l’accès à un
écosystème riche permettant de déclencher un
nombre pharaonique d’expertises pointues
métier, IT, Digital.
60%
Delivery
5%
Formation
35%
Conseil
Product &
Design
(200+ experts)
Cloud
Engineering
(150+ experts)
Software
Engineering
(200+ experts)
Data &AI
(150+ experts)
4 ateliers
4
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
est un organisme de
FORMATION
à destination
des ACTEURS DE LA
TRANSFORMATION
DIGITALE
RETROUVEZ NOUS SUR : OCTO.ACADEMY
Notre organisme de formation : OCTO Academy
Numéro d’agrément n° 11 75 48 936 75
Stages pratiques - favorise l’innovation
Séminaires - accompagner les transformations
• Formations à destination des hauts potentiels
• Accélération de la montée en compétence
• Transformer les façons de faire
Certifications obtenues
MY USI
Inspirer dans
la durée
5
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Nos publications, conférences et communications
+ de 80
CONFÉRENCES
2PAR MOIS
500 000
LISTENERS
BLOG
News and Feeds
blog.octo.com
Culture Flow
(2021)
Afin d’apprendre le
japonais
(2023)
Culture Code
(2016)
Culture DevOps vol.3
(2019)
More on octo.com
Review our Events on youtube Subscribe here
REFERENCES CONFERENCES TALKS
Découvrir d’autres refcards
sur octo.com
REFCARDS
API Architecture
Stratégie (2018)
6
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
OCTO, partenaire de votre transition
vers le Numérique Responsable
Designers de services numériques responsables :
Eco-conception PO, UX, UI, Archi, Dev, Ops
Accessibilité & inclusivité
Respect de la vie privée
OCTO s’engage
7
03
02
01
06
05
04
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Plan de la présentation
Introduction
Faire un programme avec l’IA
Utiliser la puissance des assistants IA
Comment y aller
Du métier de développeur
Conclusions et perspectives
8
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
01
Introduction
9
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Une nouvelle génération d'outils d’aide à la création de
code intégrés dans les IDE
> Basée sur les technologies LLMs
> 3 produits commerciaux phares :
AWS whisperer, Gitlab Copilot, TabNine
> Des alternatives émergent : Cursor (fork VSC+openAI),
Hugging Face (star coder), intelliJ
De quoi s’agit-il ?
Deux mécanismes d’interaction
> Suggestions lors de l’écriture du code (historique)
> Chat (la tendance)
10
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Démo
● Une application qui expose
une API REST pour une
“TO DO LIST”
● Le modèle et le service
a été implémenté
● On est en train d’implémenter
la partie “contrôleur” qui est
les point d’entrée des requêtes
HTTP.
● Dans la démo on va voir :
○ Les suggestions en ligne
○ L’interaction à partir
du chat
11
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Verbatim
On est sur MERCURE on pair beaucoup avec Nicolas et copilot anticipe
pas mal de nos tests, nous remonte parfois des problèmes et nous a
même fait remonter des edge case sur des pourcentages par
exemple.
ll est aussi parfois plus précis que nous sur nos conventions de
nommage et semble s'améliorer de jour en jour.
12
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
02
“Elle a fait une
appli tout’ seule”
13
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Générer une vraie application
“Prompt qui demande de créer une application qui implémente une “API ToDoList”
/createWorkspace SCAFFOLD code for a new java project called mycop.
This project is based on Spring boot and aims at exposing REST api. The
model is called "ToDoList". The package is com.octo.copilot.copws
IA
14
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Dans ToDoController
… toDoListService.createToDoList(toDoList)
Dans ToDoListService
… public void addToDoList(ToDoList toDoList) {
Résultats
Breaking News : La commande createWorkspace, introduite en juillet 2023 n’est plus opérationnelle
Ca ne compile pas à cause d’incohérences
La structure du code générée va prendre un certain nombre d’options ‘par défaut’
2.
1.
Ces choix peuvent varier d’une demande (identique à une autre) : non reproductibilité
3.
15
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Générer un programme (d’une seule méthode)
"prompt":
"Function that returns the ratio of zeroes in an array of integers passed as parameter”
Est ce correct ?
Inspired by Pb 137 Mostly Basic Python Problems Dataset
16
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Correction du cas aux limites avec l’aide de l’IA
Le cas de la liste vide n’a pas été spécifié précisément, le fonctionnement “par omission de spécification”
va être une division par zéro.
On souhaite retourner “0” quand la liste est vide.
On peut accepter le début de la méthode puis taper “if (“. L’IA suggère alors le comportement attendu
17
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Premières conclusions
> Le set-up d’une application complète est une tâche complexe qui implique de nombreux choix
> L’Industrialisation est plus maîtrisée via des approches de génération déterministe
Les IA génératives ne sont pas adaptées à la génération d’une application complète
Les IA génératives ont des problèmes de cohérence et par conséquent excellent sur des “programmes” courts
2.
1.
Les IAs fournissent une solution, mais ne posent pas de questions. C’est au développeur de se poser des questions :
3.
Breaking News : Ce n’est plus toujours vrai :
Me: Can you generate data in csv mode that correspond to the ToDOItem object
Copilot : Sure, I can help with that. However, I need to know the structure of the ToDoItem object. Could you please provide the
fields that are included in a ToDoItem object?
18
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Libérer la puissance
des assistants IA
03
19
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Les cas d’utilisations classiques qui fonctionnent bien
Cas d’utilisation Inline/chat Commentaire
Suggestion multi Ligne à la saisie InLine
Le cas d’usage principal :
“autocompletion multiligne”
Suggestion multi ligne suite à la description
textuelle d’une méthode
InLine/Chat
Décrire une méthode par un commentaire
ou par son nom, de manière à ce que l’outil
la génère
Développement du code par un dialogue Chat
Driver l’IA pour qu’elle écrire le code, en
lui indiquant quoi faire et quoi modifier
Ecriture de tests unitaires InLine/Chat Génération de tests unitaires
Génération de fichier de données InLine/Chat
Le chat permet des possibilités plus
importantes, par exemple rajouter ou
modifier des champs sur chaque ligne
20
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Les cas d’utilisations qui fonctionnent dans des cas simples ou des
contextes spécifiques
Cas d’utilisation Inline/chat Commentaire
Génération d’un fichier ou d’une classe entière Chat Par exemple un “modèle” en entier
Explication de code Chat
A du sens sur du code que l’on n’a pas
écrit. Reste “près” du code.
Proposition de corrections, améliorations,
refactoring
Chat
Résultat variable suivant le type de
problème. Par exemple bon sur le
remplacement de boucles en “stream”. En
concurrence avec les fonctionnalités IDE.
Génération du readme Chat
A l’usage d’humains ou de machine, devra
probablement être retravaillé. Intéressant
pour une langue étrangère
Réponse à des questions de codage Chat
Pour éviter d’aller chercher sur google
ou dans de la doc annexe
21
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Autres fonctionnalités suivant les produits
Cas d’utilisation Inline/chat Commentaire
Fonctionnalités d’analyse de code Chat
Analyse de vulnérabilité de sécurité
(type OWASP)
Détection de code “connu” dans le code
généré
Appel de l’IA dans d’autres contexte que l’écriture Chat Erreur d’exécutions
22
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Exemple d’amélioration de code
public double ratioOfZeroes(int[] numbers) {
long count = Arrays.stream(numbers).filter(num -> num == 0).count();
return (double) count / numbers.length;
}
Prompt :
can you improve the
selected code (à noter que
array est maintenant
numbers)
23
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Exemple d’explication de code
The selected code is a Spring Boot controller class named ToDoController. It's responsible for handling HTTP requests related to "To Do"
items. Here's a breakdown of its functionality:
1. @RestController: This annotation indicates that the class should be treated as a controller where every method returns a domain
object instead of a view.
2. @RequestMapping("/api/todos"): This annotation maps HTTP requests to the controller's methods. In this case, it's mapping
requests that start with "/api/todos".
3. @Autowired: This annotation allows Spring to resolve and inject collaborating beans into our bean. Here it's injecting an instance of
ToDoService.
4. @PostMapping: This annotation is used to map HTTP POST requests onto specific handler methods. Here it's used for creating a
new "To Do" item.
5. @GetMapping: This annotation is used to map HTTP GET requests onto specific handler methods. Here it's used for retrieving all "To
Do" items and a specific "To Do" item by its ID.
6. @PutMapping("/{id}"): This annotation is used to map HTTP PUT requests onto specific handler methods. Here it's used for
updating a specific "To Do" item by its ID.
7. @DeleteMapping("/{id}"): This annotation is used to map HTTP DELETE requests onto specific handler methods. Here it's used
for deleting a specific "To Do" item by its ID.
Each method in the controller corresponds to a CRUD operation (Create, Read, Update, Delete). The methods interact with the ToDoService
to perform these operations and return an appropriate HTTP response. If an operation fails (for example, if a "To Do" item with a specific ID
doesn't exist), an exception is caught and an HTTP error status is returned.
C’est ce que font
les controlleurs
Les définitions des
tags est connue
Standard API REST / Spring
Utile pour quelqu’un qui débute
sur la technologie/librairie
24
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Tenir compte de son contexte
Les Use cases sont plus ou moins adaptés suivant le contexte
● Les outils fonctionnent mieux
sur du code de type “back”
que sur du code de type
“affichage”
● Méthodologie et type
d’architecture (TDD, clean
archi..)
Contexte technologique
● UC validation de code :
Avantage Expert : lit et
valide une proposition de
code de manière rapide et
sûre
● UC Explication de code :
Avantage Néophyte
Le niveau d’expertise
● Aime bien avoir des
suggestion au fil du code vs
Est ennuyé par les
suggestions et préfère
utiliser les “prompt”
● Utilise (ou non) les fonctions
évoluées de l’IDE
Habitudes de travail
25
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Les 4 clés pour tirer le meilleur parti de l’IA
1. 2. 3. 4.
Utiliser les Usecases
adaptés à son
contexte
Fournir à l’IA des
informations le plus
détaillée et précises
possibles
Faire des demandes
qui génèrent un
volume de code limité
Garder le contrôle
de L’IA
Tip : Faire évoluer ses
pratiques pour tirer le
meilleurs parti de l’IA
TIP : L’IA ne se comporte
pas comme un humain !
26
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Comment y aller
04
27
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Une démarche progressive
1.
Définir sa stratégie vis à vis des risques technologiques et de mise en oeuvre
Identifier une/des équipes pour faire un pilote
Choisir le produit
Evaluer l’expérimentation
Ajuster et déployer plus largement
28
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
1 - Définir sa stratégie sur les risques technologique et de mise en oeuvre
● Gestion du changement
● Perte de productivité due à une utilisation
non maîtrisée par les équipes
● La fuite du code produit
● La “réutilisation accidentelle” de code sous
copyright
Risques de mise en oeuvre Risques liés à la technologie
29
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
1 - Définir sa stratégie sur les risques technologique et de mise en oeuvre
Nos éléments de réponse
● Gestion du changement
○ S’appuyer sur des développeurs prêt à expérimenter
et faire partager leur expérience
○ Sensibiliser sur le fonctionnement et les limites de
l’outil et la responsabilité du développeur
● Perte de productivité due à une utilisation
non maîtrisée par les équipes
○ Adapter l’utilisation à la maturité
○ Former les équipes, suivres les bonnes pratiques
d’utilisation
○ Faire un pilote, évaluer les résultats
● La fuite du code produit
○ Les fournisseurs proposent l’option de ne pas utiliser
le code fournit pour entraîner leurs modèles
○ Alternative d’utiliser des modèles “clés en main”
déployables sur l’infrastructure de l’entreprise
● La “réutilisation accidentelle” de code sous
copyright
○ Certains outils permettent d’identifier du code
provenant du corpus
○ Risque inexistant sur des “petis fragments” : l’IA
propose ce que le dev aurait tapé !
Risques de mise en oeuvre Risques liés à la technologie
30
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
2 - Identifier une/des équipes pour le pilote
Critères pour choisir une équipe pertinente
Fait du DEV ! (pas que du paramétrage)
Est de taille moyenne (pas juste deux dev)
A un mindset ouvert aux expérimentation à l’innovation
Utilise un langage/progiciel pour lequel il existe une solution d'assistant qui est opérationnelle (donc dev
custom (java, javascript, c, python, c#, php...) ou certains progiciel avec un assistant fourni par l'éditeur).
A un historique de "mesure" stabilisé (pour pouvoir voir l'évolution)
31
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Performance du modèle de l’IA
3. Choisir le produit Performance du
modèle de l’IA
L’Intégration avec
l’IDE
Mode d’installation
et de facturation
● Lié au modèle, à l'entraînement (ex :
code whisperer pour AWS)
● Lié à l’infrastructure (temps de réponse,
disponibilité)
32
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
L’Intégration avec l’IDE
Exemple CURSOR + chat GPT vs VSC et Copilot
3. Choisir le produit Performance du
modèle de l’IA
L’Intégration avec
l’IDE
Mode d’installation
et de facturation
● Fonctionnalités mises à disposition
de l’utilisateur
○ suggestion à la saisie
○ prompt
○ Intégration du prompt sur des lignes de code,
sur la console de sortie…
○ Diff lors de suggestions
○ fonctions assistées par l’IA : improve,
vérification de la sécurité
● Pertinence lié à la “qualité” de ses
“prompts” au modèles
● Options de configuration
○ mettre en pause l’assistance
○ ignorer des types de fichiers
○ modifier les paramètres de génération (ex :
nombre de tokens
Note : Un même produit peut être plus ou moins bien intégré suivant les IDE.
33
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Mode d’installation et de facturation
3. Choisir le produit Performance du
modèle de l’IA
L’Intégration avec
l’IDE
Mode d’installation
et de facturation
● Installation
○ Saas, mutualisé/dédié
○ on premise
● modèles de lien entre
license “IA” et “outil/IDE”
○ License intégrée au produit
ou à l’IDE (ex : progiciel)
○ License spécifique à
l’assistant ex : copilot
○ License “IA” ex : chatGPT +
Cursor
Note : Un même produit peut être plus ou moins bien intégré suivant les IDE.
● Tarification
○ Liée à l’organisation
○ Individuelle
○ Dans un “bundle”
○ Au jour, au mois, à
l’utilisation, à la requête
Note : actuellement on est entre 10 et
20$ par mois
34
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
4 - Evaluer le pilote
Evolutions des métriques Changements
Nécessite d’avoir une base de référence “Avant”
Temps de
montée en
compétence
Vélocité
Niveau de
qualité
Expérience vécue
par le développeur /
Satisfaction
Nombre de bugs
résiduels
…
Des changements sur l’organisation du
travail
Des changements des pratiques de
développement ont eu lieu
35
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
5-Ajuster et déployer
๏ Ajuster
๏ Etendre à d’autres cibles
(langage, contexte, profils)
36
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Du métier de
développeur
05
37
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
“It’s developer’s
(mis)understanding, not
expert knowledge that gets
released in production”
― Alberto Brandolini (@ziobrando)
38
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
“AIs also make factual mistakes and experience hallucinations.”
“There are other issues, such as AIs giving wrong answers to math
problems because they struggle with abstract reasoning. But none
of these are fundamental limitations of artificial intelligence.
Developers are working on them, and I think we’re going to see them
largely fixed in less than two years and possibly much faster.”
Bill Gates in “The Age of AI Has Begun” - 21/03/2023 - gatesnotes.com
“It’s developer’s (mis)understanding,
not expert knowledge that gets
released in production”
Gen AI
39
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Que font les développeurs ?
Mettre au point
Produire/modifier du code
Designer
Comprendre le besoin
Se synchroniser
Imprévus
S’améliorer
1
2
3
4
5
6
7
40
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Que font les développeurs ?
Mettre au point
Produire/modifier du code
Designer
Comprendre le besoin
Se synchroniser
Imprévus
S’améliorer
1
2
3
4
5
6
7
Lire et comprendre
le code existant
Améliorer
Refactorer
Ecrire des tests
Créer du code
nouveau
(émmergence, incrémentation)
41
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Que font les IA ?
Mettre au point
Produire/modifier du code
Designer
Comprendre le besoin
Se synchroniser
Imprévus
S’améliorer
1
2
3
4
5
6
7
Lire et comprendre
le code existant
Améliorer
Refactorer
Ecrire des tests
Créer du code
nouveau
(émmergence, incrémentation)
42
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
L’abandon de la représentation intermédiaire ?
43
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
L’abandon de la représentation intermédiaire sous forme de code ?
Any fool can write code that a computer can
understand. Good programmers write code that
humans can understand.
Martin Fowler - Refactoring : improving the Design of Existing code - 1999
44
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
We cannot escape from the multiplicity of notations unless we
give up on actual programming to replace it by meaningless
interaction. To put it differently, there is a basic difference to be
drawn for a human whether they are entitled to enact the law
or whether they are entitled to change the law. Notational
programmability is oriented towards the latter. The misled
hope of "programming" without programmers and without
notational programmability then becomes the true curse that
we should avoid.
Liesbeth De Mol - Programming Notations. There is no escape - Talk NewCrafts 2023
L’abandon de la représentation intermédiaire sous forme de code ?
45
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
However there Is a danger In [Automatic programming], if
carried too far. By making the computer Into a
"black box" that does the actual programming, the user has
to think less about the logical structure of the problem.
[...]
Instead of encouraging humans to do more and better
thinking, automatic programming may encourage humans
to do less and poorer thinking
David C. Smith - PYGMALION : A creative Programming Environment - 1975
Le métier du développeur : réfléchir
46
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
“There is no way to avoid or replace
the hard work of thinking.”
“You cannot replace any of this
thought processes with tools”
Le métier du développeur : réfléchir
47
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Le métier du développeur : Comprendre le domaine et le modéliser
48
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
[The programming task] should deepen our understanding of the processes of
design and creation, it should give us better control over the task of organizing
our thoughts. If it did not do so, to my taste we should not deserve the computer
at all!
[...]
We shall do a much better programming job, provided that we approach the
task with a full appreciation of its tremendous difficulty, provided that we stick to
modest and elegant programming languages, provided that we respect the
intrinsic limitations of the human mind and approach the task as Very Humble
Programmers.
E.W. Dijsktra - The Humble Programmer (Transcript) - ACM Turing Award winning lecture -
1972
Le métier du développeur : Comprendre le domaine et le modéliser
49
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Des agents spécialisés sur mesure ?
Advances in AI will enable the creation of a personal agent.
Because of the cost of training the models and running the computations, creating a personal
agent is not feasible yet, but thanks to the recent advances in AI, it is now a realistic goal.
B. Gates - AI is about to completely change how you use computers - 09/11/2023 - gatesnotes.com
B. Gates - The Age of AI Has Begun - 21/03/2023 - gatesnotes.com
The AI features are powered by the JetBrains AI service. The service transparently connects you, as
a product user, to different large language models (LLMs) and enables specific AI-powered
features inside many JetBrains products. At launch, the service supports OpenAI and additionally
hosts a number of smaller models created by JetBrains. In the future, we plan to extend this to
more providers, giving our users access to the best options and models available.
Jetbrains AI Assistant - blog.jetbrains.com - 06/2023
50
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Conclusion &
Perspectives
06
51
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Révolution
Conclusion
Réaliser à faible coût des tâches à faible valeur ajoutée
On est loin de l’IA qui remplace le développeur
On est dans une évolution du métier pour utiliser plus d’assistance :
le développeur augmenté qui s’appuie sur des skills accrus de
conception et une expertise plus forte en terme de pratique de
développement
La généralisation de la fonctionnalité “chat” va encore augmenter
le champ des possibles
52
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
Les perspectives
Evolution de l’offre : nouveaux acteurs
+ Actuellement trois produits phares => Copilot,Code Whisperer, TabNine
+ D’autres acteurs sont en lice coté IDE: JetBrains, Cursor,
+ Et coté IA : Google, Hugging Face star coder, Anthropic, Mistral (français)
Concentration possible au moins sur la partie “back end” ?
+ Viabilité économique/impact écologique
+ Les éditeurs semblent perdre de l’argent (80$ vs 10$ facturés) si on en
croit
+ https://www.theregister.com/2023/10/11/github_ai_copilot_microsoft/
+ “ANALYSIS Microsoft is reportedly losing up to $80 a month per user on its
GitHub Copilot services.” le 11/10/2023
53
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved
La Révolution est-elle à venir ?
Des IA plus fiables qui couvrent plus de fonctionnalités :
+ Fonctions pertinentes d’analyse sécurité, analyse de qualité de code,
propositions d’amélioration
+ Amélioration de la consistence sur de la génération multi-fonction,
multi-fichier
+ Meilleure intégration avec les IDEs
+ Ne génère que du code qui compile
Un développeur (instructeur ?) qui ne développe qu’en
donnant des instructions à son assistant
+ Fonctionnement en mode chat qui permet d’aller plus loin dans
l’interaction
+ Des agents personnalisés et spécialisés pour des réponses plus
pertinentes
54
There
is
a
better
way
OCTO Part of Accenture © 2023 - All rights reserved

Contenu connexe

Similaire à OCTO Talks - Les IA s'invitent au chevet des développeurs

La Duck Conf - Les fakes news du low-code
La Duck Conf - Les fakes news du low-code La Duck Conf - Les fakes news du low-code
La Duck Conf - Les fakes news du low-code OCTO Technology
 
WygDay 2010 - session plénière
WygDay 2010 - session plénièreWygDay 2010 - session plénière
WygDay 2010 - session plénièreWygwam
 
L'histoire d'une infrastructure itérative
L'histoire d'une infrastructure itérativeL'histoire d'une infrastructure itérative
L'histoire d'une infrastructure itérativeFrançois Xavier Vende
 
La Duck Conf - "Les papys de l'ESB ont une histoire à vous conter"
La Duck Conf - "Les papys de l'ESB ont une histoire à vous conter"La Duck Conf - "Les papys de l'ESB ont une histoire à vous conter"
La Duck Conf - "Les papys de l'ESB ont une histoire à vous conter"OCTO Technology
 
OCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCSOCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCSOCCIware
 
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolutionLA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolutionOCTO Technology
 
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTVISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTFactoVia
 
Captronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteeCaptronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteePatrick MOREAU
 
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...OCTO Technology
 
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...OCTO Technology
 
La Duck Conf : "Observabilité"
La Duck Conf : "Observabilité"La Duck Conf : "Observabilité"
La Duck Conf : "Observabilité"OCTO Technology
 
OCTO Talks - Lancement du livre Culture Test
OCTO Talks - Lancement du livre Culture TestOCTO Talks - Lancement du livre Culture Test
OCTO Talks - Lancement du livre Culture TestOCTO Technology
 
Agilille 2021 - ceci n'est pas une révolution organisationelle
Agilille 2021 - ceci n'est pas une révolution organisationelleAgilille 2021 - ceci n'est pas une révolution organisationelle
Agilille 2021 - ceci n'est pas une révolution organisationelleOCTO Technology
 
Innover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureInnover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureGuillaume Laforge
 
Le social coding pour la Creative Technologie
Le social coding pour la Creative TechnologieLe social coding pour la Creative Technologie
Le social coding pour la Creative TechnologieUX REPUBLIC
 
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...OCTO Technology
 
Les Métavers: quels usages et quels impacts ?
Les Métavers: quels usages et quels impacts ?Les Métavers: quels usages et quels impacts ?
Les Métavers: quels usages et quels impacts ?Vincent Guigui
 
Le Comptoir OCTO - ChatGPT : Menace ou opportunité ?
Le Comptoir OCTO - ChatGPT : Menace ou opportunité ?Le Comptoir OCTO - ChatGPT : Menace ou opportunité ?
Le Comptoir OCTO - ChatGPT : Menace ou opportunité ?OCTO Technology
 

Similaire à OCTO Talks - Les IA s'invitent au chevet des développeurs (20)

La Duck Conf - Les fakes news du low-code
La Duck Conf - Les fakes news du low-code La Duck Conf - Les fakes news du low-code
La Duck Conf - Les fakes news du low-code
 
WygDay 2010
WygDay 2010WygDay 2010
WygDay 2010
 
WygDay 2010 - session plénière
WygDay 2010 - session plénièreWygDay 2010 - session plénière
WygDay 2010 - session plénière
 
L'histoire d'une infrastructure itérative
L'histoire d'une infrastructure itérativeL'histoire d'une infrastructure itérative
L'histoire d'une infrastructure itérative
 
La Duck Conf - "Les papys de l'ESB ont une histoire à vous conter"
La Duck Conf - "Les papys de l'ESB ont une histoire à vous conter"La Duck Conf - "Les papys de l'ESB ont une histoire à vous conter"
La Duck Conf - "Les papys de l'ESB ont une histoire à vous conter"
 
OCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCSOCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCS
 
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolutionLA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
 
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTVISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
 
Captronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteeCaptronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presentee
 
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...
 
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...
 
La Duck Conf : "Observabilité"
La Duck Conf : "Observabilité"La Duck Conf : "Observabilité"
La Duck Conf : "Observabilité"
 
OCTO Talks - Lancement du livre Culture Test
OCTO Talks - Lancement du livre Culture TestOCTO Talks - Lancement du livre Culture Test
OCTO Talks - Lancement du livre Culture Test
 
Agilille 2021 - ceci n'est pas une révolution organisationelle
Agilille 2021 - ceci n'est pas une révolution organisationelleAgilille 2021 - ceci n'est pas une révolution organisationelle
Agilille 2021 - ceci n'est pas une révolution organisationelle
 
Innover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureInnover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans rupture
 
Le social coding pour la Creative Technologie
Le social coding pour la Creative TechnologieLe social coding pour la Creative Technologie
Le social coding pour la Creative Technologie
 
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
 
Agile Tour 2016 @ Lille
Agile Tour 2016 @ LilleAgile Tour 2016 @ Lille
Agile Tour 2016 @ Lille
 
Les Métavers: quels usages et quels impacts ?
Les Métavers: quels usages et quels impacts ?Les Métavers: quels usages et quels impacts ?
Les Métavers: quels usages et quels impacts ?
 
Le Comptoir OCTO - ChatGPT : Menace ou opportunité ?
Le Comptoir OCTO - ChatGPT : Menace ou opportunité ?Le Comptoir OCTO - ChatGPT : Menace ou opportunité ?
Le Comptoir OCTO - ChatGPT : Menace ou opportunité ?
 

Plus de OCTO Technology

Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloudLe Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloudOCTO Technology
 
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...OCTO Technology
 
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...OCTO Technology
 
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...OCTO Technology
 
Comptoir OCTO ALD Automotive/Leaseplan
Comptoir OCTO ALD Automotive/LeaseplanComptoir OCTO ALD Automotive/Leaseplan
Comptoir OCTO ALD Automotive/LeaseplanOCTO Technology
 
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ? Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ? OCTO Technology
 
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...OCTO Technology
 
Le Comptoir OCTO - Affinez vos forecasts avec la planification distribuée et...
Le Comptoir OCTO -  Affinez vos forecasts avec la planification distribuée et...Le Comptoir OCTO -  Affinez vos forecasts avec la planification distribuée et...
Le Comptoir OCTO - Affinez vos forecasts avec la planification distribuée et...OCTO Technology
 
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conceptionLe Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conceptionOCTO Technology
 
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...OCTO Technology
 
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone : les solutions E...
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone :  les solutions E...Le Comptoir OCTO - L'avenir de la gestion du bilan carbone :  les solutions E...
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone : les solutions E...OCTO Technology
 
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...OCTO Technology
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsOCTO Technology
 
RefCard RESTful API Design
RefCard RESTful API DesignRefCard RESTful API Design
RefCard RESTful API DesignOCTO Technology
 
RefCard API Architecture Strategy
RefCard API Architecture StrategyRefCard API Architecture Strategy
RefCard API Architecture StrategyOCTO Technology
 
LA DUCK CONF 2023 - Journal de bord d’un archi dans l’océan du green
LA DUCK CONF 2023 - Journal de bord d’un archi dans l’océan du greenLA DUCK CONF 2023 - Journal de bord d’un archi dans l’océan du green
LA DUCK CONF 2023 - Journal de bord d’un archi dans l’océan du greenOCTO Technology
 
LA DUCK CONF 2023 - Sous le capot du cloud souverain
LA DUCK CONF 2023 - Sous le capot du cloud souverainLA DUCK CONF 2023 - Sous le capot du cloud souverain
LA DUCK CONF 2023 - Sous le capot du cloud souverainOCTO Technology
 
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutiveLA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutiveOCTO Technology
 
LA DUCK CONF 2023 - Parce que nos plateformes le valent bien
LA DUCK CONF 2023 - Parce que nos plateformes le valent bienLA DUCK CONF 2023 - Parce que nos plateformes le valent bien
LA DUCK CONF 2023 - Parce que nos plateformes le valent bienOCTO Technology
 

Plus de OCTO Technology (20)

Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloudLe Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
 
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
 
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
 
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
 
Refcard GraphQL
Refcard GraphQLRefcard GraphQL
Refcard GraphQL
 
Comptoir OCTO ALD Automotive/Leaseplan
Comptoir OCTO ALD Automotive/LeaseplanComptoir OCTO ALD Automotive/Leaseplan
Comptoir OCTO ALD Automotive/Leaseplan
 
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ? Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
 
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
 
Le Comptoir OCTO - Affinez vos forecasts avec la planification distribuée et...
Le Comptoir OCTO -  Affinez vos forecasts avec la planification distribuée et...Le Comptoir OCTO -  Affinez vos forecasts avec la planification distribuée et...
Le Comptoir OCTO - Affinez vos forecasts avec la planification distribuée et...
 
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conceptionLe Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
 
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
 
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone : les solutions E...
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone :  les solutions E...Le Comptoir OCTO - L'avenir de la gestion du bilan carbone :  les solutions E...
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone : les solutions E...
 
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les fronts
 
RefCard RESTful API Design
RefCard RESTful API DesignRefCard RESTful API Design
RefCard RESTful API Design
 
RefCard API Architecture Strategy
RefCard API Architecture StrategyRefCard API Architecture Strategy
RefCard API Architecture Strategy
 
LA DUCK CONF 2023 - Journal de bord d’un archi dans l’océan du green
LA DUCK CONF 2023 - Journal de bord d’un archi dans l’océan du greenLA DUCK CONF 2023 - Journal de bord d’un archi dans l’océan du green
LA DUCK CONF 2023 - Journal de bord d’un archi dans l’océan du green
 
LA DUCK CONF 2023 - Sous le capot du cloud souverain
LA DUCK CONF 2023 - Sous le capot du cloud souverainLA DUCK CONF 2023 - Sous le capot du cloud souverain
LA DUCK CONF 2023 - Sous le capot du cloud souverain
 
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutiveLA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
 
LA DUCK CONF 2023 - Parce que nos plateformes le valent bien
LA DUCK CONF 2023 - Parce que nos plateformes le valent bienLA DUCK CONF 2023 - Parce que nos plateformes le valent bien
LA DUCK CONF 2023 - Parce que nos plateformes le valent bien
 

OCTO Talks - Les IA s'invitent au chevet des développeurs

  • 1. 1 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Les IA s’invitent au chevet des développeurs : rêve ou cauchemar ? Petit-déjeuner AI pour les développeurs 12/12/2023
  • 2. 2 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Bonjour :-) Alain Fauré Architecte alain.faure@octo.com Alexandre Jeambrun Manager référent alexandre.jeambrun@octo.com
  • 3. 3 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Dont plus de 700 consultant.e.s expert.e.s Tou.te.s cultivant des expertises tech et méthodo pour toujours trouver de meilleures façons de résoudre vos problématiques complexes. 850 OCTOs OCTO a été fondé en 1998 et s’est construit sur des fondations agiles depuis 2001. Nous testons actuellement la sociocratie 3.0 En 2017, OCTO rejoint l’écosystème Accenture, avec la promesse de garder sa propre culture et sa proposition de valeur unique. Ceci ouvre à nos partenaires l’accès à un écosystème riche permettant de déclencher un nombre pharaonique d’expertises pointues métier, IT, Digital. 60% Delivery 5% Formation 35% Conseil Product & Design (200+ experts) Cloud Engineering (150+ experts) Software Engineering (200+ experts) Data &AI (150+ experts) 4 ateliers
  • 4. 4 There is a better way OCTO Part of Accenture © 2023 - All rights reserved est un organisme de FORMATION à destination des ACTEURS DE LA TRANSFORMATION DIGITALE RETROUVEZ NOUS SUR : OCTO.ACADEMY Notre organisme de formation : OCTO Academy Numéro d’agrément n° 11 75 48 936 75 Stages pratiques - favorise l’innovation Séminaires - accompagner les transformations • Formations à destination des hauts potentiels • Accélération de la montée en compétence • Transformer les façons de faire Certifications obtenues MY USI Inspirer dans la durée
  • 5. 5 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Nos publications, conférences et communications + de 80 CONFÉRENCES 2PAR MOIS 500 000 LISTENERS BLOG News and Feeds blog.octo.com Culture Flow (2021) Afin d’apprendre le japonais (2023) Culture Code (2016) Culture DevOps vol.3 (2019) More on octo.com Review our Events on youtube Subscribe here REFERENCES CONFERENCES TALKS Découvrir d’autres refcards sur octo.com REFCARDS API Architecture Stratégie (2018)
  • 6. 6 There is a better way OCTO Part of Accenture © 2023 - All rights reserved OCTO, partenaire de votre transition vers le Numérique Responsable Designers de services numériques responsables : Eco-conception PO, UX, UI, Archi, Dev, Ops Accessibilité & inclusivité Respect de la vie privée OCTO s’engage
  • 7. 7 03 02 01 06 05 04 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Plan de la présentation Introduction Faire un programme avec l’IA Utiliser la puissance des assistants IA Comment y aller Du métier de développeur Conclusions et perspectives
  • 8. 8 There is a better way OCTO Part of Accenture © 2023 - All rights reserved 01 Introduction
  • 9. 9 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Une nouvelle génération d'outils d’aide à la création de code intégrés dans les IDE > Basée sur les technologies LLMs > 3 produits commerciaux phares : AWS whisperer, Gitlab Copilot, TabNine > Des alternatives émergent : Cursor (fork VSC+openAI), Hugging Face (star coder), intelliJ De quoi s’agit-il ? Deux mécanismes d’interaction > Suggestions lors de l’écriture du code (historique) > Chat (la tendance)
  • 10. 10 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Démo ● Une application qui expose une API REST pour une “TO DO LIST” ● Le modèle et le service a été implémenté ● On est en train d’implémenter la partie “contrôleur” qui est les point d’entrée des requêtes HTTP. ● Dans la démo on va voir : ○ Les suggestions en ligne ○ L’interaction à partir du chat
  • 11. 11 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Verbatim On est sur MERCURE on pair beaucoup avec Nicolas et copilot anticipe pas mal de nos tests, nous remonte parfois des problèmes et nous a même fait remonter des edge case sur des pourcentages par exemple. ll est aussi parfois plus précis que nous sur nos conventions de nommage et semble s'améliorer de jour en jour.
  • 12. 12 There is a better way OCTO Part of Accenture © 2023 - All rights reserved 02 “Elle a fait une appli tout’ seule”
  • 13. 13 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Générer une vraie application “Prompt qui demande de créer une application qui implémente une “API ToDoList” /createWorkspace SCAFFOLD code for a new java project called mycop. This project is based on Spring boot and aims at exposing REST api. The model is called "ToDoList". The package is com.octo.copilot.copws IA
  • 14. 14 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Dans ToDoController … toDoListService.createToDoList(toDoList) Dans ToDoListService … public void addToDoList(ToDoList toDoList) { Résultats Breaking News : La commande createWorkspace, introduite en juillet 2023 n’est plus opérationnelle Ca ne compile pas à cause d’incohérences La structure du code générée va prendre un certain nombre d’options ‘par défaut’ 2. 1. Ces choix peuvent varier d’une demande (identique à une autre) : non reproductibilité 3.
  • 15. 15 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Générer un programme (d’une seule méthode) "prompt": "Function that returns the ratio of zeroes in an array of integers passed as parameter” Est ce correct ? Inspired by Pb 137 Mostly Basic Python Problems Dataset
  • 16. 16 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Correction du cas aux limites avec l’aide de l’IA Le cas de la liste vide n’a pas été spécifié précisément, le fonctionnement “par omission de spécification” va être une division par zéro. On souhaite retourner “0” quand la liste est vide. On peut accepter le début de la méthode puis taper “if (“. L’IA suggère alors le comportement attendu
  • 17. 17 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Premières conclusions > Le set-up d’une application complète est une tâche complexe qui implique de nombreux choix > L’Industrialisation est plus maîtrisée via des approches de génération déterministe Les IA génératives ne sont pas adaptées à la génération d’une application complète Les IA génératives ont des problèmes de cohérence et par conséquent excellent sur des “programmes” courts 2. 1. Les IAs fournissent une solution, mais ne posent pas de questions. C’est au développeur de se poser des questions : 3. Breaking News : Ce n’est plus toujours vrai : Me: Can you generate data in csv mode that correspond to the ToDOItem object Copilot : Sure, I can help with that. However, I need to know the structure of the ToDoItem object. Could you please provide the fields that are included in a ToDoItem object?
  • 18. 18 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Libérer la puissance des assistants IA 03
  • 19. 19 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Les cas d’utilisations classiques qui fonctionnent bien Cas d’utilisation Inline/chat Commentaire Suggestion multi Ligne à la saisie InLine Le cas d’usage principal : “autocompletion multiligne” Suggestion multi ligne suite à la description textuelle d’une méthode InLine/Chat Décrire une méthode par un commentaire ou par son nom, de manière à ce que l’outil la génère Développement du code par un dialogue Chat Driver l’IA pour qu’elle écrire le code, en lui indiquant quoi faire et quoi modifier Ecriture de tests unitaires InLine/Chat Génération de tests unitaires Génération de fichier de données InLine/Chat Le chat permet des possibilités plus importantes, par exemple rajouter ou modifier des champs sur chaque ligne
  • 20. 20 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Les cas d’utilisations qui fonctionnent dans des cas simples ou des contextes spécifiques Cas d’utilisation Inline/chat Commentaire Génération d’un fichier ou d’une classe entière Chat Par exemple un “modèle” en entier Explication de code Chat A du sens sur du code que l’on n’a pas écrit. Reste “près” du code. Proposition de corrections, améliorations, refactoring Chat Résultat variable suivant le type de problème. Par exemple bon sur le remplacement de boucles en “stream”. En concurrence avec les fonctionnalités IDE. Génération du readme Chat A l’usage d’humains ou de machine, devra probablement être retravaillé. Intéressant pour une langue étrangère Réponse à des questions de codage Chat Pour éviter d’aller chercher sur google ou dans de la doc annexe
  • 21. 21 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Autres fonctionnalités suivant les produits Cas d’utilisation Inline/chat Commentaire Fonctionnalités d’analyse de code Chat Analyse de vulnérabilité de sécurité (type OWASP) Détection de code “connu” dans le code généré Appel de l’IA dans d’autres contexte que l’écriture Chat Erreur d’exécutions
  • 22. 22 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Exemple d’amélioration de code public double ratioOfZeroes(int[] numbers) { long count = Arrays.stream(numbers).filter(num -> num == 0).count(); return (double) count / numbers.length; } Prompt : can you improve the selected code (à noter que array est maintenant numbers)
  • 23. 23 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Exemple d’explication de code The selected code is a Spring Boot controller class named ToDoController. It's responsible for handling HTTP requests related to "To Do" items. Here's a breakdown of its functionality: 1. @RestController: This annotation indicates that the class should be treated as a controller where every method returns a domain object instead of a view. 2. @RequestMapping("/api/todos"): This annotation maps HTTP requests to the controller's methods. In this case, it's mapping requests that start with "/api/todos". 3. @Autowired: This annotation allows Spring to resolve and inject collaborating beans into our bean. Here it's injecting an instance of ToDoService. 4. @PostMapping: This annotation is used to map HTTP POST requests onto specific handler methods. Here it's used for creating a new "To Do" item. 5. @GetMapping: This annotation is used to map HTTP GET requests onto specific handler methods. Here it's used for retrieving all "To Do" items and a specific "To Do" item by its ID. 6. @PutMapping("/{id}"): This annotation is used to map HTTP PUT requests onto specific handler methods. Here it's used for updating a specific "To Do" item by its ID. 7. @DeleteMapping("/{id}"): This annotation is used to map HTTP DELETE requests onto specific handler methods. Here it's used for deleting a specific "To Do" item by its ID. Each method in the controller corresponds to a CRUD operation (Create, Read, Update, Delete). The methods interact with the ToDoService to perform these operations and return an appropriate HTTP response. If an operation fails (for example, if a "To Do" item with a specific ID doesn't exist), an exception is caught and an HTTP error status is returned. C’est ce que font les controlleurs Les définitions des tags est connue Standard API REST / Spring Utile pour quelqu’un qui débute sur la technologie/librairie
  • 24. 24 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Tenir compte de son contexte Les Use cases sont plus ou moins adaptés suivant le contexte ● Les outils fonctionnent mieux sur du code de type “back” que sur du code de type “affichage” ● Méthodologie et type d’architecture (TDD, clean archi..) Contexte technologique ● UC validation de code : Avantage Expert : lit et valide une proposition de code de manière rapide et sûre ● UC Explication de code : Avantage Néophyte Le niveau d’expertise ● Aime bien avoir des suggestion au fil du code vs Est ennuyé par les suggestions et préfère utiliser les “prompt” ● Utilise (ou non) les fonctions évoluées de l’IDE Habitudes de travail
  • 25. 25 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Les 4 clés pour tirer le meilleur parti de l’IA 1. 2. 3. 4. Utiliser les Usecases adaptés à son contexte Fournir à l’IA des informations le plus détaillée et précises possibles Faire des demandes qui génèrent un volume de code limité Garder le contrôle de L’IA Tip : Faire évoluer ses pratiques pour tirer le meilleurs parti de l’IA TIP : L’IA ne se comporte pas comme un humain !
  • 26. 26 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Comment y aller 04
  • 27. 27 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Une démarche progressive 1. Définir sa stratégie vis à vis des risques technologiques et de mise en oeuvre Identifier une/des équipes pour faire un pilote Choisir le produit Evaluer l’expérimentation Ajuster et déployer plus largement
  • 28. 28 There is a better way OCTO Part of Accenture © 2023 - All rights reserved 1 - Définir sa stratégie sur les risques technologique et de mise en oeuvre ● Gestion du changement ● Perte de productivité due à une utilisation non maîtrisée par les équipes ● La fuite du code produit ● La “réutilisation accidentelle” de code sous copyright Risques de mise en oeuvre Risques liés à la technologie
  • 29. 29 There is a better way OCTO Part of Accenture © 2023 - All rights reserved 1 - Définir sa stratégie sur les risques technologique et de mise en oeuvre Nos éléments de réponse ● Gestion du changement ○ S’appuyer sur des développeurs prêt à expérimenter et faire partager leur expérience ○ Sensibiliser sur le fonctionnement et les limites de l’outil et la responsabilité du développeur ● Perte de productivité due à une utilisation non maîtrisée par les équipes ○ Adapter l’utilisation à la maturité ○ Former les équipes, suivres les bonnes pratiques d’utilisation ○ Faire un pilote, évaluer les résultats ● La fuite du code produit ○ Les fournisseurs proposent l’option de ne pas utiliser le code fournit pour entraîner leurs modèles ○ Alternative d’utiliser des modèles “clés en main” déployables sur l’infrastructure de l’entreprise ● La “réutilisation accidentelle” de code sous copyright ○ Certains outils permettent d’identifier du code provenant du corpus ○ Risque inexistant sur des “petis fragments” : l’IA propose ce que le dev aurait tapé ! Risques de mise en oeuvre Risques liés à la technologie
  • 30. 30 There is a better way OCTO Part of Accenture © 2023 - All rights reserved 2 - Identifier une/des équipes pour le pilote Critères pour choisir une équipe pertinente Fait du DEV ! (pas que du paramétrage) Est de taille moyenne (pas juste deux dev) A un mindset ouvert aux expérimentation à l’innovation Utilise un langage/progiciel pour lequel il existe une solution d'assistant qui est opérationnelle (donc dev custom (java, javascript, c, python, c#, php...) ou certains progiciel avec un assistant fourni par l'éditeur). A un historique de "mesure" stabilisé (pour pouvoir voir l'évolution)
  • 31. 31 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Performance du modèle de l’IA 3. Choisir le produit Performance du modèle de l’IA L’Intégration avec l’IDE Mode d’installation et de facturation ● Lié au modèle, à l'entraînement (ex : code whisperer pour AWS) ● Lié à l’infrastructure (temps de réponse, disponibilité)
  • 32. 32 There is a better way OCTO Part of Accenture © 2023 - All rights reserved L’Intégration avec l’IDE Exemple CURSOR + chat GPT vs VSC et Copilot 3. Choisir le produit Performance du modèle de l’IA L’Intégration avec l’IDE Mode d’installation et de facturation ● Fonctionnalités mises à disposition de l’utilisateur ○ suggestion à la saisie ○ prompt ○ Intégration du prompt sur des lignes de code, sur la console de sortie… ○ Diff lors de suggestions ○ fonctions assistées par l’IA : improve, vérification de la sécurité ● Pertinence lié à la “qualité” de ses “prompts” au modèles ● Options de configuration ○ mettre en pause l’assistance ○ ignorer des types de fichiers ○ modifier les paramètres de génération (ex : nombre de tokens Note : Un même produit peut être plus ou moins bien intégré suivant les IDE.
  • 33. 33 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Mode d’installation et de facturation 3. Choisir le produit Performance du modèle de l’IA L’Intégration avec l’IDE Mode d’installation et de facturation ● Installation ○ Saas, mutualisé/dédié ○ on premise ● modèles de lien entre license “IA” et “outil/IDE” ○ License intégrée au produit ou à l’IDE (ex : progiciel) ○ License spécifique à l’assistant ex : copilot ○ License “IA” ex : chatGPT + Cursor Note : Un même produit peut être plus ou moins bien intégré suivant les IDE. ● Tarification ○ Liée à l’organisation ○ Individuelle ○ Dans un “bundle” ○ Au jour, au mois, à l’utilisation, à la requête Note : actuellement on est entre 10 et 20$ par mois
  • 34. 34 There is a better way OCTO Part of Accenture © 2023 - All rights reserved 4 - Evaluer le pilote Evolutions des métriques Changements Nécessite d’avoir une base de référence “Avant” Temps de montée en compétence Vélocité Niveau de qualité Expérience vécue par le développeur / Satisfaction Nombre de bugs résiduels … Des changements sur l’organisation du travail Des changements des pratiques de développement ont eu lieu
  • 35. 35 There is a better way OCTO Part of Accenture © 2023 - All rights reserved 5-Ajuster et déployer ๏ Ajuster ๏ Etendre à d’autres cibles (langage, contexte, profils)
  • 36. 36 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Du métier de développeur 05
  • 37. 37 There is a better way OCTO Part of Accenture © 2023 - All rights reserved “It’s developer’s (mis)understanding, not expert knowledge that gets released in production” ― Alberto Brandolini (@ziobrando)
  • 38. 38 There is a better way OCTO Part of Accenture © 2023 - All rights reserved “AIs also make factual mistakes and experience hallucinations.” “There are other issues, such as AIs giving wrong answers to math problems because they struggle with abstract reasoning. But none of these are fundamental limitations of artificial intelligence. Developers are working on them, and I think we’re going to see them largely fixed in less than two years and possibly much faster.” Bill Gates in “The Age of AI Has Begun” - 21/03/2023 - gatesnotes.com “It’s developer’s (mis)understanding, not expert knowledge that gets released in production” Gen AI
  • 39. 39 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Que font les développeurs ? Mettre au point Produire/modifier du code Designer Comprendre le besoin Se synchroniser Imprévus S’améliorer 1 2 3 4 5 6 7
  • 40. 40 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Que font les développeurs ? Mettre au point Produire/modifier du code Designer Comprendre le besoin Se synchroniser Imprévus S’améliorer 1 2 3 4 5 6 7 Lire et comprendre le code existant Améliorer Refactorer Ecrire des tests Créer du code nouveau (émmergence, incrémentation)
  • 41. 41 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Que font les IA ? Mettre au point Produire/modifier du code Designer Comprendre le besoin Se synchroniser Imprévus S’améliorer 1 2 3 4 5 6 7 Lire et comprendre le code existant Améliorer Refactorer Ecrire des tests Créer du code nouveau (émmergence, incrémentation)
  • 42. 42 There is a better way OCTO Part of Accenture © 2023 - All rights reserved L’abandon de la représentation intermédiaire ?
  • 43. 43 There is a better way OCTO Part of Accenture © 2023 - All rights reserved L’abandon de la représentation intermédiaire sous forme de code ? Any fool can write code that a computer can understand. Good programmers write code that humans can understand. Martin Fowler - Refactoring : improving the Design of Existing code - 1999
  • 44. 44 There is a better way OCTO Part of Accenture © 2023 - All rights reserved We cannot escape from the multiplicity of notations unless we give up on actual programming to replace it by meaningless interaction. To put it differently, there is a basic difference to be drawn for a human whether they are entitled to enact the law or whether they are entitled to change the law. Notational programmability is oriented towards the latter. The misled hope of "programming" without programmers and without notational programmability then becomes the true curse that we should avoid. Liesbeth De Mol - Programming Notations. There is no escape - Talk NewCrafts 2023 L’abandon de la représentation intermédiaire sous forme de code ?
  • 45. 45 There is a better way OCTO Part of Accenture © 2023 - All rights reserved However there Is a danger In [Automatic programming], if carried too far. By making the computer Into a "black box" that does the actual programming, the user has to think less about the logical structure of the problem. [...] Instead of encouraging humans to do more and better thinking, automatic programming may encourage humans to do less and poorer thinking David C. Smith - PYGMALION : A creative Programming Environment - 1975 Le métier du développeur : réfléchir
  • 46. 46 There is a better way OCTO Part of Accenture © 2023 - All rights reserved “There is no way to avoid or replace the hard work of thinking.” “You cannot replace any of this thought processes with tools” Le métier du développeur : réfléchir
  • 47. 47 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Le métier du développeur : Comprendre le domaine et le modéliser
  • 48. 48 There is a better way OCTO Part of Accenture © 2023 - All rights reserved [The programming task] should deepen our understanding of the processes of design and creation, it should give us better control over the task of organizing our thoughts. If it did not do so, to my taste we should not deserve the computer at all! [...] We shall do a much better programming job, provided that we approach the task with a full appreciation of its tremendous difficulty, provided that we stick to modest and elegant programming languages, provided that we respect the intrinsic limitations of the human mind and approach the task as Very Humble Programmers. E.W. Dijsktra - The Humble Programmer (Transcript) - ACM Turing Award winning lecture - 1972 Le métier du développeur : Comprendre le domaine et le modéliser
  • 49. 49 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Des agents spécialisés sur mesure ? Advances in AI will enable the creation of a personal agent. Because of the cost of training the models and running the computations, creating a personal agent is not feasible yet, but thanks to the recent advances in AI, it is now a realistic goal. B. Gates - AI is about to completely change how you use computers - 09/11/2023 - gatesnotes.com B. Gates - The Age of AI Has Begun - 21/03/2023 - gatesnotes.com The AI features are powered by the JetBrains AI service. The service transparently connects you, as a product user, to different large language models (LLMs) and enables specific AI-powered features inside many JetBrains products. At launch, the service supports OpenAI and additionally hosts a number of smaller models created by JetBrains. In the future, we plan to extend this to more providers, giving our users access to the best options and models available. Jetbrains AI Assistant - blog.jetbrains.com - 06/2023
  • 50. 50 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Conclusion & Perspectives 06
  • 51. 51 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Révolution Conclusion Réaliser à faible coût des tâches à faible valeur ajoutée On est loin de l’IA qui remplace le développeur On est dans une évolution du métier pour utiliser plus d’assistance : le développeur augmenté qui s’appuie sur des skills accrus de conception et une expertise plus forte en terme de pratique de développement La généralisation de la fonctionnalité “chat” va encore augmenter le champ des possibles
  • 52. 52 There is a better way OCTO Part of Accenture © 2023 - All rights reserved Les perspectives Evolution de l’offre : nouveaux acteurs + Actuellement trois produits phares => Copilot,Code Whisperer, TabNine + D’autres acteurs sont en lice coté IDE: JetBrains, Cursor, + Et coté IA : Google, Hugging Face star coder, Anthropic, Mistral (français) Concentration possible au moins sur la partie “back end” ? + Viabilité économique/impact écologique + Les éditeurs semblent perdre de l’argent (80$ vs 10$ facturés) si on en croit + https://www.theregister.com/2023/10/11/github_ai_copilot_microsoft/ + “ANALYSIS Microsoft is reportedly losing up to $80 a month per user on its GitHub Copilot services.” le 11/10/2023
  • 53. 53 There is a better way OCTO Part of Accenture © 2023 - All rights reserved La Révolution est-elle à venir ? Des IA plus fiables qui couvrent plus de fonctionnalités : + Fonctions pertinentes d’analyse sécurité, analyse de qualité de code, propositions d’amélioration + Amélioration de la consistence sur de la génération multi-fonction, multi-fichier + Meilleure intégration avec les IDEs + Ne génère que du code qui compile Un développeur (instructeur ?) qui ne développe qu’en donnant des instructions à son assistant + Fonctionnement en mode chat qui permet d’aller plus loin dans l’interaction + Des agents personnalisés et spécialisés pour des réponses plus pertinentes
  • 54. 54 There is a better way OCTO Part of Accenture © 2023 - All rights reserved