首页 › tutorials › 零基础首战:一句话跑出第一个程序

零基础首战:一句话跑出第一个程序

概述

本教程面向完全零基础的开发者:你已经装好了 Claude Code,打开终端却不知道"第一句话该说什么"。我们将用一次完整的、可复现的实战,带你从"一句话需求"走到"一个能运行、能验收、能用 Git 回滚的真实小程序",并在每一步讲清楚 Claude Code 此刻在做什么、你该按什么。学完你将掌握对话式编程的最小可用闭环,不再是"装好就吃灰"。

适用人群

前置条件

安装与环境受限场景,可先看《终端零基础:三平台三形态装通 Claude Code》与《内网受限环境装好跑通 Claude Code》。本文假设你已经能敲出 claude 并看到欢迎界面。


第 0 步:建立"对话式编程"的心智模型

很多新手吃亏在这一点:把 Claude Code 当"更聪明的搜索引擎",丢一句 怎么写一个 for 循环 就结束了。这不是它的用法。

Claude Code 是一个会动手的智能体(agent)。你用自然语言下达任务,它会:

  1. 读你的目录,搞清楚这是个什么项目
  2. 规划要做哪几件事(建哪些文件、改哪些代码、跑什么命令)
  3. 动手:创建文件、编辑代码、运行命令、运行测试
  4. 每一步都请你确认——尤其是改文件和执行命令

所以"第一句话"不是问句,而是任务交付。区别如下:

写法 心智 结果
"Python 怎么读 CSV" 搜索 得到一段示例代码,你自己粘
"在当前目录建一个 Python 脚本,读取 data.csv 并统计每列缺失值,打印报告" 任务交付 它建文件、写代码、跑起来,你验收

记住这条分界线,后面的所有步骤都会顺。

第 1 步:启动并确认环境就绪

进入你准备好的空目录,启动会话:

mkdir my-first-project && cd my-first-project
claude

预期结果:终端顶部出现一行状态栏,显示版本号、当前模型、工作目录,下面是一个闪烁的输入提示符。

先做三件"体检"小事,养成良好的开局习惯:

  1. 确认账号已登录。首次启动会引导浏览器登录;若中途掉线,在会话内输入 /login 重新认证。Pro 计划的额度每 5 小时重置一次,无超额扣费,但有一个周上限,连续多天高强度使用也可能触顶。
  2. 看一眼诊断:输入 /doctor,它会报告安装是否健康、是否有可改进项(如是否装了 Git、Node 版本等)。
  3. 确认模型:输入 /model 查看当前使用的模型。新手保持默认即可,不用纠结切换。

常见问题

第 2 步:给 Claude 一个"高质量的第一句话"

新手最常犯的错误是需求太模糊。Claude Code 不会替你猜清楚业务,模糊的需求只能换来平庸的结果。一个好的"第一句话"应包含四要素:

本步骤只做"写好第一句话",先不要急着发——把它当成一份迷你需求文档。

对比两种写法:

❌ 差的写法:

写一个温度转换程序

✅ 好的写法:

用 Python 写一个命令行温度转换工具 temp.py:
- 支持摄氏、华氏、开尔文三种单位的互相转换
- 用法:python temp.py <数值> <源单位> <目标单位>,如 python temp.py 100 C F
- 输入非法(单位不认识、非数字)时打印友好错误提示并以非零状态码退出
- 附一个简单的自测:跑几组典型值,确认转换正确

常见问题

第 3 步:看懂 Claude 的规划与执行(最关键的一步)

把第 2 步那句话发出去后,屏幕上会发生一系列"动作"。新手要学的不是动作本身,而是如何看懂和把控它。Claude Code 在工作时通常会展示这些信号:

  1. 思考 / 计划文字:它会先用一段话说明"我打算怎么做"。如果你看到方向不对,立刻 Esc 打断,比让它跑完再返工省得多。
  2. 工具调用:它会显示正在调用什么工具,例如 Read(读文件)、Write(写新文件)、Edit(改文件)、Bash(跑命令)。
  3. Diff 与权限确认:每次要改你的文件或执行命令前,它会停下来等你确认。你会看到: - 改动预览(新增了哪些行、删了哪些行) - 一个选择菜单:Yes / Yes, and don't ask again for similar / No / ...

