news 2026/9/19 5:08:55

围绕 Jev 模型调用,TaoToken 把 Key 交给调用方

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
围绕 Jev 模型调用,TaoToken 把 Key 交给调用方

1. 从 TypeSafe Jev 到 TaoToken:先拆调用边界,再谈模型能力

TypeSafe 结束隐身模式、发布面向程序化决策的 System One Model Jev 之后,技术负责人真正要处理的不是“它能不能做决策”,而是“谁可以调用、从哪里调用、出了账单算谁的”。TaoToken(https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=jev_key_handover_intro)在这类场景里的定位很直接:把 Key 交给调用方,请求地址统一设为 https://taotoken.net/api,团队只维护调用边界、Key 交接记录和消耗归属。Diogo Almeida 创办 TypeSafe 并推出 Jev 是近期热点,但工程落地仍然要回到配置、密钥、日志、限流和回滚。

如果 Jev 被放进策略服务、工单路由、风控辅助、规则选择或自动化决策编排里,它就不再是一个“聊天窗口”,而是一个生产依赖。生产依赖必须有明确的调用方、明确的凭据、明确的预算和明确的排障路径。TaoToken 不要求团队先搭一层复杂网关,也不要求调用方理解每个模型的底层部署细节。技术负责人只需要把三件事拆开:第一,Key 放在谁手里;第二,Base URL 固定成什么;第三,调用日志如何关联到项目和成本。

很多团队第一次接入程序化决策模型时,会把注意力全部放在 prompt 上,结果线上出现 401、429、模型 ID 不匹配、Claude Code 和 Codex 配置串用、账单无法归因。更稳妥的做法是先把调用边界画出来:模型对话用于验证 Jev 类任务是否值得接入;API Key 用于服务端调用;Claude Code 和 Codex 用于研发流程中的辅助编码与配置生成验证;Coding Plan 用于把研发工具链的调用纳入统一管理。每个边界对应不同的 Key、不同的环境、不同的消耗归属。

本文从技术负责人视角出发,围绕 Jev 模型调用,给出一套可跟做的 TaoToken 接入方案。重点不是复述 TypeSafe 的发布信息,而是产出三样东西:Key 交接记录、可复制请求样例、消耗归属方法。所有命令和 SQL 都建议由读者在本地或测试环境执行,不要用 MCP、Agent 或脚本直连 Oracle、生产数据库。需要访问数据时,先由服务层导出脱敏样本,再交给调用方做本地验证。

2. Key 交接记录:把“能调用”变成“可追责”

Key 交接是接入的第一道边界。技术负责人不能只说“我把 Key 发你了”,而要记录谁申请、谁持有、谁轮换、谁对账。TaoToken 的 Key 创建入口在控制台 API Keys 页面:https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=jev_key_handover_api_keys 。拿到 Key 后,所有代码和配置文件里只写占位符 YOUR_API_KEY,真实 Key 通过环境变量、密钥管理服务或本地未入库的配置文件注入。

建议每个调用方使用独立 Key,而不是全团队共享一个 Key。调用方可以按“团队-项目-环境-负责人”命名,例如:

字段示例说明
Key 别名team-risk-decision-prod控制台可读名称,便于对账
持有者张三 / risk-platform具体人或具体服务负责人
用途Jev 决策打分、工单分类避免“通用 Key”
Base URLhttps://taotoken.net/api工具配置中不要带 UTM
模型 IDMODEL_ID以模型对话页或控制台实际 ID 为准
环境dev / staging / prod环境隔离,避免测试流量污染生产预算
轮换周期30 天或按安全要求到期前创建新 Key 并灰度替换
对账方式控制台用量 + 本地日志双重核对

Key 交接记录不需要复杂系统,先用 Markdown 表格或内部工单就能跑起来。关键是每次交接都有版本。示例记录如下:

