在 Codex 里开新会话,哪些内容会自动进上下文?怎么少花 token?
1. 新会话一开token 就被谁吃掉了你在 Codex 里敲下第一句话之前其实已经有一批内容悄悄进了上下文窗口。它们不是你的 prompt也不是你贴的代码而是 Codex 在会话启动阶段自动装配的“背景层”项目规则、配置解析结果、Memories、Skills 清单、MCP 工具定义、插件能力、当前工作环境与权限边界。这些东西的特点是——你几乎感知不到它们存在但它们每次都在消耗 token。我见过最典型的场景一个同学装了三四十个 skill、挂了七八个 MCP server结果只是想让 Codex 帮忙改一个 CSS 变量单次会话的输入 token 就已经冲到两三万。他以为是模型变贵了其实是“每次都会自动出现”的那部分太重。Codex 的上下文成本可以粗暴拆成两类一类是持久指导包括 AGENTS.md、Memories、项目配置另一类是可用能力包括 Skills 初始清单、MCP instructions、工具 schema、插件和浏览器授权。想省 token重点不是把 prompt 写短两句而是把这两类默认加载的东西变少、变准、变可控。这篇就按“先搞清谁进了上下文再动手精简最后用工具验证”的顺序走一遍。全程在 TaoToken 统一 Key/API 通道下操作配置一次就能复用。2. TaoToken 前置把 Key 和通道先固定下来在动 Codex 配置之前先把模型通道固定住否则你后面调 token 占用时变量太多不好对比。TaoToken 的作用是给你一个统一的 Key 和 API 入口Codex、Claude Code、各种 Agent 都走同一条通道计费和用量在一个地方看。你需要做两件事拿 Key、确认 API 地址。拿 Key 的入口在控制台登录后进 API Keys 页面创建一个即可。地址是https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewriteAPI 基地址统一用https://taotoken.net/api注意这个地址后面不加任何 UTM 参数直接作为 base_url 填进配置。模型对话想先试一下通道通不通可以用模型对话页面发一条消息验证https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite如果你后面要长期跑编码任务、挂 Agent建议直接看 Coding Plan额度模型更适合高频调用https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite接入文档在这里配置字段有疑问直接对照https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewriteKey 拿到后先写进环境变量别硬编码进仓库export TAOTOKEN_API_KEYsk-你的key export OPENAI_BASE_URLhttps://taotoken.net/api这样 Codex 和后续工具都能读到同一个通道后面做 token 对比时模型侧变量就固定了。3. 可复制配置AGENTS.md 精简骨架 config.toml 片段3.1 AGENTS.md 写成路标不写成长文档Codex 启动时会构建一条 instruction chain先读全局~/.codex/AGENTS.override.md或~/.codex/AGENTS.md再从项目根目录一路读到当前目录每层最多取一个指导文件越靠近当前目录的规则越晚出现、越容易覆盖前面的。默认合并上限是project_doc_max_bytes 32 KiB。所以 AGENTS.md 的正确写法是“索引 硬约束”不是项目百科。下面是我实测下来比较省 token 的骨架你可以直接抄# 项目约定 ## 结构 - 源码: src/ - 测试: tests/ - 文档: docs/ ## 命令 - 安装: pnpm install - 测试: pnpm test - 构建: pnpm build ## 硬约束 - 只用 TypeScript禁止 any - 提交前必须跑 pnpm test - 改接口必须同步更新 docs/api.md ## 按需读取 - 数据库相关: 先读 docs/db.md - 前端组件: 先读 src/components/README.md关键点把“什么任务读哪个文档”写清楚让 Codex 按需去读而不是每次自动塞进上下文。等某类错误反复出现再把规则补进去别一上来就写满。3.2 config.toml 控制自动注入项Codex 会解析多层配置用户级~/.codex/config.toml和可信项目里的.codex/config.toml。原始配置一般不会作为普通文本进上下文但配置解析后带来的工具定义、MCP 指令、功能状态会进。所以控制配置就是控制上下文。先关掉 Memories这是跨会话自动上下文的大头[features] memories false [memories] use_memories false generate_memories false disable_on_external_context trueuse_memories false表示不把已有 memories 注入未来会话generate_memories false表示新线程不再作为生成 memories 的输入disable_on_external_context true避免用过 MCP、web search 的线程进入 memory 生成。再收紧项目指导体积和备用文件名project_doc_max_bytes 16384 project_doc_fallback_filenames [AGENTS.md]把默认 32 KiB 砍到 16 KiB多数项目够用。备用文件名只留 AGENTS.md避免一堆 README 被误当指导文件读进来。最后收 MCP 暴露面。不要一开始就把所有 server 接进来先接一两个能明确减少人工流程的[mcp_servers.context7] enabled false [mcp_servers.filesystem] enabled true enabled_tools [read_file, list_dir] disabled_tools [write_file]enabled_tools只开放少数工具disabled_tools屏蔽重工具。每个 server 的 instructions 和工具 schema 都会增加上下文 token少接一个就少一份固定开销。3.3 Skills 和插件只留真常用的Skills 用的是 progressive disclosure初始只把可用 skill 的名称、描述、路径放进上下文选中后才读完整 SKILL.md。官方限制是初始列表最多占上下文窗口的 2%窗口未知时最多 8000 字符。装很多 skill 即使一个都没触发初始清单也会变长。仓库级 skill 放.agents/skills只放和项目直接相关的个人 skill 在$HOME/.agents/skills把“可能有一天会用”的先移走。插件在 Codex app 的 Plugins 页面管理CLI 里用/plugins浏览、安装、卸载或切换启用状态。4. 验证请求用 /context 和日志看谁真的进了上下文配置改完不能靠感觉要验证。Codex 里最直接的动作是/context它会展示当前会话上下文窗口的占用分布。开一个新会话先什么都不做直接跑/context记下基线占用。然后发一条最简单的请求比如“读一下 src/index.ts 的前 20 行”再跑一次/context对比差值。差值里如果有一大块是工具定义或 skill 清单说明你的自动注入项还是太重。日志侧可以看 Codex 的启动日志确认 AGENTS.md 的加载链和 MCP server 的初始化情况。重点看两处一是 instruction chain 里到底读了哪几个文件二是 MCP server 返回的 instructions 字段有多长。用 TaoToken 通道时用量在控制台能看到每次请求的 token 数。做对比实验的方法同一句 prompt在精简前和精简后各跑一次记录输入 token。我实测下来把 Memories 关掉、MCP 从 7 个收到 2 个、AGENTS.md 从 28 KiB 压到 9 KiB 之后同一个改 CSS 的任务输入 token 从约 24000 降到约 7000降幅七成左右。这个数字因项目而异但方向是确定的。如果你要验证模型本身的行为差异可以在模型对话页面用同样的 prompt 对比https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite5. 本篇常见错排查改了 config.toml 没生效。先确认改的是用户级~/.codex/config.toml还是项目级.codex/config.toml项目级只在可信项目里生效。改完要重开会话配置在会话启动时解析。AGENTS.md 删了但规则还在。检查~/.codex/AGENTS.override.mdoverride 的优先级高于普通全局规则移除 override 后才会恢复普通全局规则。另外用CODEX_HOME指向另一个目录可以得到一套干净的 Codex home排查时很有用。Memories 关了还有旧内容。use_memories false只影响未来会话的注入已经生成的 memory 文件还在~/.codex/memories/。要彻底干净就手动清理该目录或者用CODEX_HOME换一个 home。Skills 清单还是长。检查$HOME/.agents/skills和仓库.agents/skills两处个人 skill 很容易被忽略。skill 描述写短写准因为初始上下文主要加载 name、description、path 三项。MCP 关了 server 但工具还在。确认enabled false写在正确的 server 段落下且没有在别处被重新启用。enabled_tools和disabled_tools同时存在时注意优先级别把想留的工具也屏蔽了。浏览器历史进了上下文。Chrome 浏览器历史不是默认加载Codex 想用时会询问且没有 always-allow 选项。不想让历史进上下文就不要批准。本地网页优先用 in-app browser它不牵涉 Chrome 登录态、cookie 和扩展。长对话越聊越贵。同一个线程越聊越长历史越容易占上下文。修 bug、写文章、改 UI 如果彼此没关系就分开开新线程。长任务依赖 compaction 把历史压缩成保留关键状态的上下文在质量、成本和延迟之间做折中。6. 把通道和配置一起固定下来省 token 这件事配置侧和通道侧要一起做。配置侧把默认加载的东西变少、变准、变可控AGENTS.md 写短、少装工具、skills 只留真常用的、memories 按需开、MCP 别贪多、浏览器权限按任务批准。通道侧用 TaoToken 统一 Key 和 APICodex、Claude Code、Agent 都走一条线用量在一个地方看做对比实验时变量才干净。接入相关的配置和字段对照文档最稳https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite长期跑编码任务、挂 Agent 的话Coding Plan 的额度模型比按次调用更划算https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite最后给你一个可以立刻做的动作开一个新会话跑/context记下基线然后按第 3 节的 config.toml 片段关掉 Memories、收紧 MCP、把 AGENTS.md 压到 16 KiB 以内再开一个新会话跑/context对比。两次数字的差就是你每次会话白省下来的 token。

