Maîtriser le code Claude : un guide pratique pour améliorer la productivité de la programmation de l'IA

Se familiariser avec le code Claude : conseils pratiques de première ligne sur le codage basé sur les agents

Claude Code Agentic Coding est un outil de ligne de commande pour le codage agentique. Le codage agentique fait référence à l'idée de donner à l'IA une certaine autonomie pour comprendre les tâches, planifier les étapes et effectuer des actions (par exemple, lire/écrire des fichiers, exécuter des commandes) afin de réaliser des travaux liés au codage, plutôt que de se contenter de compléter du code ou de répondre à des questions. Ce guide rassemble les meilleures pratiques pour coder dans différentes bases de code, différents langages et différents environnements à l'aide de l'outil de codage de l'IA. Claude Code Des conseils pratiques et des astuces qui ont fait leurs preuves.

Anthropic Récemment publié Claude CodeCet outil a été développé à l'origine dans le cadre d'un projet de recherche afin de permettre aux ingénieurs et chercheurs internes d'intégrer plus naturellement le système de gestion de l'information de l'UE. Claude sont intégrés dans le processus de codage quotidien.

Claude Code La philosophie de conception est délibérément de bas niveau et sans opinion, fournissant un accès proche du modèle original sans forcer l'utilisateur à suivre un flux de travail spécifique. Cette conception en fait un outil puissant, flexible, personnalisable, scriptable et relativement sûr. Cependant, cette flexibilité signifie également que les ingénieurs qui découvrent les outils de codage basés sur les agents ont besoin d'un certain temps d'apprentissage jusqu'à ce qu'ils découvrent les meilleures pratiques pour eux-mêmes.

Dans cet article, nous présenterons quelques-uns des produits qui ont été Anthropic des modèles efficaces qui ont été largement validés par des équipes internes et des ingénieurs externes. Ces suggestions ne sont pas des règles d'or ni universellement applicables ; vous pouvez les considérer comme un point de départ et ensuite expérimenter avec audace pour trouver ce qui fonctionne le mieux pour vous.

1) Personnalisez votre environnement de travail

Claude Code Agit comme une aide au codage basée sur un agent qui intègre automatiquement des informations contextuelles dans les messages-guides. Bien que la collecte du contexte consomme du temps et des jetons, elle peut être optimisée en ajustant les paramètres de l'environnement. Comprendre et utiliser à bon escient CLAUDE.md La documentation est une première étape essentielle.

a. Création CLAUDE.md papiers

CLAUDE.md est un fichier spécial.Claude Code charge automatiquement son contenu dans le contexte lorsqu'un dialogue est entamé. C'est donc l'endroit idéal pour enregistrer les informations suivantes :

  • Commandes bash courantes
  • Description des documents de base du projet et des fonctions de l'outil
  • Spécification du style de code
  • Instructions pour l'exécution des tests
  • Spécifications de collaboration du référentiel de code (par exemple, conventions de dénomination des branches, sélection des bases de fusion et de variante, etc.)
  • Paramètres de l'environnement de développement (par exemplepyenv utilisation, version du compilateur applicable)
  • Tout comportement particulier dans le projet ou tout avertissement nécessitant une attention particulière
  • Autres espoirs Claude Mémoriser les informations à long terme

CLAUDE.md Il n'y a pas de formatage obligatoire pour le document, et il est recommandé qu'il soit concis et lisible par l'homme. Il est recommandé qu'il soit concis et lisible par l'homme :

# Bash 命令
- npm run build: 构建项目
- npm run typecheck: 运行类型检查器
# 代码风格
- 使用 ES 模块 (import/export) 语法,而非 CommonJS (require)
- 尽可能使用解构导入 (例如 import { foo } from 'bar')
# 工作流程
- 完成一系列代码更改后,务必运行类型检查
- 为提高性能,优先运行单个测试,而不是整个测试套件

