面向数学家的终端基础与智能体工作流指南

刘抒睿

本文简要介绍基本的终端命令与简单的智能体工作流。这些技能将为你以更进阶、更亲自动手的方式使用 Rethlas 奠定基础。上一篇指南几乎把所有事情都交给了 AI。这样做虽然方便,却可能让你看不清背后发生了什么,浪费 token,而且在你运行大量实验,或 Codex、Claude Code 压缩上下文时变得不可靠。这也会让你更难按照自己的工作流定制 Rethlas。

基本终端命令

我很喜欢终端,因此会克制住过度分享的冲动。你可以很容易地从 ChatGPT 或其他在线资源中进一步了解终端,所以这里只介绍本指南后文需要用到的命令。

  1. ls:列出当前目录中可见的文件和文件夹。有些文件可能被隐藏;ls -alh 会把它们也列出来,并显示大小、所有者等详细信息。
  2. cd:切换当前目录。这个命令本质上就是在终端中“打开一个文件夹”。使用 cd <subfolder> 进入当前目录中的某个文件夹,使用 cd .. 返回上一级目录。
  3. 在 macOS 上,open -e <filename.md> 会用 TextEdit 打开文件。在 macOS 或 Linux 上,如果已经安装 Visual Studio Code,可以使用 code <filename.md> 在 VS Code 中打开文件。我个人最喜欢的编辑器是 Neovim:它是 Vim 的一个现代分支,原生运行于终端。不过,那又是另一个无底洞了,所以这里就不再展开。如果你好奇,可以看看 kickstart.nvim
  4. touch <filename.md>:如果名为 filename.md 的 Markdown 文件尚不存在,就创建一个空文件。

tmux

tmux 是一个实用的终端复用器,可以让你在一个窗口中管理多个终端会话。它还有一项很大的好处:即使你不小心关闭了终端窗口,tmux 会话仍会在后台继续运行。

在 macOS 上,运行 brew install tmux 安装 tmux。然后运行 tmux,创建并进入一个新会话。

下面是几个实用的 tmux 快捷键。默认情况下,每个快捷键都以前缀 ctrl+b 开始。

  1. 新建窗口:按下 ctrl+b,松开这两个键,然后按 c
  2. 切换窗口:按下 ctrl+b,松开这两个键,然后按 n 切换到下一个窗口,或按 p 切换到上一个窗口。
  3. 重命名当前窗口:按下 ctrl+b,松开这两个键,按 ,,输入新名称,然后按 enter
  4. 与当前会话分离:按下 ctrl+b,松开这两个键,然后按 d
  5. 重新连接会话:与会话分离后,或不小心关闭终端窗口后,运行 tmux attach

等到后面手动运行 Rethlas 时,你就会看到 tmux 为什么很有用。

Git

另一个实用工具是 Git,一种版本控制系统。Git 通过称为提交(commit)的快照保存你的编辑历史,让你能够恢复到早期版本。这与 Overleaf 的历史记录功能很相似。

  1. git clone <repository-url> <folder-name> 会把远程 Git 仓库复制到当前目录中新建的 <folder-name> 文件夹里。前面你使用过 git clone https://github.com/frenzymath/Rethlas rethlas
  2. git add . 会暂存当前目录及其子目录中的所有更改,为下一次提交做好准备。git commit -m "a short message recording what changed" 会把这些已暂存的更改记录到仓库的历史中。
  3. git push 会把本地提交发送到对应的远程仓库。
  4. git pull 会获取远程分支上的更改,并将其整合到当前本地分支中。

为什么要与你分享这些 Git 基础知识?因为它们能让你在本地使用 Overleaf,并搭建一个简单的智能体工作流。

有些人只在 Overleaf 中编写 LaTeX,但网络连接中断时,Overleaf 也可能无法使用。与本地环境相比,你对语法高亮、快捷键和其他编辑器自定义选项的掌控也更少。然而,如果完全在本地使用 LaTeX,你就需要自己维护备份,以免文件丢失或损坏。与他人协作或从多个设备访问项目也可能更困难。