相关新闻

PD受电芯片选型实战指南:从协议解析到量产落地

PD受电芯片选型实战指南:从协议解析到量产落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/29 2:26:15 阅读更多 →
Java足球俱乐部管理系统实战:Spring Boot+MySQL落地指南

Java足球俱乐部管理系统实战:Spring Boot+MySQL落地指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/29 2:26:15 阅读更多 →
MCU产品EFT防护实战:从PCB布局到固件容错的系统设计指南

MCU产品EFT防护实战:从PCB布局到固件容错的系统设计指南

1. 从一次深夜整改说起:MCU的EFT到底难在哪做硬件这行十几年,最怕的不是功能调不通,而是功能全对、实验室里跑得好好的板子,一到客户现场就随机死机、复位、通信丢包。你查电源、查时钟、查固件,折腾几天几夜&#xff…

2026/9/30 4:57:19 阅读更多 →

最新新闻

Unity iOS手游Deep Link接入指南:URL Scheme与Universal Links实战

Unity iOS手游Deep Link接入指南:URL Scheme与Universal Links实战

Deep Link(深度链接)在手游里是个绕不开的刚需,尤其是做买量发行、KOL 合作、活动拉新的时候——用户从 Safari、微信或者一个推广落地页点开链接,能不能直接从浏览器唤起 App,并且把携带的参数准确交到游戏内部逻辑手…

