Documentation Lisible par l'IA

Actuellement, il y a beaucoup d'agitation autour d'un outil de dĂ©veloppement appelĂ© GitHub Copilot, qui est dotĂ© de fonctionnalitĂ©s assistĂ©es par l'IA. Il semble y avoir une idĂ©e fausse selon laquelle cet outil n'est destinĂ© qu'aux ingĂ©nieurs. Bien que cela soit partiellement vrai, cela est Ă©galement partiellement incorrect. En effet, GitHub Copilot a une capacitĂ© incroyable Ă  transformer la façon dont les ingĂ©nieurs travaillent. Cependant, Ă  mesure que les mĂ©thodes de travail des ingĂ©nieurs changent, les organisations doivent Ă©galement s'adapter. Si vous ĂȘtes en position de gestion de projet ou de propriĂ©taire de produit, il s'agit d'une question importante pour vous Ă©galement. Puisque les ingĂ©nieurs de votre Ă©quipe sont censĂ©s donner le meilleur d'eux-mĂȘmes et mettre en Ɠuvre rapidement vos exigences dĂ©finies. À l'avenir, mĂȘme si vous n'ĂȘtes pas un ingĂ©nieur, vous devrez crĂ©er des documents lisibles par l'IA pour permettre Ă  vos ingĂ©nieurs de travailler avec l'IA.

Culture de la documentation et développement natif de l'IA

Ces derniÚres années, la technologie de l'IA a progressé rapidement, avec des modÚles tels que LLM (Large Language Model) attirant l'attention. GitHub, une plateforme de développement open-source, s'est également aventuré dans le domaine du développement de l'IA. Un exemple principal de cela est "GitHub Copilot". Curieusement, le développement assisté par l'IA et le développement open-source partagent des points communs en termes de collaboration. Plus précisément, les deux méthodes impliquent de travailler avec des formats basés sur des documents tels que Markdown. Des formats tels que Markdown sont conçus pour représenter des informations structurées et sont plus faciles à analyser par l'IA que les fichiers PowerPoint ou Excel. Par conséquent, ils contribuent à l'amélioration de la qualité du code généré par l'IA.

L'IA préfÚre les fichiers CSV simples aux feuilles de calcul Excel complexes remplies de métadonnées. Si vous, en tant que gestionnaire de projet, énumérez les exigences des clients et recueillez les informations nécessaires pour une base de données. Si les exigences sont écrites dans un fichier CSV ou résumées dans Markdown, les ingénieurs peuvent facilement les convertir en code. Cependant, si vous compilez les informations dans un document Excel adapté à vos préférences, les ingénieurs doivent d'abord copier, formater, puis le convertir en code. Quelle approche est meilleure?

De plus, dans le dĂ©veloppement open-source, la qualitĂ© de la documentation peut ĂȘtre directement liĂ©e au succĂšs d'un projet. Les projets open-source sont ouverts Ă  tous et une documentation correctement entretenue permet aux nouveaux dĂ©veloppeurs de s'impliquer plus facilement. Par consĂ©quent, la documentation est trĂšs valorisĂ©e dans le dĂ©veloppement open-source. De mĂȘme, dans le dĂ©veloppement de l'IA, une culture de documentation bien Ă©tablie peut conduire Ă  un dĂ©veloppement plus efficace et de meilleure qualitĂ©. MĂȘme si vous n'ĂȘtes pas un ingĂ©nieur, votre langue naturelle Ă©crite en Markdown peut contribuer de maniĂšre significative Ă  la production finale, qui est le code. Il peut s'ag ir du code reprĂ©sentant la logique mĂ©tier, des dĂ©finitions de tables ou mĂȘme des scĂ©narios de test. Votre Ă©quipe de dĂ©veloppement est-elle prĂȘte Ă  inclure l'IA ? Les documents lisibles par l'IA sont-ils prĂ©parĂ©s ? Si la rĂ©ponse est non, vous devez commencer Ă  crĂ©er une Ă©quipe de dĂ©veloppement Ă  l'aise pour travailler avec l'IA.

