Skip to content

基础与工具全景

工具的意义是降低摩擦,基础的意义是让你知道工具在做什么。理想的计算机研究能力,可以用一句有挑战性的培养目标概括:能在自己设计的 CPU 上运行自己写的操作系统,并用自己写的编译器运行自己设计的语言。

理论基础能力栈

text
                         ┌─────────────────────┐
                         │ 软件工程 / 数据工程 │
                         └──────────▲──────────┘
             ┌──────────────────────┼──────────────────────┐
             │ 系统编程             │ 计算机网络 / 数据库  │
             └──────────────────────▲──────────────────────┘
             ┌──────────────────────┼──────────────────────┐
             │ 计算机组成原理 → 编译原理 → 操作系统        │
             └──────────────────────▲──────────────────────┘
             ┌──────────────────────┼──────────────────────┐
             │ 数据结构       ↔       算法设计与分析       │
             └──────────────────────▲──────────────────────┘
                         ┌───────────┴───────────┐
                         │ Python / C → 面向对象 │
                         └───────────────────────┘

这不是要求所有人先学完底层课程才能研究,而是提醒:当性能、并发、内存、编译或系统问题成为瓶颈时,你需要知道应当向哪一层追溯。

工具地图

场景工具
代码托管与协作Git(worktree / LFS / releases / pages)、GitHub、Hugging Face、Dropbox
编辑器与写作VS Code / Vim / Zed、Markdown / LaTeX / Overleaf / Google Docs
终端与系统WSL / Linux、zsh / oh-my-zsh、SSH、tmux / herdr
容器与部署Docker / Kubernetes、Nginx、Netlify / Vercel / Cloudflare
API 与 Python 环境FastAPI、uv
深度学习与跟踪PyTorch / JAX / PyTorch Lightning、W&B / SwanLab
前端与桌面端fnm、Vue / React / Svelte、Tailwind CSS、TypeScript、Electron / Tauri
Coding AgentClaude Code / Codex / OpenCode 等

工具这么多,要全学吗?

不需要。更实际的目标是:知道某类工具能解决什么问题,在出现瓶颈时能找到并读懂官方文档。

按需翻阅

先掌握当前工作流中高频、不可替代的工具。不要因为工具列表很长,就同时配置多个编辑器、终端和实验平台。

简单事情直接做

不是所有操作都值得交给 Coding Agent。一条熟悉的 Linux 命令可能比多轮对话更快,也更容易验证。

避免 De-skilling

长期把判断和实现全部外包给 AI,会削弱定位错误、理解系统和手写核心逻辑的能力。Agent 应该扩大你的能力边界,而不是让你失去基础技能。

选择工具的三问

  1. 它解决了当前哪个明确瓶颈?
  2. 现有工具或标准库是否已经足够?
  3. 团队能否理解、复现和长期维护它带来的流程?

下一步阅读 代码与项目工具链,把工具放进可执行的工作流;需要安装、命令和具体操作时,使用附录中的 工具手册 检索。