diff --git a/content/en/post/series/agentic_ai/ai-coding-agent/index.md b/content/en/post/series/agentic_ai/ai-coding-agent/index.md index 5b3ac96..f249e69 100644 --- a/content/en/post/series/agentic_ai/ai-coding-agent/index.md +++ b/content/en/post/series/agentic_ai/ai-coding-agent/index.md @@ -1,7 +1,7 @@ +++ author = "Smaine Kahlouch" title = "`Agentic Coding`: concepts and hands-on Platform Engineering use cases" -date = "2026-01-29" +date = "2026-02-06" summary = "Exploring **agentic coding** through `Claude Code`: from fundamentals (tokens, MCPs, skills) to real-world use cases, with an enthusiastic yet honest take on this new way of working." featured = true codeMaxLines = 30 @@ -62,7 +62,7 @@ The cycle is simple: **reason → act → observe → repeat**. The agent calls A coding agent combines several components: -* **LLM**: The "brain" that reasons (Claude Opus 4.5, Gemini 3 Pro, Devstral 2...) +* **LLM**: The "brain" that reasons (Claude Opus 4.6, Gemini 3 Pro, Devstral 2...) * **Tools**: Available actions (read/write files, execute commands, search the web...) * **Memory**: Preserved context (`CLAUDE.md`, `AGENTS.md`, `GEMINI.md`... depending on the tool, plus conversation history) * **Planning**: The ability to break down a complex task into sub-steps @@ -73,16 +73,16 @@ New models and versions appear at a breakneck pace. However, you need to be care The [**SWE-bench Verified**](https://www.swebench.com/) benchmark has become the reference for evaluating model capabilities in software development. It measures the ability to solve real bugs from GitHub repositories and helps guide our choices. -{{< img src="swe-bench-leaderboard.png" width="900" >}} +{{< img src="swe-bench-leaderboard.png" width="750" >}} {{% notice warning "These numbers change fast!" %}} -Check [swebench.com](https://www.swebench.com/) for the latest results. At the time of writing, Claude Opus 4.5 leads with **74.4%**, closely followed by Gemini 3 Pro (**74.2%**). +Check [vals.ai](https://www.vals.ai/benchmarks/swebench) for the latest independent results. At the time of writing, Claude Opus 4.6 leads with **79.2%**, closely followed by Gemini 3 Flash (**76.2%**) and GPT-5.2 (**75.4%**). {{% /notice %}} In practice, today's top models are all capable enough for most _Platform Engineering_ tasks. {{% notice info "Why model choice matters" %}} -Boris Cherny, creator of Claude Code, shared his take on model selection: +Boris Cherny, creator of Claude Code, shared his take on model selection (about Opus 4.5 — the reasoning still holds): {{< img src="boris-opus4.5.png" width="600" >}} @@ -96,7 +96,7 @@ There are many coding agent options out there. Here are a few examples: | Tool | Type | Strengths | |------|------|-----------| -| [**Claude Code**](https://docs.anthropic.com/en/docs/claude-code) | Terminal | 200K context, high SWE-bench score, hooks & MCP | +| [**Claude Code**](https://code.claude.com/docs/en/overview) | Terminal | 200K context (1M in beta), high SWE-bench score, hooks & MCP | | [**opencode**](https://opencode.ai/) | Terminal | **Open source**, multi-provider, local models (Ollama) | | [**Cursor**](https://cursor.sh/) | IDE | Visual workflow, Composer mode | | [**Antigravity**](https://antigravity.google/) | IDE | Parallel agents, Manager view | @@ -109,7 +109,7 @@ I started with Cursor, then switched to Claude Code — probably because of my * ## :books: Essential Claude Code concepts -This section cuts straight to the point: **tokens, MCPs, Skills, and Tasks**. I'll skip the initial setup (the [official docs](https://docs.anthropic.com/en/docs/claude-code) cover that well) and subagents — that's internal plumbing; what matters is what you can *build* with them. Most of these concepts **also apply to other coding agents**. +This section cuts straight to the point: **tokens, MCPs, Skills, and Tasks**. I'll skip the initial setup (the [official docs](https://code.claude.com/docs/en/overview) cover that well) and subagents — that's internal plumbing; what matters is what you can *build* with them. Most of these concepts **also apply to other coding agents**. ### Tokens and context window @@ -117,7 +117,7 @@ This section cuts straight to the point: **tokens, MCPs, Skills, and Tasks**. I' A **token** is the basic unit the model processes — roughly 4 characters in English, 2-3 in French. Why does this matter? Because **everything costs tokens**: input, output, and context. -The **context window** (200K tokens for Claude) represents the model's "working memory". The `/context` command lets you see how this space is used: +The **context window** (200K tokens for Claude, up to 1M in beta) represents the model's "working memory". The `/context` command lets you see how this space is used: ```console /context @@ -332,7 +332,7 @@ For those steeped in Kubernetes, here's an analogy 😉: the spec defines the ** | Framework | Key strength | Ideal use case | |-----------|-------------|----------------| | **[GitHub Spec Kit](https://github.com/github/spec-kit)** | Native GitHub/Copilot integration | Greenfield projects, structured workflow | -| **[BMAD](https://github.com/bmad-sim/bmad-method)** | Multi-agent teams (PM, Architect, Dev) | Complex multi-repo systems | +| **[BMAD](https://github.com/bmad-code-org/BMAD-METHOD)** | Multi-agent teams (PM, Architect, Dev) | Complex multi-repo systems | | **[OpenSpec](https://github.com/Fission-AI/OpenSpec)** | Lightweight, change-focused | Brownfield projects, rapid iteration | {{% /notice %}} @@ -516,7 +516,7 @@ If you work with sensitive or proprietary code: - Request the **Zero-Data-Retention** (ZDR) option if needed - **Never** use the Free/Pro plan for confidential code -See the [privacy documentation](https://www.anthropic.com/policies/privacy) for more details. +See the [privacy documentation](https://www.anthropic.com/legal/privacy) for more details. {{% /notice %}} ### :bulb: Getting the most out of it @@ -527,22 +527,21 @@ Tips and workflows I've picked up along the way (CLAUDE.md, hooks, context manag ### My next steps -This is a concern I share with many developers: **what happens if Anthropic changes the rules of the game?** This fear actually materialized in early January 2026, when Anthropic [blocked without warning](https://venturebeat.com/technology/anthropic-cracks-down-on-unauthorized-claude-usage-by-third-party-harnesses) access to Claude through third-party tools like [OpenCode](https://github.com/opencode-ai/opencode). +This is a concern I share with many developers: **what happens if Anthropic changes the rules of the game?** This fear actually materialized in early January 2026, when Anthropic [blocked without warning](https://venturebeat.com/technology/anthropic-cracks-down-on-unauthorized-claude-usage-by-third-party-harnesses) access to Claude through third-party tools like [OpenCode](https://github.com/charmbracelet/crush). -Given my affinity for open source, I'm looking at exploring open alternatives: **[Mistral Vibe](https://mistral.ai/news/devstral-2-vibe-cli)** with Devstral 2 (72.2% SWE-bench) and **[OpenCode](https://opencode.ai/)** (multi-provider, local models via Ollama) for instance. +Given my affinity for open source, I'm looking at exploring open alternatives: **[Mistral Vibe](https://mistral.ai/news/devstral-2-vibe-cli)** with Devstral 2 (72.2% SWE-bench) and **[Crush](https://github.com/charmbracelet/crush)** (formerly OpenCode) (multi-provider, local models via Ollama) for instance. --- ## :bookmark: References ### Guides and best practices -- [Claude Code Best Practices](https://www.anthropic.com/engineering/claude-code-best-practices) — Anthropic Engineering - [How I Use Every Claude Code Feature](https://blog.sshh.io/p/how-i-use-every-claude-code-feature) — Comprehensive guide by sshh ### Spec-Driven Development - [GitHub Spec Kit](https://github.com/github/spec-kit) — GitHub's SDD toolkit - [OpenSpec](https://github.com/Fission-AI/OpenSpec) — Lightweight SDD for brownfield projects -- [BMAD Method](https://github.com/bmad-sim/bmad-method) — Multi-agent SDD +- [BMAD Method](https://github.com/bmad-code-org/BMAD-METHOD) — Multi-agent SDD ### Plugins, Skills and MCPs - [Code-Simplifier](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/code-simplifier) — AI code cleanup diff --git a/content/en/post/series/agentic_ai/ai-coding-agent/swe-bench-leaderboard.png b/content/en/post/series/agentic_ai/ai-coding-agent/swe-bench-leaderboard.png index c991ef1..00d9e31 100644 Binary files a/content/en/post/series/agentic_ai/ai-coding-agent/swe-bench-leaderboard.png and b/content/en/post/series/agentic_ai/ai-coding-agent/swe-bench-leaderboard.png differ diff --git a/content/en/post/series/agentic_ai/ai-coding-tips/index.md b/content/en/post/series/agentic_ai/ai-coding-tips/index.md index aedd056..5ce1bd8 100644 --- a/content/en/post/series/agentic_ai/ai-coding-tips/index.md +++ b/content/en/post/series/agentic_ai/ai-coding-tips/index.md @@ -1,7 +1,7 @@ +++ author = "Smaine Kahlouch" title = "A few months with `Claude Code`: tips and workflows that helped me" -date = "2026-01-29" +date = "2026-02-08" summary = "CLAUDE.md, hooks, context management, worktrees, plugins, anti-patterns: everything I wish I'd known from the start." featured = true codeMaxLines = 30 @@ -143,7 +143,7 @@ I won't detail every variant here — the [official hooks documentation](https:/ ## :brain: Mastering the context window -The context window (200K tokens) is **the most critical resource**. Once saturated, old information gets compressed and quality degrades. This is THE topic that makes the difference between an efficient user and someone who "loses" Claude after 20 minutes. +The context window (200K tokens, up to 1M in beta) is **the most critical resource**. Once saturated, old information gets compressed and quality degrades. This is THE topic that makes the difference between an efficient user and someone who "loses" Claude after 20 minutes. ### `/compact` with custom instructions @@ -274,6 +274,46 @@ wait Each instance has its own context. This is ideal for independent tasks that don't require interaction. +### Teams: letting agents work together + +The `-p` approach works great for independent tasks, but sometimes you need agents that **talk to each other**. That's what teams are for — Claude spawns **multiple agents that share a task list**, exchange messages, and can wait on each other's results. + +This is probably the `Opus 4.6` killer feature: you parallelize work, get better performance, and each agent has its own context instead of cramming everything into one session. + +{{% notice note "Experimental feature" %}} +Agent teams are still in **research preview**. To enable them, add this to your `settings.json`: + +```json +{ + "env": { + "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" + }, + "teammateMode": "tmux" +} +``` + +The `teammateMode` controls how agents are displayed: `"tmux"` opens each agent in a separate pane (requires tmux), `"in-process"` runs them all in the same terminal, and `"auto"` (default) picks automatically based on your environment. +{{% /notice %}} + +To illustrate the concept, I tried this on a deliberately simple case: analyzing a Crossplane composition. The example is basic, but real-world use cases are plentiful : Troubleshooting an incident by parallelizing log, metrics, and config analysis, creating a new service by splitting code, tests, and documentation across agents, or running a multi-component security audit. + +Here, instead of reading the code, then the examples, then writing a summary (all sequentially in the same session), let's create a team as follows: + +``` +Create a team of 3 agents to analyze the Crossplane App composition. +1. code-reader: Read main.k and summarize what resources it creates +2. example-reader: Read all example files and list the configuration options +3. doc-writer: Wait for the other two, then write a combined summary +``` + +Here's what it looks like in practice: three tmux panes running side by side — the two readers analyzing the code and examples in parallel, while the doc-writer waits for their output before producing the final summary. + +{{< img src="teams.png" alt="Claude Code Teams - 3 agents working in tmux panes" width="1200" >}} + +{{% notice tip "When teams are worth it" %}} +Teams shine when you have **independent work that needs to come together** — read/analyze/summarize, build/test/document, that kind of thing. For purely sequential tasks, a single session with `/clear` between steps is simpler. +{{% /notice %}} + --- ## :desktop_computer: Hybrid IDE + Claude Code workflow @@ -350,8 +390,7 @@ These questions, as well as the methods that help me stay in control, are covere ## :bookmark: References ### Official documentation -- [Claude Code Best Practices](https://www.anthropic.com/engineering/claude-code-best-practices) — Anthropic Engineering -- [Claude Code Documentation](https://docs.anthropic.com/en/docs/claude-code) — Official guide +- [Claude Code Documentation](https://code.claude.com/docs/en/overview) — Official guide - [Hooks Documentation](https://docs.anthropic.com/en/docs/claude-code/hooks) — Hooks configuration ### Community guides diff --git a/content/en/post/series/agentic_ai/ai-coding-tips/teams.png b/content/en/post/series/agentic_ai/ai-coding-tips/teams.png new file mode 100644 index 0000000..f8b8f58 Binary files /dev/null and b/content/en/post/series/agentic_ai/ai-coding-tips/teams.png differ diff --git a/content/fr/post/series/agentic_ai/ai-coding-agent/index.md b/content/fr/post/series/agentic_ai/ai-coding-agent/index.md index 6df1e00..3dcfa69 100644 --- a/content/fr/post/series/agentic_ai/ai-coding-agent/index.md +++ b/content/fr/post/series/agentic_ai/ai-coding-agent/index.md @@ -1,7 +1,7 @@ +++ author = "Smaine Kahlouch" title = "`Agentic Coding` : concepts et cas concrets appliqués au Platform Engineering" -date = "2026-01-29" +date = "2026-02-06" summary = "Explorer l'**agentic coding** à travers `Claude Code` : des fondamentaux (tokens, MCPs, skills) aux cas pratiques, avec un regard enthousiaste mais lucide sur cette nouvelle façon de travailler." featured = true codeMaxLines = 30 @@ -56,13 +56,13 @@ Vous utilisez probablement déjà ChatGPT, LeChat ou Gemini pour poser des quest Un **coding agent** fonctionne différemment. Il exécute des outils en boucle pour atteindre un objectif. C'est ce qu'on appelle une [**boucle agentique**](https://simonwillison.net/2025/Sep/30/designing-agentic-loops/). -{{< img src="agentic-loop.png" alt="Agentic loop" width="580" >}} +{{< img src="agentic-loop.png" width="580" >}} Le cycle est simple : **raisonner → agir → observer → répéter**. L'agent appelle un outil, analyse le résultat, puis décide de la prochaine action. Il est donc essentiel qu'il ait accès au **retour de chaque action** — une erreur de compilation, un test qui échoue, une sortie inattendue. Cette capacité à réagir et **itérer de manière autonome** sur notre environnement local est ce qui fait toute la différence avec un simple chatbot. Un coding agent combine plusieurs composants : -* **LLM** : Le "cerveau" qui raisonne (Claude Opus 4.5, Gemini 3 Pro, Devstral 2...) +* **LLM** : Le "cerveau" qui raisonne (Claude Opus 4.6, Gemini 3 Pro, Devstral 2...) * **Tools** : Les actions possibles (lire/écrire des fichiers, exécuter des commandes, chercher sur le web...) * **Memory** : Le contexte conservé (fichiers `CLAUDE.md`, `AGENTS.md`, `GEMINI.md`... selon l'outil, plus l'historique de conversation) * **Planning** : La capacité à décomposer une tâche complexe en sous-étapes @@ -73,18 +73,18 @@ De nouveaux modèles ainsi que de nouvelles versions apparaissent à une vitesse Le benchmark [**SWE-bench Verified**](https://www.swebench.com/) est devenu la référence pour évaluer les capacités des modèles en développement logiciel. Il mesure la capacité à résoudre de vrais bugs issus de repositories GitHub et permet de nous aider à faire notre choix. -{{< img src="swe-bench-leaderboard.png" alt="Leaderboard SWE-bench Verified" width="900" >}} +{{< img src="swe-bench-leaderboard.png" width="750" >}} {{% notice warning "Ces chiffres évoluent très vite !" %}} -Consultez [swebench.com](https://www.swebench.com/) pour les derniers résultats. Au moment de la rédaction, Claude Opus 4.5 mène avec **74.4%**, talonné par Gemini 3 Pro (**74.2%**). +Consultez [vals.ai](https://www.vals.ai/benchmarks/swebench) pour les derniers résultats indépendants. Au moment de la rédaction, Claude Opus 4.6 mène avec **79.2%**, talonné par Gemini 3 Flash (**76.2%**) et GPT-5.2 (**75.4%**). {{% /notice %}} En pratique, les meilleurs modèles actuels sont tous suffisamment performants pour la plupart des tâches de _Platform Engineering_. {{% notice info "L'importance du choix de modèle" %}} -Boris Cherny, créateur de Claude Code, a partagé son point de vue sur le choix du modèle : +Boris Cherny, créateur de Claude Code, a partagé son point de vue sur le choix du modèle (à propos d'Opus 4.5 — le raisonnement reste valable) : -{{< img src="boris-opus4.5.png" alt="Boris Cherny sur X à propos d'Opus 4.5 avec thinking" width="600" >}} +{{< img src="boris-opus4.5.png" width="600" >}} Mon expérience va dans le même sens : avec un modèle plus capable, on passe moins de temps à reformuler et corriger, ce qui compense largement la latence supplémentaire. {{% /notice %}} @@ -95,7 +95,7 @@ Il existe de nombreuses options de coding agents, dont voici quelques exemples : | Outil | Type | Forces | |-------|------|--------| -| [**Claude Code**](https://docs.anthropic.com/en/docs/claude-code) | Terminal | Context 200K, SWE-bench élevé, hooks & MCP | +| [**Claude Code**](https://code.claude.com/docs/en/overview) | Terminal | Context 200K (1M en bêta), SWE-bench élevé, hooks & MCP | | [**opencode**](https://opencode.ai/) | Terminal | **Open source**, multi-provider, modèles locaux (Ollama) | | [**Cursor**](https://cursor.sh/) | IDE | Workflow visuel, Composer mode | | [**Antigravity**](https://antigravity.google/) | IDE | Agents parallèles, Manager view | @@ -108,7 +108,7 @@ J'ai utilisé Cursor dans un premier temps, puis je suis passé à Claude Code. ## :books: Les concepts essentiels de Claude Code -Cette section va droit à l'essentiel : **tokens, MCPs, Skills et Tasks**. Je passe sur la config initiale (la [doc officielle](https://docs.anthropic.com/en/docs/claude-code) fait ça très bien) et sur les subagents — c'est de la mécanique interne, ce qui compte c'est ce qu'on peut *construire* avec. La plupart de ces concepts **s'appliquent aussi à d'autres coding agents**. +Cette section va droit à l'essentiel : **tokens, MCPs, Skills et Tasks**. Je passe sur la config initiale (la [doc officielle](https://code.claude.com/docs/en/overview) fait ça très bien) et sur les subagents — c'est de la mécanique interne, ce qui compte c'est ce qu'on peut *construire* avec. La plupart de ces concepts **s'appliquent aussi à d'autres coding agents**. ### Tokens et fenêtre de contexte @@ -116,13 +116,13 @@ Cette section va droit à l'essentiel : **tokens, MCPs, Skills et Tasks**. Je pa Un **token** est l'unité de base que le modèle traite — environ 4 caractères en anglais, 2-3 en français. Pourquoi c'est important ? Parce que **tout se paye en tokens** : input, output, et contexte. -La **fenêtre de contexte** (200K tokens pour Claude) représente la "mémoire de travail" du modèle. La commande `/context` permet de visualiser comment cet espace est utilisé : +La **fenêtre de contexte** (200K tokens pour Claude, jusqu'à 1M en bêta) représente la "mémoire de travail" du modèle. La commande `/context` permet de visualiser comment cet espace est utilisé : ```console /context ``` -{{< img src="cmd_context.png" alt="Visualisation du contexte avec /context" width="650" >}} +{{< img src="cmd_context.png" width="650" >}} Cette vue détaille la répartition du contexte entre les différents composants : @@ -278,7 +278,7 @@ Créer un système d'observabilité complet pour Karpenter : alertes + dashboard Claude analyse le prompt et génère automatiquement un **plan structuré** en sous-tâches. Cette décomposition permet de suivre la progression et garantit que chaque étape est complétée avant de passer à la suivante. -{{< img src="karpenter_plan.png" alt="Plan généré par Claude Code" width="600" >}} +{{< img src="karpenter_plan.png" width="600" >}} On voit ici les 4 tâches identifiées : création des alertes VMRule, création du dashboard unifié, validation avec kubectl et Chrome, puis finalisation avec commit et PR. @@ -286,7 +286,7 @@ On voit ici les 4 tâches identifiées : création des alertes VMRule, création C'est ici que nous constatons la **puissance des MCPs**. Claude en utilise **simultanément plusieurs** pour obtenir un contexte complet : -{{< img src="karpenter_mcp.png" alt="Appels aux MCPs" width="1200" >}} +{{< img src="karpenter_mcp.png" width="1200" >}} - **context7** : Récupère la documentation Grafana v11+ pour les alerting rules et le format JSON des dashboards - **victoriametrics** : Liste toutes les métriques `karpenter_*` disponibles dans mon cluster @@ -331,7 +331,7 @@ Pour ceux qui baignent dans Kubernetes, on peut faire un parallèle 😉 : la sp | Framework | Force principale | Cas d'usage idéal | |-----------|-----------------|-------------------| | **[GitHub Spec Kit](https://github.com/github/spec-kit)** | Intégration native GitHub/Copilot | Projets greenfield, workflow structuré | -| **[BMAD](https://github.com/bmad-sim/bmad-method)** | Équipes multi-agents (PM, Architect, Dev) | Systèmes complexes multi-repos | +| **[BMAD](https://github.com/bmad-code-org/BMAD-METHOD)** | Équipes multi-agents (PM, Architect, Dev) | Systèmes complexes multi-repos | | **[OpenSpec](https://github.com/Fission-AI/OpenSpec)** | Léger, centré sur les changements | Projets brownfield, itération rapide | {{% /notice %}} @@ -358,7 +358,7 @@ Pour [cloud-native-ref](https://github.com/Smana/cloud-native-ref), j'ai créé | `/validate` | Vérifie la complétude avant implémentation | | `/create-pr` | Crée la PR avec référence automatique à la spec | -{{< img src="sdd_workflow.png" alt="Workflow SDD" width="700" >}} +{{< img src="sdd_workflow.png" width="700" >}} {{% /notice %}} #### Pourquoi le SDD pour le Platform Engineering ? @@ -515,7 +515,7 @@ Si vous travaillez sur du code sensible ou propriétaire : - Demandez l'option **Zero-Data-Retention** (ZDR) si nécessaire - N'utilisez **jamais** le plan Free/Pro pour du code confidentiel -Consultez la [documentation sur la confidentialité](https://www.anthropic.com/policies/privacy) pour plus de détails. +Consultez la [documentation sur la confidentialité](https://www.anthropic.com/legal/privacy) pour plus de détails. {{% /notice %}} ### :bulb: Optimiser son utilisation @@ -526,22 +526,21 @@ Les tips et workflows découverts au fil de mon utilisation (CLAUDE.md, hooks, g ### Mes prochaines étapes -C'est une préoccupation que je partage avec beaucoup de développeurs : **que se passe-t-il si Anthropic change les règles du jeu ?** Cette crainte s'est d'ailleurs matérialisée début janvier 2026, lorsqu'Anthropic a [bloqué sans préavis](https://venturebeat.com/technology/anthropic-cracks-down-on-unauthorized-claude-usage-by-third-party-harnesses) l'accès à Claude via des outils tiers comme [OpenCode](https://github.com/opencode-ai/opencode). +C'est une préoccupation que je partage avec beaucoup de développeurs : **que se passe-t-il si Anthropic change les règles du jeu ?** Cette crainte s'est d'ailleurs matérialisée début janvier 2026, lorsqu'Anthropic a [bloqué sans préavis](https://venturebeat.com/technology/anthropic-cracks-down-on-unauthorized-claude-usage-by-third-party-harnesses) l'accès à Claude via des outils tiers comme [OpenCode](https://github.com/charmbracelet/crush). -De par ma sensibilité pour l'open source, j'envisage d'explorer les alternatives ouvertes: **[Mistral Vibe](https://mistral.ai/news/devstral-2-vibe-cli)** avec Devstral 2 (72.2% SWE-bench) et **[OpenCode](https://opencode.ai/)** (multi-provider, modèles locaux via Ollama) par exemple. +De par ma sensibilité pour l'open source, j'envisage d'explorer les alternatives ouvertes: **[Mistral Vibe](https://mistral.ai/news/devstral-2-vibe-cli)** avec Devstral 2 (72.2% SWE-bench) et **[Crush](https://github.com/charmbracelet/crush)** (anciennement OpenCode) (multi-provider, modèles locaux via Ollama) par exemple. --- ## :bookmark: Références ### Guides et best practices -- [Claude Code Best Practices](https://www.anthropic.com/engineering/claude-code-best-practices) — Anthropic Engineering - [How I Use Every Claude Code Feature](https://blog.sshh.io/p/how-i-use-every-claude-code-feature) — Guide complet par sshh ### Spec-Driven Development - [GitHub Spec Kit](https://github.com/github/spec-kit) — Toolkit SDD de GitHub - [OpenSpec](https://github.com/Fission-AI/OpenSpec) — SDD léger pour projets brownfield -- [BMAD Method](https://github.com/bmad-sim/bmad-method) — Multi-agent SDD +- [BMAD Method](https://github.com/bmad-code-org/BMAD-METHOD) — Multi-agent SDD ### Plugins, Skills et MCPs - [Code-Simplifier](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/code-simplifier) — Nettoyage de code IA diff --git a/content/fr/post/series/agentic_ai/ai-coding-agent/swe-bench-leaderboard.png b/content/fr/post/series/agentic_ai/ai-coding-agent/swe-bench-leaderboard.png index c991ef1..00d9e31 100644 Binary files a/content/fr/post/series/agentic_ai/ai-coding-agent/swe-bench-leaderboard.png and b/content/fr/post/series/agentic_ai/ai-coding-agent/swe-bench-leaderboard.png differ diff --git a/content/fr/post/series/agentic_ai/ai-coding-tips/index.md b/content/fr/post/series/agentic_ai/ai-coding-tips/index.md index 73a96a0..d50f655 100644 --- a/content/fr/post/series/agentic_ai/ai-coding-tips/index.md +++ b/content/fr/post/series/agentic_ai/ai-coding-tips/index.md @@ -1,7 +1,7 @@ +++ author = "Smaine Kahlouch" title = "Quelques mois avec `Claude Code` : tips et workflows qui m'ont été utiles" -date = "2026-01-29" +date = "2026-02-08" summary = "CLAUDE.md, hooks, gestion du contexte, worktrees, plugins, anti-patterns : tout ce que j'aurais aimé savoir dès le début." featured = true codeMaxLines = 30 @@ -143,7 +143,7 @@ Je ne détaille pas ici chaque variante — la [doc officielle des hooks](https: ## :brain: Maîtriser la fenêtre de contexte -La fenêtre de contexte (200K tokens) est **la ressource la plus critique**. Une fois saturée, les informations anciennes sont compressées et la qualité se dégrade. C'est LE sujet qui fait la différence entre un utilisateur efficace et quelqu'un qui "perd" Claude au bout de 20 minutes. +La fenêtre de contexte (200K tokens, jusqu'à 1M en bêta) est **la ressource la plus critique**. Une fois saturée, les informations anciennes sont compressées et la qualité se dégrade. C'est LE sujet qui fait la différence entre un utilisateur efficace et quelqu'un qui "perd" Claude au bout de 20 minutes. ### `/compact` avec instructions custom @@ -274,6 +274,42 @@ wait Chaque instance a son propre contexte. C'est idéal pour les tâches indépendantes qui ne nécessitent pas d'interaction. +### Teams : faire collaborer des agents + +L'approche `-p` fonctionne très bien pour des tâches indépendantes, mais parfois on a besoin d'agents qui **communiquent entre eux**. C'est le rôle des teams — Claude lance **plusieurs agents qui partagent une liste de tâches**, échangent des messages, et peuvent attendre les résultats des autres. Pour moi, c'est la killer feature d'`Opus 4.6` : on parallélise le travail, on gagne en performance, et chaque agent a son propre contexte au lieu de tout entasser dans une seule session. + +{{% notice warning "Feature expérimentale" %}} +Les agent teams sont encore en **research preview**. Pour les activer, ajoutez ceci dans votre `settings.json` : + +```json +{ + "env": { + "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" + }, + "teammateMode": "tmux" +} +``` + +Le `teammateMode` contrôle comment les agents sont affichés : `"tmux"` ouvre chaque agent dans un pane séparé (nécessite tmux), `"in-process"` les fait tourner dans le même terminal, et `"auto"` (par défaut) choisit automatiquement selon votre environnement. +{{% /notice %}} + +Pour illustrer le principe, j'ai testé ça sur un cas volontairement simple : analyser une composition Crossplane. L'exemple est basique, mais les cas d'usage réels sont nombreux — troubleshooting d'un incident en parallélisant l'analyse des logs, métriques et configs, création d'un nouveau service en répartissant code, tests et documentation entre agents, ou encore audit de sécurité multi-composants. Ici, plutôt que de lire le code, puis les exemples, puis rédiger une synthèse — le tout séquentiellement dans la même session — j'ai simplement demandé : + +``` +Create a team of 3 agents to analyze the Crossplane App composition. +1. code-reader: Read main.k and summarize what resources it creates +2. example-reader: Read all example files and list the configuration options +3. doc-writer: Wait for the other two, then write a combined summary +``` + +Voici ce que ça donne en pratique : trois panes tmux côte à côte — les deux readers analysent le code et les exemples en parallèle, pendant que le doc-writer attend leur sortie avant de produire la synthèse finale. + +{{< img src="teams.png" alt="Claude Code Teams - 3 agents travaillant dans des panes tmux" width="1200" >}} + +{{% notice tip "Quand les teams valent le coup" %}} +Les teams brillent quand vous avez du **travail indépendant qui doit converger** — lire/analyser/synthétiser, construire/tester/documenter, ce genre de chose. Pour des tâches purement séquentielles, une session unique avec `/clear` entre les étapes reste plus simple. +{{% /notice %}} + --- ## :desktop_computer: Workflow hybride IDE + Claude Code @@ -350,8 +386,7 @@ Ces interrogations, mais aussi les méthodes qui me permettent d'être le maîtr ## :bookmark: Références ### Documentation officielle -- [Claude Code Best Practices](https://www.anthropic.com/engineering/claude-code-best-practices) — Anthropic Engineering -- [Claude Code Documentation](https://docs.anthropic.com/en/docs/claude-code) — Guide officiel +- [Claude Code Documentation](https://code.claude.com/docs/en/overview) — Guide officiel - [Hooks Documentation](https://docs.anthropic.com/en/docs/claude-code/hooks) — Configuration des hooks ### Guides communautaires diff --git a/content/fr/post/series/agentic_ai/ai-coding-tips/teams.png b/content/fr/post/series/agentic_ai/ai-coding-tips/teams.png new file mode 100644 index 0000000..f8b8f58 Binary files /dev/null and b/content/fr/post/series/agentic_ai/ai-coding-tips/teams.png differ