Git 为这些取舍提供了一个优雅的解决方案。在 AI 智能体时代,这种方法更加实用。

通过 Git 使用 Overleaf

简而言之,你可以把 Overleaf 项目当作一个远程 Git 仓库。提交本地更改后,运行 git push 将它们发送到 Overleaf。这样一来,更改就会备份到 Overleaf,并可供协作者和其他设备使用。在 Overleaf 中有了新更改时,运行 git pull 更新本地副本。你可以使用自己喜欢的编辑器(VS Code、Neovim 等)在本地编译并查看 PDF。

登录 Overleaf 账户,然后打开 账户设置(Account Settings)

Overleaf 账户设置

找到 Git 集成(Git Integration) 部分,生成一个新令牌并妥善保存。请把这个令牌当作密码:它可以验证对你账户有权访问的每个 Overleaf 项目的 Git 访问。Overleaf 只会完整显示该令牌一次。如果丢失了令牌,请将其删除并重新生成一个。

Overleaf Git 集成令牌设置

打开你的 Overleaf 项目,然后选择 集成(Integrations)

Overleaf 集成菜单

选择 Git,然后复制页面上显示的 git clone 命令和 URL。

Overleaf Git 克隆命令

现在回到终端,使用 cd 进入你想存放该项目的目录,然后运行:

git clone <url> <paper-folder-name>

出现提示时,输入 git 作为用户名,并使用你的 Overleaf 身份验证令牌作为密码。

现在你可以在本地编辑论文了。要把更改发送到 Overleaf,请运行:

git add .
git commit -m "Describe your changes"
git push

要用 Overleaf 中的更改更新本地文件夹,请运行 git pull

在 macOS 上,你可以使用 MacTeX 在本地编译 LaTeX。运行 brew install --cask mactex 安装它。

安装完成后,重启终端,让 MacTeX 命令行工具生效。

使用 AI 编辑 LaTeX 文件

现在,你可以在本地编辑 Overleaf 项目,并把更新推送回 Overleaf。在 2026 年以前,这套工作流就已经有两项主要优势:

  1. 你可以使用本地编译器和自己偏好的编辑器配置,同时在 Overleaf 上轻松保留备份并与他人协作。这对 Neovim 和 VS Code 用户尤其有用。
  2. Overleaf 维护或网络中断时,你仍然可以继续在本地工作。

现在又多了一项主要优势:你可以使用 Claude Code、Codex 和其他 AI 智能体来协助编辑论文!

使用 cd 进入 Overleaf 项目在本地克隆的文件夹。

运行 codex。如果出现提示,请确认你信任当前文件夹。

然后,你可以让 Codex:

  1. 修正格式。例如:“修正这份 LaTeX 文档中所有超出页边距的文字”“再添加一位作者”“调整 main.tex,让它使用 jams.tex 中的模板”,或者“调整格式,使论文控制在 10 页以内”。
  2. 改进语法与表述精确性。例如:“标出所有英语语法错误或不够精确的表达,并一次一处地与我确认。请提供上下文,建议修改方案,并在应用每项更改前征得我的确认。”

除了这些常规任务,一个自然的问题是:你能否用 AI 智能体来做数学?例如,你可以问:“帮我证明 main.tex 中的第 3.14 条引理。”遗憾的是,Codex 和 Claude Code 开箱即用时的数学推理能力并不总是足够强,尽管它们已经相当有能力。请务必、务必诚实自律:不要用本指南中的方法在作业中作弊。

不过,你已经了解 Rethlas,或许也想用它来证明论文中的引理!我们会在之后的博客文章中更详细地讨论这一点。

如果你经常重复某些工作流——例如调整 LaTeX 格式、检查语法或批改作业——可以考虑用 SKILL.md 指令创建技能,让智能体更可靠地遵循这些工作流。这体现了 Rethlas 背后的一项原则:把数学研究工作流的基本单元提炼为可复用的技能。


Comments