Synth Daily

普通人更要多动手:聊聊我把 Claude Code 变成个人助手后的那些事

一位非程序员用户,在不会写代码的情况下,利用 Claude Code 和 Claude Agent SDK 成功构建了个人 AI 助手。这一过程体现了“vibe coding”的核心理念:通过与 AI 对话,将想法快速转化为实际产品。文章分享了六大核心技巧,强调了产品思维(决定“做什么”和“为什么做”)远比 AI 可以代劳的编码实现(“怎么做”)更为重要,并通过配额管理、消息处理和安全设计等实际案例进行阐述。这种方式不仅降低了技术门槛,更帮助普通人培养了系统化思维和项目管理能力,鼓励更多人利用 AI 实现自己的创意。

产品感比代码能力更稀缺

自己动手构建几十个演示(demo)后,我发现 demo 是传达想法最有效的媒介。它不仅仅是将模糊想法具体化的过程,更是建立信任的捷径。

  • 思想外化:将脑中模糊的想法变为具体、可交互的产品。基于已有的实体进行思考和迭代,远比凭空想象更高效。
  • 建立信任:相比于让人昏昏欲睡的报告或幻灯片,一个可操作的 demo 能提供最直接、最可信的信息。当我将访谈分析流程用 AI 自动化后,原本无动于衷的同学立刻理解了它的价值。
  • 低成本实现:AI 工具极大地降低了从概念到产品的成本。一个下午加上一个 AI 工具,就足以创造出可以展示给上百人的东西。

vibe coding 的六大核心技巧

技巧 1:不要凭空创造,学习别人已经做过的

这是最快的进步方式。与其让 AI 从零开始,不如给它一个参考。

当我需要一个网页仪表盘时,我没有说“给我一个漂亮的仪表盘”,而是直接在 GitHub 上找一个开源项目,然后告诉 AI:“按照这个项目的设计风格,给我一个 React Dashboard 组件库。”

这样做的好处是,AI 能直接理解并生成风格匹配的代码,避免了多轮反复的沟通和调整。你可以在 GitHub、Dribbble、Behance 等平台寻找灵感和参考。这并非抄袭,而是站在巨人的肩膀上快速迭代

技巧 2:不断问 AI,让问题驱动学习

我对服务器、SSH、Docker 一无所知,但我没有去报班学习。相反,我在每个操作前都询问 AI:

  • “我怎样在手机上远程控制 Claude Code?”
  • “这个 SSH 密钥是用来干什么的?”
  • “Docker 对我的项目有什么好处?”

AI 不仅解释概念,还提供具体步骤和调试帮助。我没有上过一堂 Linux 课,但我学会了如何“做事”。这就是 vibe coding 的精髓之一:让问题驱动学习,每个提问都是一个教学时刻

技巧 3:渐进式开发,理清顺序和依赖关系

构建项目时,不能想到哪做到哪。模块之间存在依赖关系,需要合理规划顺序。我与 AI 一起重新规划了开发顺序:

  1. 定义数据模型:首先确定 User、Session、Task 等核心结构。
  2. 实现核心逻辑:构建 Agent 和服务器等关键功能。
  3. 添加约束层:设计用户配额和权限管理。
  4. 集成交付层:最后与聊天软件等外部服务对接。

这个顺序保证了后续添加新功能时,不必改动已完成的模块接口,让系统更稳定,也更容易排查错误。这是基础的系统设计思维,AI 能帮你实现,但你自己必须思考清楚

技巧 4:一个文件,一个工作,保持代码模块化

如果一个文件有过长的代码,AI 出错的概率会成倍增加。将代码拆分成小而专一的模块至关重要。

  • AI 的上下文更清晰,处理小任务时表现更好。
  • 你能更快地定位问题
  • 修改一个模块的影响范围是受限的

我将项目拆分为 handlers.py (处理命令)、agent/ (连接 Claude)、user/ (管理用户) 等多个文件和目录。每个文件只做一件事,这样 AI 就能准确地在指定位置修改或添加功能,而不是在混乱的代码中迷失。

技巧 5:先花 5 分钟做架构思考

在动手写代码前,我会先和 AI 讨论整体方案。

我会说:“我们先讨论一下,不急着实现。我想做一个 XX,有什么方案?能不能实现?”

AI 会给出架构建议、潜在问题和方案选择,这让我对项目更有掌控感。好的架构能预防 80% 的后续问题。先改架构,远比后面去改已经写好的代码更容易。对于没有开发经验的人来说,AI 的建议往往能超越个人知识范围。

技巧 6:利用 Claude Code 和 Agent SDK

Claude Agent SDK 是 vibe coding 的高效工具,它让 AI 拥有了一台“计算机”,可以像人一样工作。

  • MCP Server:让 AI 使用你自定义的工具。
  • 上下文管理:自动处理会话和上下文。
  • 工具调用:AI 可以主动调用你编写的函数。