Vous pouvez régler la CLAUDE.md Les fichiers sont placés à plusieurs endroits :

  • Répertoire racine de l'entrepôtou vous exécutez claude (l'usage le plus courant). Nommez-le CLAUDE.md et le soumettre à git afin qu'elle soit partagée entre les sessions et les membres de l'équipe (recommandé). Si vous souhaitez que la configuration locale ne soit pas partagée, vous pouvez nommer le fichier CLAUDE.local.md incorporer .gitignore.
  • être en mouvement claude Tout répertoire parent du répertoire de commandeCeci est particulièrement utile en monorepo. Ceci est particulièrement utile en monorepo. Par exemple, si vous ajoutez l'élément root/foo et exécutez claudeCela peut être fait dans le root répondre en chantant root/foo sont placés dans le répertoire CLAUDE.md les deux sont automatiquement chargés.
  • être en mouvement claude Tout sous-répertoire du répertoire de commande. Contrairement au cas précédent, lorsque vous travaillez avec des fichiers dans des sous-répertoires, l'optionClaude Les sous-répertoires sont chargés à la demande. CLAUDE.md Documentation.
  • Votre répertoire personnel (~/.claude/CLAUDE.md). La configuration effectuée ici sera appliquée à tous vos claude Sessions.

être en mouvement /init la commandeClaude génère automatiquement une base pour vous CLAUDE.md Documentation.

b. Accorder votre CLAUDE.md papiers

CLAUDE.md Le fichier devient Claude Il doit donc être soigné de la même manière qu'un texte courant. Une erreur fréquente consiste à ajouter beaucoup de contenu sans en vérifier l'efficacité. Prenez le temps d'expérimenter et de voir quelles instructions le modèle suit le mieux.

Vous pouvez modifier manuellement CLAUDE.mdLes Claude Code Presse # en donnant une commande quiClaude Il sera automatiquement intégré dans le CLAUDE.md fichier. De nombreux ingénieurs codent en utilisant fréquemment # pour documenter les commandes, la documentation et les guides de style, et pour CLAUDE.md Les modifications sont incluses dans le commit afin que les membres de l'équipe puissent également en bénéficier.

existent Anthropic En interne, il arrive que le Amélioration de la rapidité d'exécution d'optimiser CLAUDE.md et adapter la formulation des instructions (par exemple, utiliser "IMPORTANT" ou "VOUS DEVEZ" pour mettre l'accent) afin d'améliorer la conformité du modèle.

掌握 Claude Code:提升AI编程效率的实用指南

c. Gestion Claude La liste des outils sous licence de l

Par défaut, leClaude Code L'autorisation est demandée pour toute opération susceptible de modifier votre système : écrire dans des fichiers, exécuter de nombreuses commandes bash, utiliser la commande MCP outils, etc. Cette conception conservatrice donne la priorité à la sécurité. Vous pouvez personnaliser la liste d'autorisations pour autoriser des outils dont vous êtes sûr qu'ils sont sûrs, ou pour autoriser des actions potentiellement dangereuses qui peuvent être facilement annulées (par exemple, l'édition de fichiers.) Vous pouvez également personnaliser la liste d'autorisations pour autoriser des outils dont vous êtes sûr qu'ils sont sûrs,git commit).

