
科研流程里最耗时、最磨人的环节往往不是“想清楚”而是“把想法落地”几十篇文献要逐篇读几百行数据要反复清洗论文初稿从摘要到参考文献一改就是一周。2026 年AI 工具链日趋成熟Codex 这类能直接读写文件、执行命令、运行脚本的编程助手正在把科研工作者从这些重复劳动中解放出来。本文用一套完整流程从文献管理、数据处理到论文初稿生成带你亲手把 Codex 接入自己的科研工作流。为了照顾刚接触命令行工具的读者我会把每一步操作都写清楚包括为什么这么做、可能遇到什么报错、如何排查。文章涉及的命令和代码均可复制修改建议配合自己的实验数据操作一遍。1. Codex 是什么它为什么适合科研场景1.1 Codex 的基本定位Codex 是 OpenAI 推出的 AI 编程助手官方形态包括网页版、编辑器插件和命令行工具 Codex CLI。其中 Codex CLI 非常适合科研场景它不止是“聊天窗口”而是能直接运行在本地终端的智能体可以读取项目目录、创建文件、执行 shell 命令、运行 Python 脚本并根据运行结果自动调整下一步操作。换句话说普通对话式 AI 只能给你一段建议代码Codex 可以自己把代码写完、跑起来、看到报错、修改再跑最终给你一个能用的结果。1.2 Codex 与聊天式 AI 的核心区别很多同学用过 ChatGPT 或类似产品觉得“让它写代码很方便”。但科研工作流里问题往往不是“给我一段代码”而是“这个文件夹里 300 个 PDF 帮我提取标题作者并生成表格”“这份 CSV 有缺失值和异常值帮我清洗后画图”。这类任务用聊天式 AI 会非常低效你需要不断复制粘贴文件内容代码报错了还要手动回传。而 Codex CLI 直接把你的本地目录作为工作空间它能看到项目里的数据文件、脚本、输出结果形成一个“观察—执行—反馈—修正”的闭环。1.3 科研场景为什么需要这种能力文献、数据、论文是科研流程的三个核心对象它们共同的特点是文献数量大人工整理费时数据处理重复性高脚本逻辑类似但每次参数都不同论文初稿对格式和语言要求高但核心创新点才是作者真正该花时间的地方。Codex 的价值在于它把“整理文献、清洗数据、写初稿框架”这些结构化任务承接过去让研究者把精力放在实验设计、结果分析和创新点上。1.4 一个必要的澄清必须强调Codex 是科研辅助工具不是“论文代写机”。它可以帮你整理材料、生成初稿、规范格式但研究的核心问题、实验设计、数据真实性、学术判断必须由你本人完成。这也是整篇教程的基本前提。2. 环境准备与 Codex 安装2.1 需要准备哪些环境开始之前建议先确认本地环境满足以下要求依赖项说明操作系统macOS、Linux 均可Windows 建议使用 WSL 或 Git Bash避免部分原生命令兼容问题Node.js建议 18 及以上版本Codex CLI 基于 npm 分发npmNode.js 自带包管理器Python建议 3.9 及以上后续数据处理脚本需要Git用于项目版本管理也方便 Codex 理解项目历史Codex 账号或 API Key根据你使用的服务商准备有效的鉴权凭证版本需要根据你的项目实际情况调整本文示例以常见环境为例重点演示配置思路。如果你本机环境略有差异不影响理解和套用。2.2 安装 Codex CLI在终端执行下面的命令npm install -g openai/codex安装完成后验证是否成功codex --version如果能看到版本号说明安装成功。如果提示command not found通常是 npm 全局安装路径没有加入 PATH可以执行下面命令查看全局 bin 路径npm prefix -g然后把输出的路径加入系统的 PATH 环境变量再重开终端验证。2.3 登录与基础配置Codex CLI 登录方式有几种取决于你使用的是官方服务还是第三方兼容服务。方式一使用官方账号在终端执行codex login按提示完成浏览器授权即可。这种方式适合已经拥有对应服务账号的用户。方式二使用 API Key如果你使用 API Key 方式可以在当前 shell 临时设置环境变量export OPENAI_API_KEY你的API Key也可以写进 Codex 的配置文件中。Codex CLI 的配置文件默认位于~/.codex/config.toml如果不存在可手动创建。# 文件路径~/.codex/config.toml model gpt-5 model_provider openai [model_providers.openai] name OpenAI base_url https://api.openai.com/v1 env_key OPENAI_API_KEY注意不同版本的 Codex CLI 配置字段可能略有差异具体以官方文档或你安装版本生成的默认配置为准。方式三接入兼容第三方模型服务如果你希望接入其他模型服务商以 DeepSeek 为例核心思路是修改model_provider和base_url让它指向兼容的接口地址。DeepSeek 官方提供 Anthropic 兼容接口配置示例如下# 文件路径~/.codex/config.toml model deepseek-chat model_provider deepseek [model_providers.deepseek] name DeepSeek base_url https://api.deepseek.com/anthropic env_key DEEPSEEK_API_KEY配置完成后在终端导出对应的环境变量export DEEPSEEK_API_KEY你的Key需要先确认服务商是否提供兼容接口、接口地址是什么、模型名是什么再修改上面的配置。2.4 创建科研项目目录与 AGENTS.mdCodex CLI 在读取项目时会优先查看项目根目录下的AGENTS.md文件这个文件相当于“给 AI 的项目说明书”。建议每个科研项目都创建一个把项目背景、文件结构、任务边界写清楚Codex 的任务完成质量会明显提升。# AGENTS.md 这是一个关于“xxx材料性能优化”的科研项目。 ## 项目目标 - 分析实验数据筛选影响材料性能的关键因素。 - 生成可视化图表结果保存到 output/ 目录。 - 撰写论文初稿包含摘要、引言、方法、结果与讨论。 ## 目录结构 - data/ 原始实验数据 - scripts/ Python 脚本 - output/ 输出结果与图表 - paper/ 论文相关文件 ## 注意事项 - 所有数据分析脚本必须保留可复现性。 - 不要修改 data/ 下的原始数据。 - 涉及统计结论时只描述数据现象不虚构实验背景。2.5 验证 Codex 是否可用在项目目录下执行一个简单任务测试整体链路是否正常codex exec 请列出当前目录下的所有文件和文件夹正常情况下Codex 会调用系统命令查看目录内容并返回清晰的列表。如果这一步成功说明安装、登录、配置都通了接下来可以进入实战环节。3. 实战一用 Codex 处理文献3.1 批量生成文献清单很多科研工作者的文献文件夹里存着上百个 PDF文件名五花八门有些叫paper_final.pdf有些叫2023_article.pdf。手动整理成清单非常痛苦交给 Codex 是最合适的场景。假设目录结构如下文献库/ ├── 2023_Zhang_石墨烯制备.pdf ├── 2024_Li_热导率实验.pdf └── 2025_Wang_综述.pdf可以直接对 Codex 下达指令请扫描当前目录下的 pdf 文献文件夹把所有 PDF 文件整理成一个 CSV 表格包含文件名、文件大小、最后修改时间保存为 literature.csv。Codex 大概率会生成一个 Python 脚本核心逻辑类似于下面这段import os import csv import datetime folder 文献库 rows [] for fname in os.listdir(folder): if fname.lower().endswith(.pdf): path os.path.join(folder, fname) stat os.stat(path) mtime datetime.datetime.fromtimestamp(stat.st_mtime).strftime(%Y-%m-%d) size_kb round(stat.st_size / 1024, 2) rows.append([fname, size_kb, mtime]) with open(literature.csv, w, newline, encodingutf-8) as fp: writer csv.writer(fp) writer.writerow([文件名, 大小(KB), 修改时间]) writer.writerows(rows) print(已生成 literature.csv)这个脚本非常通用遍历文件夹、筛选 PDF 后缀、提取元数据、写入 CSV。Codex 的特点是它会结合你项目目录里实际看到的文件结构微调代码比如文件名包含中文时自动加上编码处理。3.2 提取 PDF 的标题、作者和摘要如果文献 PDF 本身是文本型 PDF可以进一步让 Codex 批量提取标题、作者和摘要。这里需要用 Python 的 PDF 解析库比如pdfplumber或PyPDF2。先安装依赖pip install pdfplumber然后给 Codex 的指令请编写一个 Python 脚本用 pdfplumber 遍历“文献库”文件夹中所有 PDF尝试提取每篇文献首页的标题、作者和摘要输出到 papers_meta.csv。无法提取的字段留空并记录 warning。Codex 生成的脚本结构大致如下import os import csv import pdfplumber folder 文献库 def extract_meta(pdf_path): title, authors, abstract , , try: with pdfplumber.open(pdf_path) as pdf: first_page pdf.pages[0].text lines [ln.strip() for ln in first_page.split(\n) if ln.strip()] if lines: title lines[0] # 这里只是启发式提取实际代码 Codex 会根据你给的提示做调整 except Exception as exc: print(f[warning] {pdf_path} - {exc}) return title, authors, abstract rows [] for fname in os.listdir(folder): if not fname.lower().endswith(.pdf): continue title, authors, abstract extract_meta(os.path.join(folder, fname)) rows.append([fname, title, authors, abstract]) with open(papers_meta.csv, w, newline, encodingutf-8) as fp: writer csv.writer(fp) writer.writerow([文件名, 标题, 作者, 摘要]) writer.writerows(rows)需要说明的是PDF 自动解析并不完美扫描版 PDF 或双栏排版复杂的文献提取结果可能需要人工修正。这是工具边界不是 Codex 的 bug。3.3 生成文献综述框架有了papers_meta.csv后可以让 Codex 基于表格内容生成综述框架。比如请阅读 papers_meta.csv按研究主题对文献进行分组列出一个文献综述大纲包括研究背景、研究现状、主要方法对比、研究空白并输出为 markdown 表格。每组文献需要给出 2-3 篇代表性文献标题。Codex 会结合 CSV 中的标题和摘要信息输出一个带分组和代表性文献的综述骨架。这个骨架的价值是“帮你快速建立文献地图”方便你判断哪些方向已有大量研究、哪些方向还是空白。但这里有一个红线AI 生成的综述框架只能作为灵感来源不能直接复制到论文里。它可以帮你定位“该读哪些原始文献”最终写进综述的每一句话都必须回到原文核实。4. 实战二用 Codex 处理实验数据4.1 数据清洗与统计分析实验数据通常又脏又乱有缺失值、有单位不一致的列、有超出物理范围的异常值。人工用 Excel 清洗效率低而且很难复现。用 Codex 写清洗脚本可以保证同样的处理流程随时重跑。假设你的实验数据是data/experiment.csv包含温度和测量值两列其中测量值有少量空值。给 Codex 的指令请编写一个数据清洗脚本读取 data/experiment.csv完成以下任务 1. 删除所有列全为空的行 2. 测量值缺失时用前后均值填补 3. 温度超出 [-50, 500] 范围视为异常值进行标记 4. 输出清洗后的数据到 output/experiment_clean.csv并打印清洗前后的行数对比。Codex 生成的代码可能如下import pandas as pd df pd.read_csv(data/experiment.csv) before len(df) df df.dropna(howall) df[测量值] df[测量值].interpolate() df[温度_异常] (df[温度] -50) | (df[温度] 500) df.to_csv(output/experiment_clean.csv, indexFalse, encodingutf-8) after len(df) print(f清洗前行数: {before}) print(f清洗后行数: {after}) print(f异常温度标记数量: {df[温度_异常].sum()})这段代码里值得注意的几个点dropna(howall)只删除全空行不会误删部分有数据的行interpolate()用线性插值填补缺失测量值适用于连续变化的数据温度异常没有直接删除而是新增一列标记保留原始信息便于以后核查。这里要提醒所有读者数据清洗策略必须符合你的学科规范。Codex 给出的只是通用代码最终采用哪种缺失值填补方法、哪些数据算异常需要你结合实验手册判断。4.2 生成可视化图表数据清洗完成后下一步是画图。给 Codex 的指令请基于 output/experiment_clean.csv用 matplotlib 绘制温度和测量值的关系散点图添加趋势线并保存为 output/result.png。图像标题和坐标轴标签请使用中文学术风格。设置 dpi300。Codex 会生成类似下面的绘图脚本import pandas as pd import matplotlib.pyplot as plt import numpy as np plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False df pd.read_csv(output/experiment_clean.csv) x df[温度] y df[测量值] fig, ax plt.subplots(figsize(8, 5)) ax.scatter(x, y, s30, alpha0.6, label实验数据) # 线性趋势线 coef np.polyfit(x, y, 1) trend np.poly1d(coef) xs np.linspace(x.min(), x.max(), 100) ax.plot(xs, trend(xs), colorred, linestyle--, label线性趋势线) ax.set_xlabel(温度 (°C)) ax.set_ylabel(测量值) ax.set_title(温度与测量值关系) ax.legend() plt.tight_layout() plt.savefig(output/result.png, dpi300) plt.close() print(图表已保存到 output/result.png)这个过程中Codex 的实用之处在于它会自动读取 CSV 的列名把正确的列填到x和y上省去了手动检查列名的麻烦。4.3 让 Codex 解释结果并输出统计摘要画完图只是第一步论文里通常还需要统计摘要。可以继续让 Codex 计算请对 output/experiment_clean.csv 做描述性统计计算测量值的均值、标准差、中位数和四分位数并检查温度和测量值的相关系数。将结果以表格形式写入 output/stats_summary.txt。Codex 会使用 pandas 的describe()和相关分析来完成并生成一个可读的报告。对于统计显著性检验等更复杂的问题Codex 也能给出代码框架但你本人必须理解统计方法的前提假设并确认样本量、独立性等条件是否满足。5. 实战三用 Codex 撰写论文初稿5.1 搭建论文项目结构论文写作涉及多个文件LaTeX 主文件、参考文献、图表、表格、Cover Letter 等。建议先让 Codex 搭建一个清晰的目录结构请在当前项目下创建一个 paper 目录结构如下 - paper/main.tex - paper/abstract.tex - paper/introduction.tex - paper/methods.tex - paper/results.tex - paper/discussion.tex - paper/references.bib - paper/figures/ 用于存放论文图表Codex 会用文件操作命令直接创建这些文件并生成一个可编译的 LaTeX 主文件骨架。5.2 生成各章节初稿论文初稿不能凭空让 AI 写否则会生成大量含糊甚至错误的信息。正确的做法是先给 Codex 提供足够的素材。比如写引言时可以这样下达指令请根据以下要点撰写 introduction.tex 的内容 - 研究背景传统材料在高温下热导率衰减明显 - 现有方法通常通过复合掺杂改善但成本高 - 研究空白目前缺乏对低掺杂浓度体系的系统性研究 - 本文工作制备了三组不同掺杂浓度样品并在 25-500°C 范围内测量热导率。 要求学术语气避免绝对化表述引用位置使用 \cite{} 占位长度约 400 词。Codex 生成的 LaTeX 内容大致如下% 文件路径paper/introduction.tex \section{引言} 高温环境下材料的热导率衰减问题长期制约着能源器件的发展。 近年来研究者尝试通过复合掺杂改善材料的高温稳定性 \cite{zhang2023, li2024}但较高的掺杂成本限制了其在 工业场景中的大规模应用。 值得注意的是低掺杂浓度体系在成本与性能之间可能提供更优 的平衡而目前对该类体系的系统性研究仍相对有限。 本文制备了三组不同掺杂浓度的实验样品在 \(25\,^\circ\mathrm{C}\) 至 \(500\,^\circ\mathrm{C}\) 范围内系统测量了热导率 并结合微观结构表征分析了热导率变化的原因。可以看到Codex 的工作本质是把你提供的要点组织成规范的学术语言。它不会自己想出实验细节但如果你在提示词里没有说清楚变量范围、测试条件它会自行脑补一堆“合理默认值”这可能偏离你的真实实验。所以在写 Methods 和 Results 时必须把实验参数、样本编号、仪器型号等事实信息写进提示词。5.3 参考文献格式化与语言润色Codex 对 BibTeX 格式整理也比较擅长。你可以先把文献信息粘贴给它让它统一格式请把下面这些文献信息转换为 BibTeX 条目统一使用 author-year 风格期刊名缩写保存到 references.bib。注意核对不要自动补充 DOI。关于润色Codex 更适合做“局部语言优化”而不是把整篇论文丢给它重写。可以指定要求请对以下段落进行润色保持学术语气减少被动语态的过度使用确保术语统一。只输出润色后的文本不解释修改内容。科研写作中术语统一非常关键。如果你一会儿写热导率一会儿写导热系数读者会困惑。Codex 可以从头到尾扫描全文检查术语是否一致。但需要非常注意AI 生成的参考文献条目可能包含不存在的文献或者把作者、年份搞错。所有参考文献必须通过真实文献数据库核验后才能提交。6. 高频报错与排查方案Codex 在安装和配置过程中有不少报错会让新手卡住。下面整理几个高频问题的排查思路。问题现象常见原因解决思路安装后提示command not foundnpm 全局路径未加入 PATH执行npm prefix -g找到路径加入系统 PATH 后重开终端运行codex提示需要登录未完成账号认证或未设置 API Key执行codex login或检查环境变量OPENAI_API_KEY/DEEPSEEK_API_KEYChatGPT 桌面端提示unable to locate the codex cli binary桌面应用找不到 Codex CLI 可执行文件先安装 Codex CLI执行which codex获取路径然后在应用设置中指定 Codex CLI Path切换服务商后请求失败错误包含local proxy failed或endpoint /responses failed本地转发服务未正常启动或目标服务商不支持该接口端点重启本地转发服务确认目标服务商兼容接口类型必要时改用 Chat Completions 兼容方式提示model not supported配置的模型名在当前服务商不可用登录服务商控制台查看可用模型列表修改 config.toml 中的 model 字段API 请求返回401或403API Key 无效、过期或权限不足检查 Key 是否复制完整确认余额与权限重新生成 Key 后测试中文输出显示乱码终端编码或配置编码问题在配置中添加export LANGzh_CN.UTF-8或将项目编码统一为 UTF-86.1 “unable to locate the codex cli binary”详细排查步骤这是近期出现频率比较高的一个问题通常发生在 ChatGPT 桌面端集成 Codex 的场景。问题本质是桌面应用启动了 Codex 面板但系统上找不到 Codex CLI 可执行文件。排查顺序如下第一步确认 CLI 已安装codex --version如果这一步就报错说明 CLI 根本没装上按 2.2 节重新安装。第二步找到 CLI 路径which codex第三步在桌面应用的设置里手动指定该路径。这样应用就不需要自行在 PATH 中搜索了。如果上述步骤完成后仍报错检查是否使用了包管理器安装但安装目录不在默认搜索范围比如某些 Linux 发行版的 npm 全局目录位于/usr/local/bin或~/.npm-global/bin。6.2 切换服务商时本地路由失败错误信息包含local proxy failed或handling codex endpoint /responses时说明请求链路中负责转发请求的本地路由服务出了问题。常见原因有三种本地路由服务没有启动目标服务商只兼容较旧的接口不支持最新的/responses端点base_url配置错误。解决思路是先重启本地路由服务确认端口没有被占用再检查config.toml中的base_url是否与你服务商提供的地址一致最后确认目标服务商支持的接口类型是否匹配 Codex 当前版本使用的端点。6.3 模型不支持类报错有时在config.toml里填入了不存在的模型名比如gpt-5.6-solCodex 会报错并提示该模型不支持。这类问题的原因通常是模型名写错或者在某个服务商端点下并不存在该模型。排查时先回到服务商控制台查看模型列表再修改model字段。7. 科研场景最佳实践与注意事项7.1 科研诚信的边界AI 辅助写作越来越普遍但不同期刊对 AI 使用的规定并不相同。有些期刊要求作者在投稿时声明是否使用 AI 工具有些则严格限制 AI 生成内容进入正文。使用 Codex 前先查阅目标期刊的作者指南。记住一个原则AI 负责“原材料加工”你负责“最终质量把关”。7.2 数据隐私与安全涉及临床数据、涉密项目或未公开实验数据时不要把原始数据集直接放在 Codex 工作目录中。建议先对数据做匿名化处理或者只向 Codex 提供脱敏后的字段名和统计结果数据分析过程在本地手动完成。7.3 可复现性与实验记录用 Codex 做科研最容易被忽略的是可复现性。你几个月后回看自己的论文可能已经忘了当初怎么处理数据。建议在项目目录里保留Codex 的提示词记录config.toml的配置快照所有脚本的版本每次清理前后的数据对比。可以创建一个prompts_log.md把每次给 Codex 的核心指令粘贴进去这样论文的 Methods 部分才能准确描述数据处理流程。7.4 提示词工程建议同样的任务提示词详细程度直接决定 Codex 的输出质量。推荐模板背景简要说明你的研究对象和上下文 任务明确需要完成的工作 输入数据文件路径、关键列名、样本数量 输出要求文件格式、保存路径、应该包含哪些内容 限制哪些字段不能动、哪些表述不能出现比如写数据分析脚本时不要只说“分析数据”而是背景实验测量了不同温度下样品的电阻率。 任务计算电阻率随温度的变化率并判断是否符合线性规律。 输入data/resistivity.csv列名为 temperature 和 resistance。 输出要求生成拟合结果和 R² 值保存到 output/fit_result.txt并绘制拟合曲线到 output/fit.png。 限制不要修改原始数据文件。上下文越具体Codex 越不容易瞎猜。7.5 代码审查机制Codex 生成的代码并非一定正确。它在处理文件中转码、循环边界、特殊字符时仍可能犯错。每次让 Codex 改动脚本前建议把它放入 git 管理git init git add scripts/ git commit -m initial scripts这样每次修改都能对比出现问题可以随时回滚。7.6 不要盲信AI生成的参考文献AI 检索和引用生成存在一个显著问题模型可能根据已有知识“合理推测”一篇文献生成一条看似真实、实际不存在的参考文献。防范方法是只让 Codex 处理你已经提供的真实 PDF 或明确文献列表不让它自行补充引用。8. 写到最后一点经验针对科研场景Codex 的正确打开方式是用它处理“结构化、重复、有明确验收标准”的任务整理文献、清洗数据、生成图表、搭建 LaTeX 框架、润色局部语言。我用下来最顺手的流程是先让 Codex 读一遍AGENTS.md和几个核心数据文件给它一个清晰的子任务验收通过后再进入下一个子任务避免一次性让它完成“从文献到论文”的全局大任务。另外论文初稿完成后建议把摘要、图表和结论单独拿出来做一次事实核对每一组数据都能回到原始实验记录每一个引用的编号都能在参考文献列表里找到。AI 可以把 80% 的重复劳动接过去剩下的 20% 才是论文真正有价值的部分值得你亲自完成。如果你打算在自己的课题里应用 Codex建议从今天的一个小任务开始把文献文件夹整理成表格或者把上一份 Excel 表格的清洗流程脚本化。把一个具体的小流程跑通比复制一大堆高级技巧更有价值。希望这篇教程能帮你节省出更多真正用于思考的时间。