这是新手最重要的肌肉记忆:先看 diff,再决定按哪个键。

常见问题

第 4 步:第一次运行与验收

Claude 写完 temp.py 后,让它自己跑起来验证。你可以直接说:

跑一下,用 100 C F、0 C K、32 F C、abc X Y 这四组输入测试,把输出贴给我

预期结果:它会调用 Bash 执行 python temp.py ...,把四组输出贴回来。前三组应得到正确转换结果,第四组(非法输入)应打印友好错误并退出。

这一步教你一个核心观念:AI 写的代码,默认要怀疑,直到它自己证明能跑。 让它跑、让它自测、让它把结果摆出来,比"它说写完了"更可信。

常见问题

第 5 步:第一次迭代——改需求、修 Bug、让它"反向提问"

真实开发从不一次成型。第一次迭代有三个值得练的动作:

A. 增量改需求。 不要重写整个程序,只说增量:

再加一个功能:不加参数直接运行 python temp.py 时,进入交互模式,反复读入一行输入并转换,输入 q 退出。

它会只改必要的地方,而不是推倒重来。

B. 让它修 Bug。 如果某组输入结果不对,直接把现象告诉它:

我发现 0 C K 得到 273.15,但 -300 C 也算出了负的开尔文,温度低于绝对零度应该报错,修一下

它会定位代码、改正、再跑一遍验证。

C. 主动让它"反向提问"。 这是新手容易忽略的高级技巧。在开始一个稍微复杂的需求前,说:

先别动手。就这个需求,列出 3 个你不确定、需要我澄清的问题。

它会问你边界条件、错误处理偏好等——这种"先对齐再动手"的习惯,能把试错成本降一个数量级。(会话内还可用计划模式先审方案再执行,适合稍大的改动。)

常见问题

第 6 步:用 Git 收尾——你的安全网

这一步很多新手跳过,但它是长期使用 AI 写代码最重要的工程习惯。

git init                          # 如果还没初始化
git add -A
git commit -m "feat: 温度转换 CLI 工具(含交互模式与边界校验)"

为什么必须做:

常见问题


实战案例:一个会自我修复的温度转换 CLI

把上面六步串成一次完整实战。下面是你和 Claude Code 的真实交互流(文字模拟终端)。

① 开局体检

$ cd my-first-project && claude
> /doctor        # 一切正常,检测到 Git ✅
> /model         # 当前默认模型,保持不变

② 对齐需求(反向提问)

> 先别动手。我要用 Python 写一个命令行温度转换工具,支持 C/F/K 互转。
  列出 3 个你需要我澄清的问题。

Claude 回复: - 单位用什么字母表示?(C/F/K 还是 celsius/fahrenheit) - 非法输入如何处理?(报错退出 vs 进入提示重输) - 是否需要交互模式?

③ 正式下达(含四要素)

> 单位用 C/F/K。命令行用法:python temp.py <值> <源单位> <目标单位>。
  非法输入打印友好错误并以状态码 1 退出。低于绝对零度(< -273.15℃)也要报错。
  写完后用 4 组输入自测并贴出输出。

④ 看它执行并逐条确认 Claude 的工作流(你会逐个看到并确认): 1. Write temp.py —— 创建文件(你看了 diff,按 Yes) 2. Bash: python temp.py 100 C F → 212.0 3. Bash: python temp.py 0 C K → 273.15 4. Bash: python temp.py 32 F C → 0.0 5. Bash: python temp.py abc X Y → 错误:无法识别的单位 'X'(退出码 1)

temp.py 的核心逻辑长这样(Claude 生成、你审过):

import sys

ABSOLUTE_ZERO_C = -273.15
UNITS = {"C", "F", "K"}

def to_celsius(value, unit):
    if unit == "C": return value
    if unit == "F": return (value - 32) * 5 / 9
    if unit == "K": return value - 273.15
    raise ValueError(f"无法识别的源单位 '{unit}'")