Il existe quatre façons de gérer l'outil d'octroi de licences :

  • Sélectionner lorsque l'on vous le demande lors d'une session "Permettre toujours".
  • activer (un plan) Claude Code après utilisation /allowed-tools commande Ajouter ou supprimer des outils de la liste des licences. Par exemple, pour ajouter Edit Autoriser l'édition du fichier à tout moment, ajouter Bash(git commit:*) exécutable git commitou ajouter mcp__puppeteer__puppeteer_navigate utilisation autorisée Puppeteer Serveur MCP pour la navigation.
  • édition manuelle sous le poste .claude/settings.json (qu'il est recommandé d'inclure dans le contrôle de version pour le partager avec l'équipe) ou dans le répertoire personnel de l'utilisateur sous l'option ~/.claude.json.
  • utiliser --allowedTools drapeau de ligne de commande (informatique) Définir les autorisations pour une session spécifique.

d. Si l'on utilise GitHubInstallation gh outil en ligne de commande

Claude Savoir utiliser gh Outils de ligne de commande vs. GitHub interactions pour créer des problèmes, lancer des demandes d'extraction, lire des commentaires, etc. Si vous n'avez pas ghDès que vous installez le GitHub ou le serveur MCP correspondant.Claude peuvent encore interagir de cette manière.

2. pour Claude Mise à disposition d'outils supplémentaires

Claude a accès à votre environnement shell, et vous pouvez l'utiliser comme vous le feriez vous-même, avec un ensemble pratique de scripts et de fonctions. Il peut également tirer parti d'outils plus sophistiqués grâce aux API MCP et REST.

a. Laisser Claude Utilisation de l'utilitaire bash

Claude Code hérite de votre environnement bash et a donc accès à tous vos outils. Bien que l'environnement Claude comprendre qqch. comme unix outils et gh Il ne peut pas connaître automatiquement vos outils bash personnalisés, vous devez le lui indiquer :

  1. faire savoir Claude Nom de l'outil et exemples d'utilisation.
  2. faire faire qqch à qqn Claude être en mouvement --help Consulter la documentation de l'outil.
  3. Enregistrer les outils de personnalisation couramment utilisés dans le CLAUDE.md Au milieu.

b. Laisser Claude Utilisation du MCP

MCP, le protocole de contexte de modèle (Modèle Contexte Protocole), une spécification qui permet aux modèles de langage d'interagir avec des outils et des services externes.Claude Code Il peut être utilisé comme serveur MCP ou comme client MCP. En tant que client, il peut se connecter à un nombre quelconque de serveurs MCP pour accéder à leurs outils de trois manières :

  • Dans Configuration du projet(Exécutez-le dans le répertoire du projet) Claude Code (si disponible).
  • Dans la configuration globale(disponible dans tous les projets).
  • entrepôt .mcp.json fichier(accessible à tous ceux qui utilisent la base de code). Par exemple, vous pouvez définir l'option Puppeteer répondre en chantant Sentry Le serveur est ajouté au .mcp.json Ainsi, chaque ingénieur de l'équipe peut utiliser ces outils dès leur sortie de la boîte.

Lors de l'utilisation du MCP, le MCP peut être réglé à l'aide de la touche --mcp-debug Activation du drapeau Claude Aide à diagnostiquer les problèmes de configuration.

c. Utilisation de commandes slash personnalisées

Pour les flux de travail répétitifs - tels que les boucles de débogage, l'analyse des journaux, etc. .claude/commands dans le fichier Markdown. Lorsque vous tapez / Ces modèles apparaissent alors dans le menu de commandes de la barre oblique. Vous pouvez soumettre ces commandes au gitpour le reste de l'équipe.

Les commandes personnalisées peuvent contenir des mots-clés spéciaux $ARGUMENTSqui est utilisée pour transmettre les paramètres attachés à la commande d'appel.

Par exemple, en voici une qui peut être automatiquement retirée et corrigée GitHub émettre la commande slash :

请分析并修复 GitHub issue: $ARGUMENTS。
请遵循以下步骤:
1. 使用 `gh issue view` 获取 issue 详细信息
2. 理解 issue 中描述的问题
3. 在代码库中搜索相关文件
4. 实现必要的代码更改以修复问题
5. 编写并运行测试以验证修复
6. 确保代码通过 linting 和类型检查
7. 创建描述性的 commit 消息
8. 推送代码并创建 PR
记住,所有与 GitHub 相关的任务都使用 GitHub CLI (`gh`)。

Sauvegarder ce qui précède dans .claude/commands/fix-github-issue.md Une fois que le fichier est Claude Code a fait mouche /project:fix-github-issue pour l'utiliser maintenant. Par exemple, en exécutant /project:fix-github-issue 1234 aurait permis Claude pour résoudre le problème numéro 1234. de la même manière, vous pouvez ajouter les commandes que vous utilisez personnellement à l'outil ~/.claude/commands afin de le rendre disponible pour toutes les sessions.

3) Expérimenter des flux de travail communs