Développement natif de l'IA et stratégie InnerSource

Nous avons parlé du développement open-source, mais il existe également un concept similaire appelé InnerSource. InnerSource est une approche qui adopte les meilleures pratiques du développement de logiciels open-source au sein des organisations qui développent des logiciels non open-source ou propriétaires. Il vise à favoriser la collaboration entre les différentes divisions de l'organisation et à briser les silos organisationnels.

InnerSource devient de plus en plus important pour les entreprises pour éviter de réinventer la roue, rationaliser le développement pour réduire les coûts et créer de la valeur grùce à la collaboration.

Comme mentionné sur la page de développement natif de l'IA, l'IA a tendance à augmenter les humains expérimentés. Les personnes ùgées ou expérimentées au sein d'une organisation qui comprennent l'architecture sont renforcées, tandis que les autres se voient attribuer des tùches plus simples.

Cependant, puisque l'IA est principalement formée sur la base de connaissances provenant d'Internet, elle ne peut pas accéder aux domaines propriétaires, aux connaissances fermées au sein des organisations ou aux informations non publiées. Par conséquent, si ces informations ne sont pas documentées ou partagées correctement au sein de l'organisation, cela pose un problÚme. Ce problÚme signifie que non seulement les ingénieurs ne peuvent pas accéder aux informations, mais l'IA comme GitHub Copilot ne peut pas non plus y accéder.

Les connaissances qui ne peuvent pas ĂȘtre obtenues Ă  partir d'Internet deviennent actuellement plus importantes et une compĂ©tence essentielle des entreprises. Il y a une citation d'un livre d'introduction Ă  InnerSource "Getting Started with InnerSource"arrow-up-right d'O'Reilly :

InnerSource diffÚre de l'open-source classique en restant dans la vue et le contrÎle d'une seule organisation. L'« ouverture » du projet s'étend à de nombreuses équipes au sein de l'organisation. Cela permet à l'organisation d'intégrer des secrets commerciaux différenciants dans le code sans craindre qu'ils ne soient révélés à des personnes extérieures, tout en bénéficiant de la créativité et des perspectives diverses apportées par les personnes de toute l'organisation.

De nombreuses entreprises sont confrontĂ©es au choix de collaborer avec l'IA ou d'ĂȘtre remplacĂ©es par l'IA. Il est essentiel d'agrĂ©ger les informations internes qui sont la source de l'avantage concurrentiel de l'organisation et de les faire utiliser par l'IA. Pour y parvenir, une documentation lisible par l'IA est indispensable.

En ce qui concerne InnerSource, il existe dĂ©jĂ  une communautĂ© mature oĂč les mĂ©thodes pour rĂ©aliser la co-crĂ©ation au sein des organisations et crĂ©er de la documentation sont partagĂ©es. AccĂ©dez Ă  cette communautĂ© et tirez parti des initiatives InnerSource. En faisant cela, vous pouvez utiliser efficacement les connaissances et les informations internes et tirer le meilleur parti de la collaboration avec l'IA.

Références InnerSource

Créer une documentation riche en contexte

À mesure que le dĂ©veloppement open-source se dĂ©veloppe, la collaboration entre les pays et les fuseaux horaires Ă©merge. Cependant, la distance gĂ©ographique et les diffĂ©rences de fuseau horaire peuvent parfois rendre la communication synchrone difficile. Par exemple, le jour Ă  New York est la nuit Ă  Tokyo, et il n'est pas souhaitable de dĂ©ranger les contributeurs basĂ©s au Japon la nuit ou d'interfĂ©rer avec le temps familial. Par consĂ©quent, la documentation basĂ©e sur des documents Ă©crits est gĂ©nĂ©ralement prĂ©fĂ©rĂ©e. Il pourrait s'agir de quelque chose comme des RFC ou des documents de conception, ou de commentaires Ă©crits dans les problĂšmes GitHub. Les documents formĂ©s par des commentaires dans les problĂšmes et similaires sont Ă©galement appelĂ©s documentation passivearrow-up-right. Ce sont aussi des formes de documentation.