Claude Code 本身就内置了编写 Agent SDK 程序的插件,这意味着它非常熟悉自己的工具集,可以顺畅地帮你构建应用,无需你手动复制粘贴文档。

从想法到产品的完整工作流

步骤 1:定义问题,而非解决方案

错误的方式是直接告诉 AI 用什么技术栈,例如:“用 Python 和 Flask API 写一个项目”。这限制了 AI 的创造力,而且你选的方案未必是最佳的。

正确的做法是描述你的需求和目标

“我想在自己的服务器上有一个东西,能随时通过指令处理文件。”

我们只需定义 what (做什么)why (为什么做),让 AI 去推荐 how (怎么做)

步骤 2:架构思考,5 分钟头脑风暴胜过 5 小时返工

在 AI 给出初步架构后,我会问自己几个关键问题来评估它:

  • 我能理解这个架构吗? 如果方案过于复杂,我无法理解,后续也无法调试。不懂就要问,AI 会耐心解释。
  • 哪个模块风险最大? 我意识到,AI 的初始方案没有考虑安全问题。如果用户可以任意读写服务器文件,后果不堪设想。
  • 需要增加什么来弥补? 针对安全风险,我追问 AI 并得到了路径隔离、Docker 容器等建议。

这短短 5 分钟的对话,让我提前将安全层设计进架构,避免了后期代码写完再大规模返工。

步骤 3:逐模块实现,一次只做一件事

不要让 AI “把整个项目写出来”,这只会得到一堆你看不懂的代码。应该将大需求拆解成小任务,一次让 AI 只实现一个具体功能。

例如,不要说“帮我写一个用户管理系统”,而要说:“实现一个 User Manager,包含创建用户、获取配置、检查配额等功能,且每个用户数据存在单独文件夹中。”

这样 AI 的工作边界清晰,写出的代码质量更高,也不容易跑偏。

步骤 4:处理错误和细节,给 AI 足够的上下文

调试是开发过程的重要部分。我有两个提高效率的技巧:

  • 让 AI 自己先测试代码:在 AI 写完一个模块后,让它编写测试用例来验证函数是否正确。这能自动发现并修复大部分低级错误。
  • 报错时给足上下文:不要只说“这个功能不工作”。要详细描述你做了什么、期望什么结果、实际得到了什么。

例如:“我上传了一个 2MB 的 PDF,期望得到 Markdown 输出,但系统返回了 'Permission denied'。我觉得可能是目录权限问题。”

你给 AI 的信息越完整,它帮你定位问题的速度就越快。

产品思维——代码能学会,这个学不会

代码只是实现工具,真正决定产品好坏的是产品思维。AI 无法替代你做决策。

  • 设计 1:为什么要做存储配额? 我的服务器硬盘空间有限,如果不做限制,很快就会被用满。因此我决定为每个用户设置 5GB 的配额。这个“5GB”的决策,来源于我对使用场景和资源限制的思考,而非技术本身。AI 是执行者,你是决策者

  • 设计 2:消息太长怎么办? AI 返回的长篇分析在聊天软件里显示效果很差。我的第一反应是让 AI 拆分消息,但体验不好。最终的方案是:超过一定长度的回复自动打包成 .txt 文件发送。这是一个基于用户体验的产品决策,AI 不会主动提出。

  • 设计 3:安全问题怎么想? 我的 Bot 能读写服务器文件,这是核心价值,也是最大风险。我主动思考了可能出现的安全问题,并做出了几个关键决策:禁用高危命令、做用户路径隔离、使用 Docker 容器。安全是你自己的责任,AI 只会实现你提出的功能

这三个设计的共同点在于,它们都在回答“为什么”的问题。AI 能回答“怎么做”,但只有你能定义“做什么”和“为什么做”。不会写代码反而可能是一种优势,因为它让你更专注于思考问题的本质和用户的真实需求。

为什么普通人要多 Vibe Coding

  • 边干边学是最高效的学习方式:为解决实际问题而学,动力更足,反馈周期更短。
  • Demo 是最有说服力的沟通方式:它能穿透认知壁垒,让不会编程的人也能有效展示想法。
  • 这是系统化思维最好的训练场:从零构建一个项目,迫使你从全局角度思考模块、依赖和优先级。
  • 这是认识自己的一面镜子:在不断的选择中,你会更清楚自己真正在意的是什么,从而更好地认识自己。
  • 这是管理能力的预演:你扮演“管理者”,AI 扮演“执行者”,这个过程能锻炼你的目标拆解、沟通和反馈能力。

在 AI 时代,技术门槛已被抹平,真正的瓶颈是“我知不知道自己想要什么”。如果你有想法,不要再用“我不会编程”做借口。把你的想法告诉 AI,你会发现自己能做到的事,远比想象中多得多。