Claude Code Il n'impose pas de flux de travail spécifique, ce qui vous donne la possibilité de l'utiliser à la demande. Grâce à cette flexibilité, un certain nombre de modèles éprouvés ont vu le jour au sein de la communauté des utilisateurs :

a. Explorer, planifier, codifier, soumettre

Il s'agit d'un processus générique qui s'applique à un large éventail de questions :

  1. faire faire qqch à qqn Claude Lire des documents, des images ou des URL connexes. On peut lui donner des instructions générales ("lisez le fichier qui gère la journalisation") ou des noms de fichiers spécifiques ("lisez logging.py"), mais lui dire explicitement de ne pas écrire de code pour l'instant.
    • Dans cette étape, en particulier pour les problèmes complexes, envisagez de faire appel à l'équipe d'experts de l'UE. Claude Utiliser des sous-agents pour valider des détails ou pour enquêter sur des problèmes spécifiques qu'il peut rencontrer. En procédant ainsi dès le début du dialogue ou de la tâche, on préserve souvent la convivialité du contexte sans sacrifier trop d'efficacité.
  2. faire faire qqch à qqn Claude Élaborer des plans pour répondre à des problèmes spécifiques. Il est recommandé d'utiliser le mot "penser" pour déclencher le mode de pensée étendue, ce qui donnera à l'utilisateur la possibilité d'utiliser le mode de pensée étendue. Claude Temps de calcul supplémentaire pour évaluer les alternatives de manière plus complète. Le système dispose d'une cartographie intégrée des budgets de réflexion à différents niveaux : "penser" < "penser fort" < "penser plus fort" < "ultrathink". Chaque niveau alloue un budget de réflexion plus important pour Claude Utiliser.
    • Si les résultats de cette étape semblent raisonnables, vous pouvez laisser le Claude Inscrire le plan dans un document ou le créer GitHub de sorte que si la mise en œuvre ultérieure (étape 3) ne répond pas aux attentes, vous puissiez revenir à cet état.
  3. faire faire qqch à qqn Claude Écrire du code pour mettre en œuvre leurs programmes. C'est aussi le moment de lui demander de valider explicitement la solidité des différentes parties du programme au fur et à mesure de sa réalisation.
  4. faire faire qqch à qqn Claude Soumettre les résultats et créer une demande d'extraction.. Le cas échéant, il est également possible de faire Claude mise à jour README peut-être changelogexpliquant ce qu'il vient de faire.

Les étapes #1 et #2 sont cruciales - sans elles, laClaude Souvent, vous passerez directement à l'étape du codage. Parfois, c'est exactement ce que vous voulez, mais pour les problèmes qui nécessitent une réflexion plus approfondie, il est important de laisser d'abord l'équipe de codage s'exprimer. Claude La recherche et la planification peuvent améliorer considérablement le résultat final.

b. Rédiger des tests, les soumettre ; coder, itérer, soumettre

c'est Anthropic Un flux de travail très respecté en interne, en particulier pour les changements qui peuvent être facilement vérifiés par des tests unitaires, d'intégration ou de bout en bout. Le développement piloté par les tests (TDD) est encore plus puissant avec le codage basé sur les agents :

  1. faire faire qqch à qqn Claude Rédiger des tests basés sur les paires d'entrées/sorties attendues. Communiquer explicitement qu'un développement piloté par les tests est en cours afin d'éviter de créer des implémentations fictives même si la fonctionnalité n'existe pas encore.
  2. faire savoir Claude Exécuter les tests et confirmer qu'ils échouent. Il est souvent utile de lui demander explicitement de ne pas écrire de code de mise en œuvre à ce stade.
  3. Lorsque vous êtes satisfait du test.faire faire qqch à qqn Claude Soumettre le code de test.
  4. faire faire qqch à qqn Claude Écrire un code qui passe les testset lui demander de ne pas modifier le test lui-même. Dites Claude Continuez à essayer jusqu'à ce que tous les tests soient réussis. Il faut généralement plusieurs itérations (écrire le code, exécuter les tests, modifier le code, exécuter à nouveau les tests).
    • À ce stade, il peut être nécessaire d'utiliser un sous-agent indépendant pour vérifier que la mise en œuvre ne surajoute pas les cas de test.
  5. Lorsque vous êtes satisfait des modifications apportées au codefaire faire qqch à qqn Claude Soumettre le code.

