当前位置: 首页 > article >正文

Claude Code 行为指南

Claude Code 行为指南背景与问题Andrej Karpathy前 OpenAI 创始成员、前 Tesla AI 总监在社交媒体上分享了他对 LLM 编码行为的观察“模型会替你做出错误的假设并直接执行而不去验证。它们不管理自己的困惑不寻求澄清不暴露不一致性不展示权衡取舍在应该拒绝时也不拒绝。”“它们非常喜欢过度复杂化代码和 API膨胀抽象层不清理死代码…实现一个膨胀的结构超过 1000 行而实际上 100 行就够了。”“它们有时仍然会更改/删除它们不够理解的注释和代码作为副作用即使这些与任务无关。”解决方案四大原则本项目通过四大核心原则来解决这些问题原则解决的问题先思考后编码错误假设、隐藏困惑、缺失权衡简约优先过度复杂化、膨胀抽象精准修改无关编辑、触碰不该碰的代码目标驱动执行通过测试优先、可验证的成功标准原则详解1. 先思考后编码 (Think Before Coding)核心理念不要假设。不要隐藏困惑。展示权衡取舍。LLM 经常默默地选择一种解释然后执行。这个原则强制显式推理明确陈述假设— 如果不确定先问而不是猜呈现多种解释— 当存在歧义时不要默默选择适时拒绝— 如果存在更简单的方法说出来困惑时停止— 指出不清楚的地方请求澄清示例对比# 用户请求添加用户数据导出功能 # ❌ LLM 常见做法错误假设 # - 假设导出所有用户隐私问题 # - 假设文件位置 # - 假设包含哪些字段 # 直接开始写代码... # ✅ 正确做法展示假设 在实现之前我需要澄清 1. 范围导出所有用户还是筛选子集隐私影响 2. 格式您说的导出是指 - 浏览器下载文件 - 后台任务邮件通知 - API 端点返回数据 3. 字段包含哪些用户字段有些可能敏感 4. 数据量通常有多少用户影响实现方式 最简单的方案添加返回分页 JSON 的 API 端点。2. 简约优先 (Simplicity First)核心理念解决问题的最少代码。不做任何推测性设计。对抗过度工程化的倾向不添加超出需求的功能不为单次使用的代码创建抽象不添加未请求的灵活性或可配置性不处理不可能发生的错误场景如果 200 行代码可以写成 50 行就重写它测试标准高级工程师会认为这过度复杂吗如果是就简化。示例对比# 用户请求添加折扣计算函数# ❌ 过度工程化约60行fromabcimportABC,abstractmethodclassDiscountStrategy(ABC):abstractmethoddefcalculate(self,amount:float)-float:passclassPercentageDiscount(DiscountStrategy):# ... 更多代码classFixedDiscount(DiscountStrategy):# ... 更多代码classDiscountCalculator:# ... 更多代码# ✅ 简约方案5行defcalculate_discount(amount:float,percent:float)-float:计算折扣金额。percent 应为 0-100。returnamount*(percent/100)3. 精准修改 (Surgical Changes)核心理念只触碰必须触碰的。只清理自己制造的混乱。修改现有代码时不要改进相邻的代码、注释或格式不要重构没坏的东西匹配现有风格即使你会用不同的方式如果发现无关的死代码提一下 — 不要删除它测试标准每一行改动都应该能直接追溯到用户的请求。示例对比# 用户请求修复空邮箱导致验证器崩溃的 bug# ❌ 做得太多添加了未请求的用户名验证defvalidate_user(user_data):验证用户数据。# 添加了未请求的 docstringemailuser_data.get(email,).strip()# 验证邮箱ifnotemail:raiseValueError(Email required)ifnotinemailor.notinemail.split()[1]:# 增强了验证raiseValueError(Invalid email)# 验证用户名 ← 这是未请求的功能usernameuser_data.get(username,).strip()ifnotusername:raiseValueError(Username required)iflen(username)3:raiseValueError(Username too short)returnTrue# ✅ 精准修改只修复空邮箱问题defvalidate_user(user_data):# 检查邮箱格式emailuser_data.get(email,)# 只改了这里ifnotemailornotemail.strip():# 处理空字符串raiseValueError(Email required)ifnotinemail:# 保持原有验证逻辑raiseValueError(Invalid email)# 检查用户名保持原样ifnotuser_data.get(username):raiseValueError(Username required)returnTrue4. 目标驱动执行 (Goal-Driven Execution)核心理念定义成功标准。循环直到验证通过。将命令式任务转化为可验证的目标不要说…转化为…“添加验证”“为无效输入写测试然后让测试通过”“修复 bug”“写一个能复现它的测试然后让测试通过”“重构 X”“确保前后测试都通过”对于多步骤任务陈述简要计划1. [步骤] → 验证: [检查项] 2. [步骤] → 验证: [检查项] 3. [步骤] → 验证: [检查项]示例对比# 用户请求给 API 添加速率限制 # ❌ 一次性完成300行代码无验证步骤 # 实现完整的 Redis 速率限制、多种策略、配置系统... # ✅ 增量验证 API 速率限制实现计划 1. 添加基本的内存速率限制单个端点 验证 - 测试100次请求 → 前10次成功其余返回429 - 手动curl端点11次看到速率限制错误 2. 提取为中间件应用到所有端点 验证 - 测试速率限制应用到 /users 和 /posts - 现有端点测试仍然通过 3. 添加 Redis 后端支持多服务器 验证 - 测试应用重启后速率限制持久化 - 测试两个应用实例共享速率限制计数器 4. 添加配置每个端点的速率 验证 - 测试/search 允许 10/分钟/users 允许 100/分钟 每个步骤独立可验证、可部署。 从步骤1开始安装方式方式 AClaude Code 插件推荐在 Claude Code 中执行# 首先添加市场/plugin marketplaceaddforrestchang/andrej-karpathy-skills# 然后安装插件/plugininstallandrej-karpathy-skillskarpathy-skills这会将指南作为 Claude Code 插件安装在所有项目中都可用。方式 BCLAUDE.md每个项目新项目curl-oCLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md现有项目追加echoCLAUDE.mdcurlhttps://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.mdCLAUDE.md如何知道它在生效如果这些指南在起作用你会看到diff 中不必要的改动减少— 只出现请求的改动过度复杂化导致的重写减少— 代码第一次就很简单澄清问题在实现之前出现— 而不是在犯错之后干净、最小的 PR— 没有顺便重构或改进权衡说明这些指南偏向谨慎而非速度。对于琐碎任务简单的拼写修复、明显的单行修改请使用判断力 — 不是每个改动都需要完整的严谨流程。目标是减少非琐碎工作中的代价高昂的错误而不是减慢简单任务。核心洞见来自 Andrej“LLM 非常擅长循环直到满足特定目标…不要告诉它做什么给它成功标准然后看着它执行。”目标驱动执行原则捕捉了这一点将命令式指令转化为带有验证循环的声明式目标。好的代码是简单解决今天问题的代码而不是过早解决明天问题的代码。