| Key 别名 | 持有者 | 项目 | 环境 | 创建日期 | 轮换日期 | 关联模型 | 备注 | | --- | --- | --- | --- | --- | --- | --- | --- | | team-risk-decision-dev | 李四 | risk-decision | dev | 2026-01-10 | 2026-02-10 | MODEL_ID | 仅测试 | | team-risk-decision-prod | 王五 | risk-decision | prod | 2026-01-10 | 2026-02-10 | MODEL_ID | 服务端调用 | | team-tools-claude | 赵六 | dev-tools | local | 2026-01-12 | 2026-02-12 | MODEL_ID | Claude Code | | team-tools-codex | 赵六 | dev-tools | local | 2026-01-12 | 2026-02-12 | MODEL_ID | Codex CLI |

交接时不要只发 Key 字符串。建议同时发四行信息:

供应商:TaoToken Base URL:https://taotoken.net/api Key:YOUR_API_KEY 模型 ID:MODEL_ID

如果调用方是服务端程序,还要补充调用示例和日志字段。如果调用方是个人研发工具,还要说明它属于 Claude Code 还是 Codex,不能混用环境变量。Claude Code 使用 ANTHROPIC_* 系列变量,Codex 使用 config.toml 和对应的 provider 配置。把 ANTHROPIC_* 套到 Codex,或者把 Codex 的 provider 配置塞进 Claude Code,都会导致难以定位的鉴权失败。

Key 轮换也要有边界。推荐流程是:创建新 Key,更新测试环境,观察日志和用量,再更新生产环境,最后禁用旧 Key。禁用旧 Key 前,至少确认最近一个完整业务周期内没有调用方还在使用。对于程序化决策模型,回滚尤其重要,因为决策链路一旦异常,影响可能不是“回答不好”,而是策略结果偏移。Key 轮换记录要和发布记录放在一起,便于追溯。

3. 请求样例:Jev 决策调用通过 TaoToken 的最小闭环

Jev 类程序化决策模型通常不会只用于自然对话,而是嵌入到服务端逻辑中,输出结构化判断、候选动作、规则选择或风险等级。接入 TaoToken 时,Base URL 固定为 https://taotoken.net/api,Key 使用 YOUR_API_KEY 占位,模型 ID 使用控制台或模型详情页里的实际值。下面给出 curl、Python 和 Node 三种最小请求样例。实际路径以 TaoToken 控制台为准;如果控制台提示 OpenAI 兼容路径,常见形式是 /v1/chat/completions。

先看 curl。这个样例适合在本地终端执行,用来验证 Key、Base URL、模型 ID 是否匹配。

export TAOTOKEN_API_KEY="YOUR_API_KEY" export TAOTOKEN_BASE_URL="https://taotoken.net/api" export TAOTOKEN_MODEL="MODEL_ID" curl -sS "https://taotoken.net/api/v1/chat/completions" \ -H "Authorization: Bearer ${TAOTOKEN_API_KEY}" \ -H "Content-Type: application/json" \ -d '{ "model": "'"${TAOTOKEN_MODEL}"'", "messages": [ { "role": "system", "content": "你是一个程序化决策组件。只输出 JSON,不要输出解释。" }, { "role": "user", "content": "给定订单金额、用户等级、历史退款次数,请判断是否进入人工复核。字段:amount, level, refunds。" } ], "temperature": 0, "response_format": { "type": "json_object" } }'

如果返回 404,先检查路径和模型 ID。Base URL 配置项是 https://taotoken.net/api,不要把 UTM 参数写进工具配置。如果返回 401 或 403,先检查 Key 是否完整、是否被禁用、是否把环境变量写错。不要把 Key 提交到 Git 仓库,也不要在日志里打印完整 Authorization 头。

Python 调用可以使用 OpenAI SDK 风格。注意 base_url 的写法要根据 SDK 行为调整:如果 SDK 会自动追加 /chat/completions,则 base_url 通常需要带 /v1;如果 TaoToken 控制台给出的是根地址,则按控制台说明填写。核心原则不变:根地址是 https://taotoken.net/api,Key 是 YOUR_API_KEY。

