03 基础使用

真的开始了

装好了吧?那咱们就别废话了,直接上手。

我还记得我第一次用 Claude Code 的时候,心里其实挺忐忑的。毕竟是个 AI 工具,不知道它到底能不能理解我的需求。结果一用才发现,这东西比我想象中聪明多了。

咱们先来个最简单的:

1
claude "你好,请介绍一下你自己"

它会跟你打个招呼,介绍一下自己能干啥。虽然这不是什么编程任务,但这第一步很重要——你跟它建立起了”对话”的感觉。

你可能觉得这很简单,但别急,好戏在后面。


怎么跟它对话

Claude Code 有几种用法,你得根据自己的情况选。

最直接的就是直接在命令行里说你想干什么,比如:

1
claude "创建一个 Python 函数,计算斐波那契数列"

这种适合简单直接的任务,说完就完事。

但有时候你需要让它处理一些文件内容或者命令输出,那就可以用管道:

1
cat script.py | claude "请优化这段代码"

我经常用这个来快速审查代码,特别方便。

还有一种情况,就是你需要跟它多轮对话,那就用交互模式:

1
claude

进入之后你可以一直跟它聊,想退出了就敲 exit 或者按 Ctrl+D。这种我一般用来处理比较复杂的问题,可以一步步深入讨论。


提示词怎么写

说实话,提示词这东西挺讲究的。你问得不清楚,它给的答案肯定也不理想。

我一开始也没太在意这个,心想”反正它是 AI,应该能懂我吧”。结果不是这样。你得把话说清楚、说具体。

比如,”写个函数”这种就太模糊了。它写出来的可能根本不是你想要的。你得说清楚用什么语言、要实现什么功能、有什么特殊要求。

1
claude "用 Python 写一个函数,接收一个整数列表,返回排序后的列表,使用快速排序算法"

看,这样就清楚多了。

还有就是得给它足够的上下文。别光说”修复这个 bug”,它又不是你肚子里的蛔虫,哪知道你在说什么 bug。你得把错误日志、相关代码都给它看看。

1
claude "我的用户登录功能有问题,这是错误日志:[日志内容]。请帮我分析可能的原因并提供解决方案"

格式也挺重要的。如果你想要特定的输出格式,直接告诉它。比如你想用表格看 API 文档,那就说清楚:

1
claude "请用 Markdown 表格格式解释这个 API 的端点、参数和返回值"

几个实用的小技巧

说点实际的吧。

有时候你需要生成一个完整的功能,那就可以把要求列清楚一点。比如要创建一个 Express 中间件:

1
claude "使用 JavaScript 创建一个 Express 中间件,验证 JWT token。如果无效返回 401,如果有效将用户信息添加到 req.user"

或者让它解释一段你不理解的代码:

1
2
3
4
5
6
7
8
9
10
cat << 'EOF' | claude "请解释这段代码的工作原理,特别是快速排序的思路"
def quicksort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quicksort(left) + middle + quicksort(right)
EOF

调试的时候也特别有用。报错了不知道怎么回事?直接问它:

1
claude "我的 Python 脚本报错:NameError: name 'x' is not defined。这可能是什么原因?"

它不仅能告诉你问题在哪,还会解释为什么会这样,以后怎么避免。这种”授人以渔”的感觉真的挺好的。

还有个功能我经常用,就是代码转换。比如你有 Python 代码想改成 JavaScript:

1
echo "def add(a, b): return a + b" | claude "将这个 Python 函数转换为 JavaScript"

几个命令行选项

有些命令行选项还是挺实用的。

--help--version 这种就不多说了,大家都懂。

如果你想换个模型,比如用更快但稍微简单点的 Haiku:

1
claude --model claude-3-5-haiku-20241022 "你的问题"

想把输出保存到文件:

1
claude "创建一个脚本" > script.py

这些都比较直观。还有一些高级选项,比如控制回复长度(--max-tokens)、调整创造性(--temperature),但说实话,我平时基本用不着。默认值就挺好的。


我的一些工作习惯

用了这么久,我总结了一些小经验。

别指望一次就能得到完美结果。我一般会先给出一个粗略的需求,看看它给我什么,然后再逐步细化。

比如先说”创建一个用户登录系统”,看看它给的基础架构怎么样。然后再说”在之前的代码基础上,添加密码加密”,最后再补充”添加登录失败次数限制”。这样一步步来,效果比一次性提一大堆要求要好得多。

还有就是把复杂任务拆解开。别让它一次性搞定整个博客系统,那是给自己找麻烦。先设计数据库表结构,然后实现文章列表 API,再添加用户认证。一步一步来,每一步都验证好了再进行下一步。

代码审查这块我也经常用。写完代码之后,让 Claude Code 帮你看一眼:

1
cat my_code.py | claude "请审查这段代码,指出潜在问题"

它能发现很多你自己没注意到的问题,有时候还能给出不错的优化建议。

把它当成学习工具也挺好的。遇到不懂的概念直接问:

1
2
claude "请用简单的例子解释什么是递归"
claude "对比 SQL 的 INNER JOIN 和 LEFT JOIN"

它解释得比很多文档都要清楚,而且还能根据你的理解程度调整说明方式。


交互模式的几个快捷键

在交互式模式下,有几个快捷键挺实用的。

Enter 就是发送消息,这个不用多说。

Ctrl+C 可以取消当前的输入,如果你写到一半发现问法不对,用这个取消重新来就行。

Ctrl+D 是退出交互模式,跟 exit 命令一样。

上下箭头可以浏览历史命令,这个跟终端里一样,可以找到之前问过的问题稍微改改再问一遍。

Ctrl+L 清屏,有时候屏幕内容太多了,用这个清理一下。


几个小建议

明确目标很重要。别上来就让它干活,先想清楚你自己要什么。模糊的需求只会带来模糊的答案。

尽可能提供上下文。代码、错误信息、需求背景,这些都能让它更理解你的情况。它又不是你肚子里的蛔虫,得给它足够的信息。

复杂任务一定要分步骤。别想着一步到位,慢慢来比较快。

生成的代码一定要验证。我从来不直接用它的代码,至少要通读一遍,测试一下。它是助手,不是替代品。

多观察什么样的提示词效果好。你会发现有些问法它给的答案特别好,有些就一般般。慢慢积累这些经验,你的效率会越来越高。


几个常见问题

有人问,Claude Code 回答不准确怎么办?

我觉得大部分时候是因为没提供足够的信息。你可以尝试多给点上下文、把需求说得更具体、把大问题拆小一点,或者直接告诉它你想要什么格式的答案。

还有人问,怎么获得同一个问题的多种解决方案?

直接跟它说就行了:

1
claude "请提供三种不同的实现方式来..."

它通常能给你几个不同的思路,你可以选最适合你场景的那个。


就聊到这儿吧

这一章讲了些基础用法,但最核心的其实就是一点:怎么跟 Claude Code 有效沟通。

它不是魔法棒,不能猜你心里想什么。你得把话说清楚,给它足够的信息,它才能帮你解决问题。

现在你已经知道基本怎么用了,下一章我们聊聊代码生成,那才是 Claude Code 真正厉害的地方。

第四章:代码生成

咱们继续!