相关文章:

Claude Code 行为指南

Claude Code 行为指南 背景与问题 Andrej Karpathy(前 OpenAI 创始成员、前 Tesla AI 总监)在社交媒体上分享了他对 LLM 编码行为的观察:“模型会替你做出错误的假设并直接执行,而不去验证。它们不管理自己的困惑,不寻…...

如何轻松提升开发效率:智能编程助手的实战体验

如何轻松提升开发效率:智能编程助手的实战体验 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your trial requ…...

二分查找力扣题(leetcode)鼗

一、语言特性:Java 26 与模式匹配进化 1.1 Java 26 语言级别支持 IDEA 2026.1 EAP 最引人注目的变化之一,就是新增 Java 26 语言级别支持。这意味着开发者可以提前体验和测试即将在 JDK 26 中正式发布的语言特性。 其中最重要的变化是对 JEP 530 的全面支…...

PUBG雷达系统:3分钟搭建您的专属战场指挥中心

PUBG雷达系统:3分钟搭建您的专属战场指挥中心 【免费下载链接】PUBG-maphack-map this is a working copy online-map from jussihi/PUBG-map-hack, use nodejs webserver instead of firebase. 项目地址: https://gitcode.com/gh_mirrors/pu/PUBG-maphack-map …...

高效日志分析利器:glogg跨平台日志查看器深度解析

高效日志分析利器:glogg跨平台日志查看器深度解析 【免费下载链接】glogg A fast, advanced log explorer. 项目地址: https://gitcode.com/gh_mirrors/gl/glogg 在复杂的软件开发与系统运维过程中,日志分析是每个技术人员必须面对的挑战。面对庞…...

专业CAD数据处理指南:如何高效使用开源DWG转换工具LibreDWG

专业CAD数据处理指南:如何高效使用开源DWG转换工具LibreDWG 【免费下载链接】libredwg Official mirror of libredwg. With CI hooks and nightly releases. PRs ok 项目地址: https://gitcode.com/gh_mirrors/li/libredwg LibreDWG是一款强大的开源CAD文件处…...

把 BAPI、RAP 和 Clean Core 接到一条线上,聊透 BAPI 型 RAP Business Object 的可扩展性