def from_celsius(c, unit):
    if unit == "C": return c
    if unit == "F": return c * 9 / 5 + 32
    if unit == "K": return c + 273.15
    raise ValueError(f"无法识别的目标单位 '{unit}'")

def main():
    if len(sys.argv) != 4:
        print("用法: python temp.py <值> <源单位> <目标单位>,如 python temp.py 100 C F")
        sys.exit(1)
    try:
        value = float(sys.argv[1])
    except ValueError:
        print(f"错误:'{sys.argv[1]}' 不是合法数字"); sys.exit(1)
    src, dst = sys.argv[2].upper(), sys.argv[3].upper()
    if src not in UNITS or dst not in UNITS:
        print(f"错误:单位必须是 {UNITS} 之一"); sys.exit(1)
    c = to_celsius(value, src)
    if c < ABSOLUTE_ZERO_C:
        print(f"错误:温度 {value}{src} 低于绝对零度"); sys.exit(1)
    print(round(from_celsius(c, dst), 2))

if __name__ == "__main__":
    main()

⑤ 迭代

> 再加:不带参数运行时进入交互模式,循环读取输入,输入 q 退出。
> 我发现 -500 C 没被拦住——哦你已经加了绝对零度校验,跑一下 -500 C F 确认。

Claude 增量改 main(),新增交互分支;重跑 -500 C F 得到"低于绝对零度"报错 ✅。

⑥ 收尾

> 帮我把 temp.py 暂存并提交,提交信息:feat: 温度转换 CLI(C/F/K 互转+交互模式+边界校验)
> (你审了 git status,确认没有敏感文件,同意执行)

至此你完成了一次完整的"一句话 → 能跑 → 能改 → 可回滚"闭环。整个过程你没有亲手写一行逻辑代码,但每一行都经你审阅、每一处命令都经你放行。


工作流程图

flowchart TD
    A[打开终端<br/>进入项目目录] --> B[claude 启动会话]
    B --> C[/doctor /login 体检/]
    C --> D{需求清楚吗?}
    D -- 否 --> E[让它反向提问<br/>先对齐再动手]
    E --> D
    D -- 是 --> F[下达四要素任务<br/>做什么/用什么/约束/验收]
    F --> G[Claude 规划并展示 diff]
    G --> H{看 diff<br/>方向对吗?}
    H -- 不对 --> I[Esc 打断<br/>让它改方案]
    I --> G
    H -- 对 --> J[逐条确认放行<br/>Write/Edit/Bash]
    J --> K[让它自测并贴输出]
    K --> L{验收通过?}
    L -- 否 --> M[增量改需求/修 Bug]
    M --> K
    L -- 是 --> N[git add + commit<br/>打成检查点]
    N --> O[🎉 第一个能跑的程序交付]
    O -.翻车时.-> P[git restore / reset<br/>回到安全版本]
    P --> F

五个最该养成的开局习惯(给零基础的你)

  1. 把"提问"换成"下达任务"——四要素齐全,别让它猜。
  2. 方向不对,立刻 Esc——打断比返工便宜十倍。
  3. 每个 diff 都过目——这是你建立"AI 可信度判断力"的唯一途径。
  4. 能跑才算完成——不接受"应该可以",要它贴出真实输出。
  5. Git 是安全带——每次稳妥的版本都提交成检查点。

延伸阅读


训练营适用性评估


参考来源

  1. Quickstart — Claude Code Docs(官方) — 安装、登录、首次会话、首次代码改动与 Git 集成的权威步骤,本文命令与登录流程以此为准。
  2. How to Use Claude Code (Beginner Guide) — builder.io — 从安装到首次真实改动的实战视角;Pro/Max 计划、5 小时额度重置、周上限、浏览器认证等细节来源。
  3. Claude Code Tutorial for Beginners 2026 — DEV Community — 2026 年初学者全流程教程;本文"温度转换 CLI"实战案例的灵感来源与 CLAUDE.md、/doctor、claude --continue、claude -p 等技巧参照。
  4. Claude Code for Beginners: Your First Project in 30 Minutes — lowcode.agency — "30 分钟跑通首个项目"的零基础节奏参考,佐证本文的时长评估与分步策略。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入