import os from openai import OpenAI client = OpenAI( api_key=os.environ["TAOTOKEN_API_KEY"], base_url="https://taotoken.net/api/v1", ) resp = client.chat.completions.create( model=os.environ["TAOTOKEN_MODEL"], messages=[ {"role": "system", "content": "你是程序化决策组件,只输出 JSON。"}, {"role": "user", "content": "判断样本是否需要人工复核:amount=8800, level=A, refunds=2"} ], temperature=0, response_format={"type": "json_object"}, ) print(resp.choices[0].message.content)

Node 侧可以用 fetch 做最小验证:

const apiKey = process.env.TAOTOKEN_API_KEY; const model = process.env.TAOTOKEN_MODEL; const res = await fetch("https://taotoken.net/api/v1/chat/completions", { method: "POST", headers: { "Authorization": `Bearer ${apiKey}`, "Content-Type": "application/json" }, body: JSON.stringify({ model, messages: [ { role: "system", content: "你是程序化决策组件,只输出 JSON。" }, { role: "user", content: "输出一个决策:allow 或 review。" } ], temperature: 0 }) }); const data = await res.json(); console.log(data);

请求验证通过后,不要急着全量上线。先跑离线样本,比较历史规则、人工复核结果和 Jev 输出的一致性。所有样本导出、SQL 查询、脚本执行都在本地或隔离环境完成,不要用 MCP、Agent 直接连接 Oracle 或生产库。需要记录的关键日志字段包括:key_alias、project、env、model、request_id、prompt_tokens、completion_tokens、total_tokens、latency_ms、status_code。明文 Key 不记录。

4. Claude Code 配置:settings.json 与 ANTHROPIC_* 只服务于 Claude Code

Claude Code 接入 TaoToken 时,使用 settings.json 或环境变量,变量名属于 ANTHROPIC_* 体系。Base URL 填 https://taotoken.net/api,Key 填 YOUR_API_KEY,模型 ID 填实际可用值。下面是一个 settings.json 示例,路径通常放在用户级配置目录或项目级配置目录中,具体以 Claude Code 当前版本文档为准。Claude Code 文档入口:https://taotoken.net/doc/ClaudeCodeAnthropic?utm_source=taotoken_aicg_blog_end&utm_content=jev_key_handover_claude_code_doc 。

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY", "ANTHROPIC_MODEL": "MODEL_ID", "ANTHROPIC_SMALL_FAST_MODEL": "MODEL_ID" } }

如果使用 shell 临时验证,可以这样设置:

export ANTHROPIC_BASE_URL="https://taotoken.net/api" export ANTHROPIC_AUTH_TOKEN="YOUR_API_KEY" export ANTHROPIC_MODEL="MODEL_ID" export ANTHROPIC_SMALL_FAST_MODEL="MODEL_ID"

这里要特别强调:ANTHROPIC_* 是 Claude Code 的配置体系,不要把它套到 Codex。Codex 使用 config.toml 和 provider 配置。把 Claude Code 的环境变量复制到 Codex,常见结果是 Codex 读不到、鉴权失败或者仍然走默认 provider,排障时很容易误判为 TaoToken Key 有问题。

Claude Code 的验证步骤可以按这个顺序:

  1. 确认 settings.json 或环境变量中 Base URL 是 https://taotoken.net/api,不带 UTM。
  2. 确认 ANTHROPIC_AUTH_TOKEN 或对应鉴权变量是 YOUR_API_KEY 的真实值。
  3. 确认 ANTHROPIC_MODEL 是模型对话页中可用的模型 ID,不要凭记忆填写。
  4. 在本地终端启动 Claude Code,观察首次请求是否成功。
  5. 如果失败,先检查 401、404、429,再检查网络代理和本机环境变量覆盖。

如果团队用 CC Switch 管理多个供应商,Claude Code 这一侧要维护三件套:Base URL、API Key、模型名。三件套必须和 Codex 侧分开存放。CC Switch 的 profile 不应该把明文 Key 写入 Git 仓库,应该引用环境变量或本地密钥文件。切换 profile 后,先用一个最小请求验证,再进入实际项目。

5. Codex 配置:config.toml 里用 provider,不要混入 ANTHROPIC_*