2026/9/30 4:57:13 阅读更多 →
YOLO手机检测实战:2800张数据集从标注体检到模型部署全链路

YOLO手机检测实战:2800张数据集从标注体检到模型部署全链路

手机检测这个方向,看起来简单,实际做起来坑不少。我前后经手过好几个和手机相关的检测项目,从产线质检到会议室手机使用监测,再到驾驶场景下的手机持有识别,每次都会在数据集这个环节卡上一阵子。这次拿到的是一份2800…

2026/9/30 4:57:13 阅读更多 →
Unity手游iOS Deep Link接入:URL Scheme与Universal Links参数解析全指南

Unity手游iOS Deep Link接入:URL Scheme与Universal Links参数解析全指南

1. 项目背景与整体链路设计做Unity手游客户端的朋友应该都有这个经历:市场投放、短信营销、邮件推送里带着一条链接,用户点开之后,手机上已经装了游戏就直接进游戏,没装就跳去App Store下载。这条链接背后的技术,就是D…

2026/9/30 4:57:13 阅读更多 →
基于YOLO的疼痛检测数据集构建与训练实战

基于YOLO的疼痛检测数据集构建与训练实战

1. 疼痛检测数据集项目整体设计与思路拆解1.1 为什么疼痛检测值得单独做一个数据集疼痛检测这个方向,在医疗健康领域里属于那种“看起来简单、做起来要命”的任务。简单在于,人眼判断一个人是否处于疼痛状态,往往只需要看一眼表情、姿态就能大…

2026/9/30 4:57:13 阅读更多 →
C++编译期类型生成:从模板实例化到类型工厂的实战指南

C++编译期类型生成:从模板实例化到类型工厂的实战指南

我现在跟大家聊一个很多人学了几年 C 都没认真琢磨过的概念——编译期类型生成。说白了就是:在编译阶段,程序还没运行之前,编译器就能帮你"算"出一个以前不存在的新类型,然后用这个类型继续编译后续的代码。第一次意识到…

2026/9/30 4:57:13 阅读更多 →
基于YOLO v3与DIoU的生姜种芽检测与朝向判定实战

基于YOLO v3与DIoU的生姜种芽检测与朝向判定实战

简介:这份PDF文献面向农业机械自动化、计算机视觉方向的研究人员与工程技术人员,聚焦生姜机械化播种中种芽朝向难以保持一致的实际难题,提出一套基于深度学习的快速识别与朝向判定方案。全文以YOLO v3网络为基础,结合Mosaic在线数…

2026/9/30 4:56:12 阅读更多 →

日新闻

Base64 图片头部特征识别:从文件头到格式判断的完整指南

Base64 图片头部特征识别:从文件头到格式判断的完整指南

1. 项目概述:为什么说看懂 base64 图片头部是基本功这几年跟 base64 打交道的机会越来越多,后端接口返回图片、前端渲染验证码、小程序里存小图、还有一些老系统导出报表,动不动就给你一段长到怀疑人生的 base64 字符串。很多人拿到字符串就直…

2026/9/30 0:00:35 阅读更多 →
Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

简介:本资源是一份面向Java初学者与课程设计学生的公交站牌广告灯箱管理系统毕业设计文档,聚焦城市公共广告资源信息化管理痛点,提供从需求分析到技术实现的完整方案。文档采用标准学术论文结构,含摘要、英文摘要、目录及五章正文…

2026/9/30 0:00:35 阅读更多 →
用 Redis Lua 构建大模型 API 多租户原子配额治理体系

用 Redis Lua 构建大模型 API 多租户原子配额治理体系

我去年年底接了一个内部 AI 平台的治理需求,背景很直接:公司把 DeepSeek、MiniMax 这类大模型 API 统一封装成内部网关,开放给几个业务团队用。结果第一个月账单出来,额度直接超了 4 倍。仔细查日志,发现原因并不复杂—…

2026/9/30 0:00:35 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/29 8:16:59 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/29 16:41:41 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/29 8:24:48 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/29 19:29:29 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/29 5:58:00 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/29 3:55:56 阅读更多 →