(coll.) échouer (un étudiant) Claude Il donne de meilleurs résultats lorsqu'il existe un objectif clair sur lequel on peut itérer - comme un modèle visuel, un cas de test ou une autre forme de résultat attendu. En fournissant un résultat attendu, comme un testClaude Des changements peuvent être apportés, les résultats peuvent être évalués et des améliorations progressives peuvent être apportées jusqu'à ce qu'elles soient couronnées de succès.

c. Écrire du code, comparer des captures d'écran, itérer

Comme pour les flux de travail de test, vous pouvez également créer un flux de travail de test pour l'application Claude Fournir des cibles visuelles :

  1. au profit de Claude Un moyen de faire des captures d'écran du navigateur(Par exemple, en utilisant Serveur Puppeteer MCP,Simulateur iOS Serveur MCPou copier-coller manuellement la capture d'écran vers Claude).
  2. au profit de Claude Une ébauche de conception visuelleVous pouvez le faire en copiant et en collant, en glissant et en déposant l'image, ou en indiquant le chemin d'accès au fichier image.
  3. faire faire qqch à qqn Claude Mise en œuvre de la conception dans le codeintercepter le graphe résultant et itérer jusqu'à ce que le résultat corresponde à la conception.
  4. Lorsque vous êtes satisfait.faire faire qqch à qqn Claude Soumettre le code.

Comme les humains.Claude s'améliore généralement de manière significative au fil des itérations. La première version peut être satisfaisante, mais après deux ou trois itérations, elle est généralement bien meilleure. Pour Claude La mise à disposition d'outils permettant de visualiser leur production donne les meilleurs résultats.

掌握 Claude Code:提升AI编程效率的实用指南

d. Mode sécurité YOLO

Si vous ne souhaitez pas superviser l'ensemble de l'opération ClaudeVous pouvez utiliser le claude --dangerously-skip-permissions pour contourner tous les contrôles d'autorisation et laisser le paramètre Claude Travailler sans interruption jusqu'à la fin. Ce mode est bien adapté à l'exécution de flux de travail tels que la correction de bogues ou la génération d'échantillons de code.

avertissements: Laissez Claude L'exécution de commandes arbitraires sans validation est risquée et peut entraîner la perte de données, la corruption du système, voire la fuite de données (par exemple, via une attaque par injection d'invite). Pour minimiser ces risques, il est fortement recommandé que les conteneurs n'ayant pas d'accès à l'internet utilisent la commande --dangerously-skip-permissions. Vous pouvez vous référer à Claude Code fournie dans le référentiel en fonction de la Docker Conteneurs de développement la mise en œuvre de référence.

e. 代码库问答 (Q&A)

在接触一个新的代码库时,可以使用 Claude Code 进行学习和探索。你可以像与项目中的其他工程师结对编程时那样向 Claude 提问。Claude 能够代理式地搜索代码库来回答一般性问题,例如:

  • 日志系统是如何工作的?
  • 如何创建一个新的 API 端点?
  • foo.rs 文件第 134 行的 async move { ... } 是做什么的?
  • CustomerOnboardingFlowImpl 处理了哪些边界情况?
  • 为什么在第 333 行调用了 foo() plutôt que bar()?
  • baz.py 文件第 334 行的代码在 Java 中对应的是什么?

existent Anthropic,以这种方式使用 Claude Code 已成为核心的入职 (onboarding) 流程,显著缩短了新成员的熟悉时间,并减轻了其他工程师的负担。无需特殊的提示!只需提出问题,Claude 就会探索代码以找到答案。

掌握 Claude Code:提升AI编程效率的实用指南

f. 让 Claude avec git 交互