在很多真实项目里,最麻烦的场景从来不是 新建一个 RAP BO,而是手里已经有一套跑了很多年的 BAPI,业务规则、消息处理、权限控制、编号逻辑、过账动作,全都压在里面。业务部门又不想推倒重来,只是希望把它接到 SAP Fiori、OData、RAP 这条现代开发链路上,同时还得满足 Cle…...

Agent-Sandbox UI 上线,来看看有哪些的功能是你经常使用的?汉

一、简化查询 1. 先看一下查询的例子 /// /// 账户获取服务 /// /// /// public class AccountGetService(AccountTable table, IShadowBuilder builder) {private readonly SqlSource _source new(builder.DataSource);private readonly IParamQuery _accountQuery build…...

行业必备!AI教材编写工具,快速出稿且保持低查重率

AI教材创作工具介绍 谁没有在写教材的时候感到无从下手?面对一张空白的文档,有时常常不知道从何起步,思考着到底先讲课本的概念还是先用实例来说明?在章节划分上,纠结于是按逻辑关系来还是按课时来安排?不…...

避坑指南:JavaCV中FFmpegFrameGrabber处理音频流时,采样格式转换的那些‘坑’

JavaCV音频处理实战:FFmpegFrameGrabber采样格式转换的深度解析 1. 音频采样格式的底层逻辑与核心挑战 在多媒体处理领域,音频采样格式的转换是一个看似简单实则暗藏玄机的技术点。当我们使用JavaCV的FFmpegFrameGrabber处理音频流时,经常会遇…...

Mininet实战指南:从基础命令到高级网络模拟

1. Mininet入门:基础命令与核心概念 第一次接触Mininet时,我完全被它模拟真实网络的能力震撼到了。这个轻量级网络仿真工具能在单台Linux机器上创建包含主机、交换机、控制器和链路的虚拟网络,特别适合做SDN开发和网络协议测试。记得当时为了…...

别再瞎选 B2B2C 开源商城了!实测对比 Tigshop /ShopXO/Likeshop/Niushop/BeikeShop

作为一名折腾过不少开源电商项目的程序员,我深知一个道理:选择电商系统这事儿,选对了皆大欢喜,选错了就是无底洞。技术栈老旧的、文档缺东少西的、号称“免费”结果到处埋坑的,这些年我都踩过一遍。最近因为项目需要调…...

手把手复现DiffusionDet:基于PyTorch从论文到代码的完整实践指南(含COCO数据集)

从零实现DiffusionDet:基于PyTorch的扩散式目标检测实战指南 1. 环境配置与工具准备 在开始DiffusionDet项目之前,确保你的开发环境满足以下要求。我们将使用PyTorch作为主要框架,配合CUDA加速计算。 硬件建议: GPU&#xff1…...

如何让AI替你操作浏览器?Midscene Chrome扩展的智能自动化革命

如何让AI替你操作浏览器?Midscene Chrome扩展的智能自动化革命 【免费下载链接】midscene AI-powered, vision-driven UI automation for every platform. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 你是否厌倦了每天重复点击、填写、提交…...

Linux下Python连接MySQL报错‘libstdc++.so.6: cannot allocate memory in static TLS block’的保姆级修复指南

Linux下Python连接MySQL报错‘libstdc.so.6: cannot allocate memory in static TLS block’的保姆级修复指南 最近在Linux服务器上部署Python应用时,不少开发者遇到了一个令人头疼的错误:当尝试通过mysqlclient连接MySQL数据库时,系统抛出li…...

Pentaho Kettle数据血缘追踪架构深度解析:构建企业级数据治理核心能力

Pentaho Kettle数据血缘追踪架构深度解析:构建企业级数据治理核心能力 【免费下载链接】pentaho-kettle Pentaho Data Integration ( ETL ) a.k.a Kettle 项目地址: https://gitcode.com/gh_mirrors/pe/pentaho-kettle 在复杂的企业数据集成场景中&#xff0…...

文墨共鸣GPU算力优化:StructBERT模型显存占用降低40%的部署技巧

文墨共鸣GPU算力优化:StructBERT模型显存占用降低40%的部署技巧 1. 项目背景与挑战 文墨共鸣是一个将深度学习算法与传统水墨美学相结合的语义相似度分析系统,基于阿里达摩院的StructBERT大模型。在实际部署中,我们发现原始模型存在明显的显…...

lerobot so101机械臂锁死紧急救援!删除校准文件三步重生术

问题在调试校准lerobot so101机械臂,第二遍执行校准机械臂的命令lerobot-calibrate时,整个机械臂锁死,无法手动调整舵机: lerobot-calibrate \--robot.typeso101_follower \--robot.port/dev/ttyACM0 \--robot.idmy_awesome_follo…...