Codex 接入 TaoToken 时,使用 config.toml,不要写 ANTHROPIC_*。一个常见配置是在 ~/.codex/config.toml 中声明自定义 provider,把 base_url 指向 https://taotoken.net/api,把 env_key 指向保存 YOUR_API_KEY 的环境变量。下面示例中的 wire_api 和 provider 名称要按 Codex 当前版本与 TaoToken 文档调整,重点是不要混用 Claude Code 的变量。

model = "MODEL_ID" model_provider = "taotoken" [model_providers.taotoken] name = "TaoToken" base_url = "https://taotoken.net/api" env_key = "TAOTOKEN_API_KEY" wire_api = "chat"

然后在 shell 中设置:

export TAOTOKEN_API_KEY="YOUR_API_KEY"

如果 Codex 版本要求使用 responses 或其他 wire_api,请以实际文档为准。不要把 ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_MODEL 写进 Codex 配置。Codex 不认识这些变量,即使设置了也可能被忽略。代码仓库中只保留 config.toml 模板,Key 通过环境变量注入。

Codex 验证流程可以是:

codex --version printf '%s\n' "$TAOTOKEN_API_KEY" | wc -c

第一条确认 Codex 可用,第二条确认 Key 环境变量长度合理,但不要直接打印完整 Key。正式调用时,用一个简单问题验证 provider 是否生效。如果返回 401,优先检查 env_key 名称是否和 shell 变量一致;如果返回 404,优先检查 base_url 是否被错误写成带 /v1、带 UTM 或带多余路径;如果返回模型不存在,重新从 TaoToken 模型对话页确认模型 ID。

6. CC Switch 三件套:多环境切换不把 Key 写进仓库

不管使用 Claude Code 还是 Codex,多供应商、多环境切换都建议抽象成 CC Switch 三件套:Base URL、API Key、模型名。三件套是逻辑概念,不是要求你把三个值硬编码到同一个文件。正确做法是让 CC Switch 或等价工具管理 profile,再把 profile 映射到对应客户端。

客户端配置文件/变量Base URLKey 注入模型名
Claude Codesettings.json / ANTHROPIC_*https://taotoken.net/apiANTHROPIC_AUTH_TOKEN 或对应变量ANTHROPIC_MODEL
Codexconfig.toml / providerhttps://taotoken.net/apienv_key 指向 TAOTOKEN_API_KEYmodel
服务端调用环境变量 + 密钥管理https://taotoken.net/apiYOUR_API_KEYMODEL_ID
本地脚本.env.local 不入库https://taotoken.net/apiYOUR_API_KEYMODEL_ID

CC Switch 三件套的推荐落地方式:

  1. Base URL 统一写 https://taotoken.net/api,不要在工具配置里带 UTM。UTM 只用于官网入口和文档链接。
  2. API Key 只写占位符或引用环境变量。本地开发可以用 .env.local,但必须加入 .gitignore。
  3. 模型名使用控制台实际 ID,不同工具可以使用同一个模型,也可以按任务拆分不同模型。
  4. Claude Code profile 和 Codex profile 分开命名,例如 claude-taotoken-dev、codex-taotoken-dev。
  5. 切换后跑一次最小请求,确认没有串用旧供应商。

如果团队中有人把 Claude Code 的 ANTHROPIC_* 变量导出到全局 shell,再启动 Codex,就会出现变量污染。虽然 Codex 不读 ANTHROPIC_*,但其他工具可能读取,最终导致请求发往错误地址。更稳妥的做法是用局部 shell、direnv、容器环境或 CC Switch profile 隔离。

7. 消耗归属:按调用方、项目、环境拆账单

Jev 类程序化决策模型一旦进入生产,消耗归属就不能靠“月底看总数”。技术负责人至少要能回答:哪个项目调用最多、哪个环境在烧测试预算、哪个 Key 需要限流、哪个模型的单位成本更高、哪个调用方的重试导致异常峰值。

最有效的方法不是事后猜测,而是从第一行代码开始设计日志。每次调用记录以下字段:

{ "key_alias": "team-risk-decision-prod", "project": "risk-decision", "env": "prod", "model": "MODEL_ID", "request_id": "req_local_trace_id", "prompt_tokens": 812, "completion_tokens": 156, "total_tokens": 968, "latency_ms": 1840, "status_code": 200, "called_at": "2026-01-15T10:30:00+08:00" }

不要记录明文 Key。key_alias 和项目字段足以做归因。TaoToken 控制台侧的用量用于和本地日志对账。对账频率建议:开发环境每天看一次,生产环境至少每周看一次;如果决策链路影响核心业务,应按天核对异常峰值。

下面是一段本地日志聚合 SQL,仅建议在本地或隔离日志库执行,不要直连生产 Oracle。字段名按你的本地表结构调整。

SELECT key_alias, project, env, model, COUNT(*) AS call_count, SUM(total_tokens) AS total_tokens, AVG(latency_ms) AS avg_latency_ms, SUM(CASE WHEN status_code >= 400 THEN 1 ELSE 0 END) AS error_count FROM local_llm_call_log WHERE called_at >= TIMESTAMP '2026-01-01 00:00:00' GROUP BY key_alias, project, env, model ORDER BY total_tokens DESC;

如果发现某个 Key 的消耗远高于预期,先检查三类原因:第一,重试逻辑没有退避,429 或超时后疯狂重试;第二,测试环境使用了生产 Key;第三,决策任务被拆成过多轮调用,prompt 长度失控。对于程序化决策场景,通常可以把 temperature 设为 0,要求 JSON 输出,并给最大 token 数设置上限。TaoToken 侧的 Key 粒度和本地日志的 project 字段要一致,否则对账会变成人工猜谜。

消耗归属还要和 Key 轮换联动。旧 Key 禁用后,如果本地日志仍然出现旧 key_alias,说明有调用方未更新。这时不要直接删除日志,而是保留一段时间用于回溯。对于生产决策链路,建议把 Key 变更纳入发布单,和代码发布、模型切换、prompt 版本一起记录。TaoToken 官网入口:https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=jev_key_handover_governance 。

8. 排障清单:401、404、429、超时与模型 ID 不匹配

接入 TaoToken 后,常见问题并不复杂,但需要按边界排查。下面这份清单可以直接放进团队 Runbook。

现象优先检查处理建议
401 UnauthorizedKey 是否完整、是否禁用、Authorization 头格式重新从 TaoToken 控制台创建 Key,确认 Bearer YOUR_API_KEY
403 ForbiddenKey 权限、项目权限、模型权限检查 Key 是否绑定正确项目,模型是否可用
404 Not FoundBase URL、路径、模型 ID工具配置用 https://taotoken.net/api,不要带 UTM;路径按控制台
429 Too Many Requests调用频率、并发、重试策略增加退避、降低并发、拆 Key 或申请调整
请求超时网络、模型响应长度、客户端超时缩短 prompt,限制 max tokens,记录 request_id
模型不存在模型 ID 拼写、大小写、环境从模型对话页复制实际 ID,不要凭记忆
Claude Code 失败ANTHROPIC_* 变量确认 Base URL、AUTH_TOKEN、MODEL 三项
Codex 失败config.toml provider确认 base_url、env_key、model_provider,不要混 ANTHROPIC_*
消耗突增Key 别名、项目、环境、重试查本地日志,按 key_alias 和 project 聚合
输出不稳定temperature、prompt、JSON 约束决策任务用 temperature=0,明确输出 schema

排障时建议遵循“先最小请求,再业务请求”的顺序。先用 curl 验证 Key 和 Base URL,再验证模型 ID,再接入 SDK,最后接入业务代码。不要一上来就在复杂框架里排查,否则变量太多。对于 Claude Code 和 Codex,分别验证,不要同时改两个工具。对于服务端调用,先在测试环境确认 200,再切生产。