Claude 能有效地处理许多 git 操作。许多 Anthropic 工程师将 90% 以上的 git 交互交给 Claude 处理:

  • rechercher qqch. git 历史 来回答诸如“v1.2.3 版本包含了哪些变更?”、“哪个功能是谁负责的?”或“为什么这个 API 是这样设计的?”之类的问题。明确提示 Claude 查阅 git 历史记录有助于回答这类问题。
  • 编写 commit 消息.Claude 会自动查看你的代码变更和最近的历史记录,综合所有相关上下文来撰写消息。
  • 处理复杂的 git gréement,如撤销文件更改、解决 rebase 冲突、比较和应用补丁 (patch grafting)。

g. 让 Claude avec GitHub 交互

Claude Code 可以管理许多 GitHub 交互:

  • 创建 pull request: :Claude 能理解 "pr" 这个简写,并会根据代码差异 (diff) 和周围上下文生成合适的提交消息。
  • 一站式解决简单的代码审查评论:只需告诉它修复 PR 上的评论(可以附带更具体的指示),并在完成后推送回 PR 分支。
  • 修复失败的构建 或 linter 警告。
  • 分类和分流 (triage) 未处理的 issue: Laissez Claude 遍历所有 open 状态的 GitHub issue。

这让你无需记住 gh 命令的复杂语法,同时自动化了许多例行任务。

h. 让 Claude traiter avec Jupyter carnet de notes

Anthropic 的研究人员和数据科学家使用 Claude Code 来读写 Jupyter notebook。Claude 能够理解输出,包括图片,为探索和交互数据提供了一种快捷方式。没有特定的提示或工作流要求,但一个推荐的工作方式是在 VS Code 中并排打开 Claude Code répondre en chantant .ipynb Documentation.

你还可以让 Claude 在展示给同事之前清理或美化你的 Jupyter notebook。明确告诉它要让 notebook 或其数据可视化“美观 (aesthetically pleasing)”通常有助于提醒它正在为人类阅读体验进行优化。

4. 优化你的工作流程

以下建议适用于所有工作流:

a. 指令要具体

Claude Code 的成功率在指令更具体时会显著提高,尤其是在初次尝试时。一开始就给出清晰的方向能减少后续的修正成本。

Exemple :

不够具体的指令更具体的指令
为 foo.py 添加测试en raison de foo.py 编写一个新的测试用例,覆盖用户未登录时的边界情况。避免使用 mock。
pour quelle raison ? ExecutionFactory 的 API 这么奇怪?查阅 ExecutionFactory (utilisé comme expression nominale) git 历史记录,总结一下它的 API 是如何演变至今的。
添加一个日历小部件查看主页上现有小部件的实现方式,理解其模式,特别是代码和接口是如何分离的。HotDogWidget.php 是一个不错的起点。然后,遵循这种模式实现一个新的日历小部件,允许用户选择月份,并能向前/向后翻页选择年份。从头开始构建,除了代码库中已使用的库之外,不要引入新的库。

Claude 能够推断意图,但它不会读心术。具体性带来更好的结果对齐。

掌握 Claude Code:提升AI编程效率的实用指南

b. 给 Claude 提供图片

Claude 在处理图片和图表方面表现出色,有多种方式可以提供视觉信息:

  • 粘贴截图(在 macOS 上,Cmd+Ctrl+Shift+4 可以截图到剪贴板,然后在 Claude Code 终端用 Ctrl+V 粘贴。注意这里是 Ctrl+V 而不是通常的 Cmd+V,且不支持远程粘贴)。
  • 拖放 图片文件到提示输入框。
  • 提供图片的本地文件路径.

这在处理 UI 开发的设计稿、进行分析和调试时的可视化图表时特别有用。即使你不提供视觉输入,向 Claude 明确指出最终结果的视觉呈现很重要,也会有所帮助。

掌握 Claude Code:提升AI编程效率的实用指南

c. 提及你希望 Claude 查看或处理的文件

使用 Tab 键自动补全功能可以快速引用仓库中任何位置的文件或文件夹,帮助 Claude 找到或更新正确的资源。

掌握 Claude Code:提升AI编程效率的实用指南

d. 给 Claude 提供 URL

将特定的 URL 粘贴到你的提示旁边,Claude 可以抓取并阅读其内容。为了避免对同一域名(例如 docs.foo.com)反复弹出权限请求,可以使用 /allowed-tools 命令将该域名添加到你的许可名单中。