Il y a une passage dans Understanding the InnerSource Checklistarrow-up-right publié par O'Reilly qui dit ceci :

La documentation passive est l'enregistrement de la documentation que nous créons chaque jour en communiquant ouvertement. C'est un excellent moyen d'obtenir des connaissances tribales hors des silos et dans un format archivable et trouvable. En prime, elle est généralement conservée avec le projet ou le code qu'elle documente, ce qui la rend facile à trouver et pertinente dans son contexte.

Ce qui est important ici, c'est de bien le mettre en mots, y compris le contexte. Il est difficile de transmettre la communication non verbale, les nuances et l'atmosphÚre qui sont communiquées via Zoom ou des conversations en face à face de maniÚre asynchrone à travers les fuseaux horaires.

ConsidĂ©rez le dĂ©veloppement avec l'IA. Par exemple, GitHub Copilot participera-t-il aux rĂ©unions Zoom ? Serait-il dans la salle de l'Ă©quipe en disant : "Hey, je suis GitHub Copilot, faisons une rĂ©union de suivi rapide" ? La rĂ©ponse est non. Tout le contexte doit ĂȘtre transmis Ă  l'IA par Ă©crit. C'est Ă©galement nĂ©cessaire lors de la crĂ©ation d'une documentation appropriĂ©e pour une communication asynchrone, comme dans le dĂ©veloppement open-source.

Bien sĂ»r, il y a des diffĂ©rences dans la granularitĂ© de la documentation entre le dĂ©veloppement open-source et le dĂ©veloppement assistĂ© par l'IA. Écrire "Je veux corriger ce bogue" dans les problĂšmes GitHub pourrait inciter quelqu'un Ă  penser Ă  une solution, mais l'IA ne peut pas aller aussi loin. Cependant, il existe certainement des domaines dans lesquels l'IA excelle. Si vous voulez exprimer une architecture cloud en tant qu'infrastructure en code, il est prĂ©fĂ©rable de l'Ă©crire en Mermaid ou de l'exprimer en langage naturel plutĂŽt que de la dessiner dans PowerPoint.

Le point ici n'est pas que toute communication doit ĂȘtre documentĂ©e. Vous et votre Ă©quipe devez rĂ©flĂ©chir au niveau de documentation Ă  laisser, comment et oĂč la laisser.

La coordination de la connaissance organisationnelle par l'IA

Avec des fonctionnalités telles que GitHub Copilot pour les documents inclus dans GitHub Copilot X, l'IA peut créer la documentation parfaite pour vous. Les documents que vous écrivez peuvent également devenir des supports d'intégration pour la personne suivante.

Dans le passé, rassembler des informations et créer des supports d'intégration pour les nouveaux ingénieurs était une tùche courante, mais à l'avenir, l'IA prendra probablement en charge ce rÎle. Vous pouvez intégrer toutes les connaissances que vous possédez dans des documents en tant que seule source fiable d'information.

Cette approche peut Ă©galement ĂȘtre clairement vue dans la documentation d'Atlassianarrow-up-right. La lecture de leur documentation en gardant Ă  l'esprit le dĂ©veloppement natif de l'IA pourrait conduire Ă  de nouvelles dĂ©couvertes. Les documents que vous Ă©crivez sembleront avoir une personnalitĂ© grĂące Ă  l'IA. Cependant, cela nĂ©cessite une documentation suffisante, comme mentionnĂ© prĂ©cĂ©demment.

La distance entre le langage naturel et la mise en Ɠuvre se rapproche

Comme vous l'avez peut-ĂȘtre dĂ©jĂ  remarquĂ©, la distance entre le langage naturel et la mise en Ɠuvre se rapproche beaucoup. Comme mentionnĂ© prĂ©cĂ©demment, d'un point de vue Ă©ducatif, si l'Ă©criture de prompts et de code dans un seul endroit continue, il sera peut-ĂȘtre possible de crĂ©er une documentation dans un seul fichier. Ce genre de changement est fascinant.

Liste de contrĂŽle

Last updated