还有一条边界必须写进规范:不要让 MCP、Agent 或自动化脚本直接连接 Oracle、生产数据库。决策模型需要数据时,由服务层提供脱敏、聚合、权限受控的输入。SQL 和命令由读者在本地或隔离环境执行,生产库只通过审批后的服务接口访问。这样做不是为了增加流程,而是为了避免模型调用链路绕过现有权限体系。

9. CTA 路径:模型对话 → Coding Plan → 创建 Key → Claude Code 文档

如果你正在评估 Jev 类程序化决策模型是否适合现有系统,建议按下面路径推进,不要一次性把所有工具都接上。

第一步,先用模型对话验证任务形态。把决策样本整理成输入输出对,观察模型是否稳定输出结构化结果。入口:https://taotoken.net/models/detail/chat?utm_source=taotoken_aicg_blog_end&utm_content=jev_key_handover_model_chat 。

第二步,如果验证结果值得进入研发流程,再看 Coding Plan,把 Claude Code、Codex 等工具链的调用纳入统一管理。入口:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=jev_key_handover_coding_plan 。

第三步,创建独立 API Key,按调用方、项目、环境拆分,并填写 Key 交接记录。入口:https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=jev_key_handover_api_keys 。

第四步,配置 Claude Code 或 Codex。Claude Code 使用 settings.json / ANTHROPIC_*,Codex 使用 config.toml。Claude Code 文档:https://taotoken.net/doc/ClaudeCodeAnthropic?utm_source=taotoken_aicg_blog_end&utm_content=jev_key_handover_claude_code_doc 。

无论走哪条路径,核心配置只有三个:Base URL 用 https://taotoken.net/api;Key 用 YOUR_API_KEY 占位并通过环境变量注入;模型 ID 从 TaoToken 控制台或模型对话页复制。把这三点固定下来,再补 Key 交接记录、请求样例和消耗归属日志,Jev 类程序化决策模型才会从“能调用”变成“可运维”。TaoToken 官网入口:https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=jev_key_handover_final 。把 Key 交给调用方,把请求地址固定为 https://taotoken.net/api,把消耗归属写进日志,是技术负责人接入这类模型时最值得先做的工程动作。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/19 5:11:33

告别插拔线缆:硬件级USB切换器实现双机外设无缝共享

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

作者头像 李华
网站建设 2026/9/19 5:21:14

curl 请求 Ling-3.0-flash-Fin,TaoToken 填入 Authorization

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

作者头像 李华
网站建设 2026/9/19 4:52:49

羊了个羊2026新版通关策略与消除技巧

1. 游戏机制深度解析"羊了个羊"作为一款现象级消除类游戏,其核心玩法看似简单却暗藏玄机。游戏采用多层堆叠的卡牌布局,玩家需要通过点击消除相同图案的卡牌,最终清空所有牌面即为通关。2026年3月更新的版本在原有基础上增加了动态…

作者头像 李华
网站建设 2026/9/19 5:10:10

深度解析Linux进程创建:fork与execve的底层原理与实战

初见:为什么搞懂进程创建,必须先认识这对组合我刚开始接触 Linux 系统编程的时候,有个问题困扰了我很久:为什么创建一个新进程这么麻烦?为什么不能像调用函数一样,喊一声“给我开个新程序”就完事了&#x…

作者头像 李华
网站建设 2026/9/19 5:22:21

相场法在水力压裂模拟中的应用与技术解析

1. 相场法水力压裂模拟技术解析相场法在近十年已成为水力压裂数值模拟的主流方法之一,其核心优势在于能够自然描述复杂裂缝网络的萌生、扩展和相互作用过程。不同于传统离散裂缝模型需要预设裂缝路径,相场法通过引入连续相场变量φ(取值范围0…

作者头像 李华
网站建设 2026/9/19 5:14:01

Python PDF表格提取实战:从报告单到自动化指标库

简介:这是中国金融四十人论坛(CF40)宏观经济医生研究系列的第96期月度报告,聚焦2024年9月中国宏观经济运行状况,面向宏观经济研究者、金融机构从业者及政策制定参考人士。报告以数据检验单形式系统梳理了制造业景气、工…

作者头像 李华