Qwen3-0.6B-FP8部署教程:在国产昇腾910B平台适配vLLM(需修改backend)可行性分析

Qwen3-0.6B-FP8部署教程:在国产昇腾910B平台适配vLLM(需修改backend)可行性分析 1. 引言:当轻量级大模型遇上国产算力 最近,很多朋友都在问一个问题:现在大模型动辄几十上百亿参数,部署起来对…...

JAVA集合—ArrayList源码深度解析

前言ArrayList 可能是每个 Java 开发者最早接触、使用最频繁的集合类。但你是否真正理解过它的内部实现?比如:扩容机制是什么?为什么扩容是 1.5 倍?add() 和 remove() 的时间复杂度分别是多少?本文基于 JDK 21 源码&am…...

R语言建模总“跑不通”?3步定位环境污染源:从.Rprofile到Sys.getenv()的深度诊断手册

第一章:R语言建模环境“跑不通”现象的典型表现与危害R语言建模环境中的“跑不通”并非指语法错误导致的立即报错,而是一类隐蔽性强、复现性差、定位困难的系统性失配问题。这类问题常在跨平台迁移、版本升级或协作开发中集中爆发,表面看似代…...

Windows风扇控制终极指南:Fan Control软件完全掌握

Windows风扇控制终极指南:Fan Control软件完全掌握 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/Fa…...

哪些场景对IP精准度要求最高?金融、广告、CDN等五大领域解析

在IP查询工具的选型中,精准度往往是决定技术方案成败的关键。不同业务场景对定位误差的容忍度差异极大:内容推荐可以接受城市级偏差,但金融风控中一个IP的误判就可能造成数万元损失。本文梳理了五大对IP精准度要求最高的场景,并分…...

Phi-3 Forest Laboratory 实战:SpringBoot微服务集成AI能力指南

Phi-3 Forest Laboratory 实战:SpringBoot微服务集成AI能力指南 最近在做一个内部知识库问答系统的升级,需要集成一个轻量但聪明的语言模型来处理用户查询。试了几个方案,最后把目光锁定在了Phi-3 Forest Laboratory上。它体积小、推理快&am…...

低空经济新引擎:一文读懂固定翼无人机

低空经济新引擎:一文读懂固定翼无人机 引言 随着低空经济被正式确立为国家战略性新兴产业,无人机技术正从“小众极客”走向“大众应用”的广阔天地。在众多无人机形态中,固定翼无人机以其长航时、大载重、高效率的独特优势,成为物…...

深度解析:macOS微信防撤回插件WeChatIntercept的5个核心技术揭秘

深度解析:macOS微信防撤回插件WeChatIntercept的5个核心技术揭秘 【免费下载链接】WeChatIntercept 微信防撤回插件,一键安装,仅MAC可用,支持v3.7.0微信 项目地址: https://gitcode.com/gh_mirrors/we/WeChatIntercept 作为…...

从原理到实战:在虚拟环境中重现永恒之蓝对Win7的攻防

1. 永恒之蓝漏洞的前世今生 2017年那场席卷全球的网络风暴,至今仍让很多IT从业者心有余悸。当时一个名为"永恒之蓝"的漏洞利用工具被公开,随即引发了WannaCry勒索病毒的全球大爆发。医院系统瘫痪、企业数据被锁、政府机构停摆...这些场景都源于…...

使用Spring AI Alibaba构建智能体Agent妒

背景 在软件开发的漫长旅途中,"构建"这个词往往让人又爱又恨。爱的是,一键点击,代码变成产品,那是程序员最迷人的时刻;恨的是,维护那一堆乱糟糟的构建脚本,简直是噩梦。 在很多项目中…...

CentOS7.9下Confluence企业Wiki搭建全攻略:从MySQL8配置到破解激活避坑指南

CentOS7.9企业级Confluence Wiki部署实战:高可用架构与深度优化指南 当企业知识管理遇上技术债务,运维团队往往陷入文档散落、版本混乱的困境。Atlassian Confluence作为企业级Wiki解决方案,正成为组织数字化转型的核心中枢。本文将基于CentO…...

【NoC片上网络 On-Chip Network】第一章:从总线到NoC,解锁多核芯片的通信瓶颈

1. 多核芯片的通信革命:从总线到NoC的必然选择 十年前我第一次接触多核处理器设计时,团队还在为四核芯片的总线仲裁争得面红耳赤。当时谁也没想到,短短几年后我们会面临上百个核心的通信难题。就像城市交通从乡间小道突然变成超级都市的立体…...