e. 尽早且频繁地修正方向

虽然自动接受模式(按 Shift+Tab 切换)可以让 Claude 自主工作,但通常情况下,作为积极的协作者并引导 Claude 的方法能获得更好的结果。在开始时向 Claude 彻底解释任务能得到最佳效果,但你也可以随时修正 Claude 的方向。

以下四个工具可以帮助进行方向修正:

  • 在编码前demande Claude élaborer un plan。明确告诉它在你确认计划可行之前不要开始编码。
  • existent Claude 的任何阶段(思考、工具调用、文件编辑)presse Escape 键中断,这会保留当前上下文,允许你重新引导或扩展指令。
  • double clic Escape 键可以回溯历史记录,编辑之前的某个提示,并探索不同的方向。你可以反复编辑提示,直到得到满意的结果。
  • demande Claude 撤销更改,通常与选项 #2 结合使用,以便采取不同的方法。

même si Claude Code 有时能在第一次尝试时就完美解决问题,但善用这些修正工具通常能更快地产生更好的解决方案。

f. 使用 /clear 保持上下文聚焦

在长时间的会话中,Claude 的上下文窗口可能会被不相关的对话、文件内容和命令填满。这会降低性能,有时还会分散 Claude 的注意力。在任务之间频繁使用 /clear 命令可以重置上下文窗口。

g. 对复杂工作流使用清单和临时记录板

对于包含多个步骤或需要详尽解决方案的大型任务——例如代码迁移、修复大量 lint 错误或运行复杂的构建脚本——可以通过让 Claude 使用 Markdown 文件(甚至 GitHub issue!)作为清单 (checklist) 和工作草稿板 (scratchpad) 来提高性能:

例如,要修复大量的 lint 问题,你可以这样做:

  1. faire savoir Claude 运行 lint 命令,并将所有产生的错误(包括文件名和行号)写入一个 Markdown 清单文件。
  2. 指示 Claude 逐一处理每个问题,修复并验证后,在清单上标记完成,然后继续下一个。

h. 向 Claude 传递数据

有多种方法可以向 Claude 提供数据:

  • 直接复制粘贴到你的提示中(最常见的方法)。
  • faire passer (un projet de loi, une inspection, etc.)管道 (pipe) 输入到 Claude Code(par exemple cat foo.txt | claude),这对于处理日志、CSV 文件和大量数据特别有用。
  • faire savoir Claude 通过 bash 命令、MCP 工具或自定义斜杠命令来拉取数据.
  • demande Claude Lire le fichier或抓取 URL(也适用于图片)。

大多数会话会结合使用这些方法。例如,你可以通过管道传入一个日志文件,然后告诉 Claude 使用某个工具拉取额外的上下文来调试这些日志。

5. 使用无头模式 (Headless Mode) 自动化你的基础设施

Claude Code 包含了 无头模式,适用于非交互式环境,如 CI (持续集成)、pre-commit 钩子、构建脚本和自动化任务。使用 -p 标志并附带一个提示来启用无头模式,使用 --output-format stream-json 可以获得流式 JSON 输出。

请注意,无头模式不会在会话之间持久化,每次都需要触发。

a. 使用 Claude 进行 issue 分流

无头模式可以驱动由 GitHub 事件触发的自动化,例如当你的仓库中创建了新 issue 时。例如,公开的 Claude Code 仓库 utiliser Claude 来检查新出现的 issue 并为其分配适当的标签。

b. 使用 Claude 作为代码审查 Linter

Claude Code 可以提供 主观代码审查,其能力超出了传统 linting 工具的范畴,可以识别诸如拼写错误、过时的注释、具有误导性的函数或变量名等问题。

6. 通过多 Claude 工作流提升效率

除了单独使用 Claude,一些最强大的应用场景涉及到并行运行多个 Claude Exemple :

a. 让一个 Claude 写代码,另一个 Claude 来验证

