LLM-Assisted Software Design, a Pattern Language of New Development Practices
Il fut un temps où les patterns étaient le truc à la mode dans le développement logiciel. Il y avait les célèbres design patterns mais on en trouvait aussi pour structurer les interactions utilisateur, l'architecture logicielle ou bien encore les pratiques de programmation.
J'aimais bien cette façon très organisée de présenter des concepts et de les lier entre eux par un pattern language.
Aujourd'hui le truc à la mode dans le développement logiciel c'est l'IA générative. Elle arrive avec tout plein de nouvelles pratiques pour développer des logiciels.
Je m'étais dit "ça serait super d'avoir toutes ces nouvelles pratiques organisées sous forme de pattern language". Et voilà que je tombe sur la table des matières de ce livre "LLM-Assisted Software Design, a Pattern Language of New Development Practices" qu'il me tarde de lire.
Part I: Foundations of LLM-Assisted Development
1. Introduction
- The Changing Landscape of Software Design
- What is a Pattern Language?
- AI as Design Collaborator
2. The Role of LLMs in Software Engineering
- Taxonomy of LLM Interactions
- Prompting, Grounding, and Tool Use
- From Assistants to Agents
Part II: Basic LLM Usages (First-Order Patterns)
3. Prompt-Driven Coding
- Pattern: Ask for the Obvious
- Pattern: Iterate in the Prompt
- Pattern: Scaffold then Expand
- Pattern: Code-by-Analogy
4. Documentation and Comment Generation
- Pattern: Explain-as-Code
- Pattern: Reverse Comments
- Pattern: Code Doc Conversation
- Pattern: Summarize the Diff
5. Unit Test Generation and QA
- Pattern: Test-by-Intent
- Pattern: Generate-then-Generalize
- Pattern: Break-It Buddy
- Pattern: Test for the Unexpected
6. Code Review and Refactoring
- Pattern: Refactor-then-Reflect
- Pattern: Lint by Language Model
- Pattern: Suggest then Simulate
- Pattern: Before/After Diffs
Part III: Enhanced Collaboration Patterns
7. LLMs in Pair Programming
- Pattern: Co-Coder Prompt Turn-Taking
- Pattern: Rubber Duck Prompting
- Pattern: Replayable Coding Sessions
- Pattern: Assistant Divergence
8. Communication and Planning
- Pattern: AI Requirements Summarizer
- Pattern: Conversational Issue Grooming
- Pattern: Prompt-Driven Standups
- Pattern: Ticket-to-Code Translator
9. Knowledge Retrieval and Learning
- Pattern: AI-as-Doc Navigator
- Pattern: Contextual Code Explainer
- Pattern: Onboarding Buddy
- Pattern: Debugging Memory Lens
Part IV: Agentic Workflows and Orchestration
10. Agent-Oriented Software Design
- Pattern: Agent-Driven Refactoring
- Pattern: Describe-to-Build
- Pattern: Agent Action Logging
- Pattern: Stepwise Supervisor
11. Multi-Agent Architectures
- Pattern: Divide-and-Cooperate
- Pattern: Debate-then-Decide
- Pattern: Critique Chain
- Pattern: Role-Specialized Agents
12. Stateful and Memory-Based Agents
- Pattern: Persistent Designer
- Pattern: Evolving Context Buffer
- Pattern: Agent Journal
- Pattern: Prompting with Memory Anchors
Part V: Organizational and Ecosystem-Level Patterns
13. AI-Augmented Team Practices
- Pattern: Role-Patterned AI Use
- Pattern: Team Prompt Repository
- Pattern: Shared Prompt Notebooks
- Pattern: Feedback Loop Rituals
14. Governance, Ethics, and Auditability
- Pattern: Prompt Provenance
- Pattern: Explainable Suggestion Logs
- Pattern: Red Teaming AI Output
- Pattern: Consentful Copilot Use
15. Tooling Ecosystem and Infrastructure
- Pattern: Localized LLM Workbench
- Pattern: IDE-Integrated AI Layers
- Pattern: Internal Prompt Platforms
- Pattern: AI Plugin Pipelines
Part VI: The Future of AI-Native Software Design
16. Meta-Design and Self-Evolving Code
- Pattern: Prompt Compiler
- Pattern: AI-Native DSLs
- Pattern: Evolve-the-Prompt
- Pattern: Code Reflectors
17. AI for Non-Programmers
- Pattern: Conversational App Prototyping
- Pattern: Workflow Narration
- Pattern: Diagram-to-App
- Pattern: Domain Expert Co-Designer
Appendices
- A. LLM Capabilities Reference
- B. Prompt Engineering Templates
- C. Case Studies: LLM in the Wild
- D. Glossary of Patterns
- E. Pattern Language Index
Ça donne envie, non ?
Il y a juste un souci. Le titre, je l'ai inventé, et la table des matières, c'est un LLM qui l'a inventée.
Par contre, j'ai toujours envie de le lire. Donc, si vous l'écrivez ou si vous connaissez quelqu'un qui l'écrit, tenez moi au courant !