一个简单而有效的方法是:让一个 Claude 实例负责编写代码,而另一个实例负责审查或测试。这类似于与多位工程师协作,有时分离的上下文是有益的:

  1. utiliser Claude 编写代码。
  2. être en mouvement /clear 或在另一个终端中启动第二个 Claude Exemple.
  3. 让第二个 Claude 审查第一个 Claude 的工作。
  4. 启动另一个 Claude(或再次 /clear)来阅读代码和审查反馈。
  5. 让这个 Claude 根据反馈编辑代码。

你可以用类似的方式处理测试:让一个 Claude 写测试,然后让另一个 Claude 写代码来通过这些测试。你甚至可以通过给它们分配不同的工作草稿板,并指示它们哪个用于写入、哪个用于读取,来实现 Claude 实例之间的通信。

这种职责分离通常比让单个 Claude 处理所有事情产生更好的结果。

b. 使用代码仓库的多个检出副本

Anthropic 的许多工程师采用这种方式来避免等待 Claude 完成每一步:

  1. 在不同的文件夹中创建 3-4 个 git 检出 (checkout).
  2. 在不同的终端标签页中打开每个文件夹.
  3. 在每个文件夹中activer (un plan) Claude,分配不同的任务。
  4. 轮流切换检查进度并批准/拒绝权限请求。

c. 使用 git worktrees

这种方法对于处理多个独立任务特别有效,是比创建多个完整代码库副本更轻量级的替代方案。Git worktrees 允许你将同一个仓库的不同分支检出到不同的目录中。每个 worktree 都有自己独立的工作目录和文件,但共享相同的 Git 历史和 reflog,这比完全复制仓库更节省磁盘空间。

utiliser git worktrees,你可以同时运行多个 Claude 会话,分别处理项目的不同部分,每个会话专注于其独立的任务。例如,你可能让一个 Claude 重构认证系统,而另一个 Claude 构建一个完全不相关的数据可视化组件。由于任务不重叠,每个 Claude 都可以全速工作,无需等待对方的更改或处理合并冲突:

  1. 创建 worktree: :git worktree add ../project-feature-a feature-a
  2. 在每个 worktree 中启动 Claude: :cd ../project-feature-a && claude
  3. 根据需要创建更多的 worktree(在新的终端标签页中重复步骤 1-2)。

一些使用技巧:

  • 使用一致的命名约定。
  • 为每个 worktree 保留一个终端标签页。
  • 如果你在 Mac 上使用 iTerm2,可以 设置通知 以便在 Claude 需要注意时获得提醒。
  • 为不同的 worktree 使用单独的 IDE 窗口。
  • 完成后清理:git worktree remove ../project-feature-a

d. 结合自定义脚本使用无头模式

claude -p(无头模式)可以将 Claude Code 以编程方式集成到更大的工作流中,同时利用其内置工具和系统提示。使用无头模式主要有两种模式:

  1. 分发 (Fanning out):处理大规模迁移或分析(例如,分析数百个日志的情感或分析数千个 CSV 文件):
    1. faire faire qqch à qqn Claude 编写一个脚本来生成任务列表。例如,生成一个需要从框架 A 迁移到框架 B 的 2000 个文件的列表。
    2. 遍历任务列表,为每个任务以编程方式调用 Claude,给它一个任务和一组它可以使用的工具。例如:claude -p “将 foo.py 从 React 迁移到 Vue。完成后,如果成功,你必须返回字符串 OK,如果任务失败,则返回 FAIL。” --allowedTools Edit Bash(git commit:*)
    3. 多次运行脚本并优化你的提示,以获得期望的结果。
  2. 管道化 (Pipelining): Will Claude 集成到现有的数据/处理管道中:
    1. invocations claude -p “<你的提示>” --json | your_commandqui your_command 是你处理管道的下一步。
    2. JSON 输出(可选)有助于提供结构化数据,便于后续自动化处理。

对于这两种用例,使用 --verbose 标志有助于调试 Claude 的调用过程。通常建议在生产环境中关闭 verbose 模式以获得更简洁的输出。

希望这些技巧能帮助你更高效地使用 Claude Code。不断探索和实验,找到最适合你的编码方式。

© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...