Codex Rules 与 Skills:项目级和全局级配置一览

文章目录

  • [Codex Rules 与 Skills:项目级和全局级配置一览](#Codex Rules 与 Skills:项目级和全局级配置一览)

Codex Rules 与 Skills:项目级和全局级配置一览

本文速览

一句话总结:

本文主要讲清楚 Codex Skill、AGENTS.md 与 Rules 的职责差异,以及它们在项目级和全局级的存放位置、加载方式与文件组织结构,帮助你更清晰地配置和使用 Codex。

适合人群:

适合正在使用 Codex、准备为项目编写 Skill 或规则配置,以及容易混淆项目级与全局级配置位置的开发者阅读。

核心问题:

  • Skill 的项目级与全局级存放位置有什么区别?
  • Codex 如何发现、匹配和加载一个 Skill?
  • AGENTS.md.rules 分别负责什么?
  • 项目级和全局级 Codex 文件应该如何组织?

你将学会:

  • 理解 Skill、AGENTS.md 与 Rules 各自解决的问题;
  • 掌握项目级和全局级 Skill 的目录位置与组织方式;
  • 理解 Skill 的渐进式加载和显式、隐式触发方式;
  • 看懂项目级和全局级 Codex 的完整文件结构。

相关关键词:

Codex、Skill、SKILL.mdAGENTS.md、Rules、项目级配置、全局级配置、渐进式加载、命令权限


一、Skill:告诉 Codex"某类任务具体怎么做"

Skill 是一个可复用的任务工作流,既可以像快捷指令一样显式调用,也可以由 Codex 根据任务内容自动触发。

1. 项目级 Skill

项目级 Skill 放在项目的 .agents/skills/ 目录下。例如:

text 复制代码
viewport-lab/
└── .agents/
    └── skills/
        └── deploy-dev-machine/
            └── SKILL.md

项目级 Skill 的基本规则如下:

  • 每个 Skill 使用一个独立子目录。
  • 每个 Skill 必须包含 SKILL.md
  • scriptsreferencesassets 都是可选资源。
  • Skill 可以提交到 Git,供这个项目的所有开发者使用。

提示:项目级 Skill 可以随 Git 提交,更适合沉淀团队共同使用的任务工作流。

2. Skill 的渐进式加载机制

Codex 不会一开始就读取所有 Skill 的全部文件,而是采用渐进式加载。
#mermaid-svg-7pc37tcUdsn36vz0{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-7pc37tcUdsn36vz0 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-7pc37tcUdsn36vz0 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-7pc37tcUdsn36vz0 .error-icon{fill:#552222;}#mermaid-svg-7pc37tcUdsn36vz0 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-7pc37tcUdsn36vz0 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-7pc37tcUdsn36vz0 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-7pc37tcUdsn36vz0 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-7pc37tcUdsn36vz0 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-7pc37tcUdsn36vz0 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-7pc37tcUdsn36vz0 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-7pc37tcUdsn36vz0 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-7pc37tcUdsn36vz0 .marker.cross{stroke:#333333;}#mermaid-svg-7pc37tcUdsn36vz0 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-7pc37tcUdsn36vz0 p{margin:0;}#mermaid-svg-7pc37tcUdsn36vz0 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-7pc37tcUdsn36vz0 .cluster-label text{fill:#333;}#mermaid-svg-7pc37tcUdsn36vz0 .cluster-label span{color:#333;}#mermaid-svg-7pc37tcUdsn36vz0 .cluster-label span p{background-color:transparent;}#mermaid-svg-7pc37tcUdsn36vz0 .label text,#mermaid-svg-7pc37tcUdsn36vz0 span{fill:#333;color:#333;}#mermaid-svg-7pc37tcUdsn36vz0 .node rect,#mermaid-svg-7pc37tcUdsn36vz0 .node circle,#mermaid-svg-7pc37tcUdsn36vz0 .node ellipse,#mermaid-svg-7pc37tcUdsn36vz0 .node polygon,#mermaid-svg-7pc37tcUdsn36vz0 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-7pc37tcUdsn36vz0 .rough-node .label text,#mermaid-svg-7pc37tcUdsn36vz0 .node .label text,#mermaid-svg-7pc37tcUdsn36vz0 .image-shape .label,#mermaid-svg-7pc37tcUdsn36vz0 .icon-shape .label{text-anchor:middle;}#mermaid-svg-7pc37tcUdsn36vz0 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-7pc37tcUdsn36vz0 .rough-node .label,#mermaid-svg-7pc37tcUdsn36vz0 .node .label,#mermaid-svg-7pc37tcUdsn36vz0 .image-shape .label,#mermaid-svg-7pc37tcUdsn36vz0 .icon-shape .label{text-align:center;}#mermaid-svg-7pc37tcUdsn36vz0 .node.clickable{cursor:pointer;}#mermaid-svg-7pc37tcUdsn36vz0 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-7pc37tcUdsn36vz0 .arrowheadPath{fill:#333333;}#mermaid-svg-7pc37tcUdsn36vz0 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-7pc37tcUdsn36vz0 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-7pc37tcUdsn36vz0 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-7pc37tcUdsn36vz0 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-7pc37tcUdsn36vz0 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-7pc37tcUdsn36vz0 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-7pc37tcUdsn36vz0 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-7pc37tcUdsn36vz0 .cluster text{fill:#333;}#mermaid-svg-7pc37tcUdsn36vz0 .cluster span{color:#333;}#mermaid-svg-7pc37tcUdsn36vz0 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-7pc37tcUdsn36vz0 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-7pc37tcUdsn36vz0 rect.text{fill:none;stroke-width:0;}#mermaid-svg-7pc37tcUdsn36vz0 .icon-shape,#mermaid-svg-7pc37tcUdsn36vz0 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-7pc37tcUdsn36vz0 .icon-shape p,#mermaid-svg-7pc37tcUdsn36vz0 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-7pc37tcUdsn36vz0 .icon-shape .label rect,#mermaid-svg-7pc37tcUdsn36vz0 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-7pc37tcUdsn36vz0 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-7pc37tcUdsn36vz0 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-7pc37tcUdsn36vz0 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}#mermaid-svg-7pc37tcUdsn36vz0 .primary>*{fill:#EFF6FF!important;stroke:#2563EB!important;color:#0F172A!important;stroke-width:1.5px!important;}#mermaid-svg-7pc37tcUdsn36vz0 .primary span{fill:#EFF6FF!important;stroke:#2563EB!important;color:#0F172A!important;stroke-width:1.5px!important;}#mermaid-svg-7pc37tcUdsn36vz0 .primary tspan{fill:#0F172A!important;}#mermaid-svg-7pc37tcUdsn36vz0 .success>*{fill:#F0FDF4!important;stroke:#16A34A!important;color:#0F172A!important;stroke-width:1.5px!important;}#mermaid-svg-7pc37tcUdsn36vz0 .success span{fill:#F0FDF4!important;stroke:#16A34A!important;color:#0F172A!important;stroke-width:1.5px!important;}#mermaid-svg-7pc37tcUdsn36vz0 .success tspan{fill:#0F172A!important;} 扫描 Skill 摘要
匹配 description
读取 SKILL.md
按需加载资源

references / scripts / assets
执行工作流

第一阶段:收集 Skill 摘要

Codex 首先扫描 Skills 目录,并收集每个 Skill 的 namedescription 和路径,供后续匹配使用。

第二阶段:判断是否调用

Skill 有两种触发方式:

  • 显式触发 :用户直接输入 $deploy-dev-machine
  • 隐式触发 :例如用户输入"帮我把 Viewport Lab 更新到公司开发机",Codex 会将任务含义与 Skill 的 description 进行匹配。
第三阶段:读取完整的 SKILL.md

确定使用某个 Skill 后,Codex 会读取该 Skill 的完整 SKILL.md

第四阶段:按需加载配套资源

Skill 可以按照下面的方式组织:

text 复制代码
deploy-dev-machine/
├── SKILL.md
├── references/
│   └── deployment.md
├── scripts/
│   └── deploy.sh
└── assets/
    └── env.example

这些文件通常不会在发现 Skill 时被全部加载。因此,SKILL.md 应明确说明需要读取或使用哪些资源,例如:

部署前完整阅读 references/deployment.md

执行部署时优先运行 scripts/deploy.sh

Codex 选择 Skill 后,会根据这些指令:

  • 阅读需要的 references
  • 运行或修改 scripts
  • 复制或使用 assets

注意 :没有被 SKILL.md 引用的文件,Codex 不一定会主动读取。

3. 全局级 Skill

以 MacBook 为例,个人全局 Skill 官方推荐放在 ~/.agents/skills/。全局级 Skill 和项目级 Skill 本质相同,主要区别是存放位置和生效范围。

例如:/Users/xuxiao/.agents/skills/

text 复制代码
/Users/xuxiao/.agents/
└── skills/
    ├── commit-staged-changes/
    │   ├── SKILL.md
    │   └── scripts/
    │       └── validate-staged.sh
    │
    ├── deploy-dev-machine/
    │   ├── SKILL.md
    │   ├── references/
    │   │   └── deployment.md
    │   └── scripts/
    │       └── deploy.sh
    │
    └── frontend-review/
        ├── SKILL.md
        ├── references/
        │   └── review-checklist.md
        └── assets/
            └── report-template.md

重点:全局级 Skill 和项目级 Skill 的本质相同,主要区别是存放位置与生效范围。

二、Rules:项目规范与命令执行权限

Codex 项目中的长期约束主要分为两类:项目工作规范和命令执行规则。

在官方语义中,.rules 专指命令执行权限;AGENTS.md 更准确地说是"项目指令"或"项目规范"。
#mermaid-svg-qLVKUAoEd7Y21ZQX{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-qLVKUAoEd7Y21ZQX .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-qLVKUAoEd7Y21ZQX .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-qLVKUAoEd7Y21ZQX .error-icon{fill:#552222;}#mermaid-svg-qLVKUAoEd7Y21ZQX .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-qLVKUAoEd7Y21ZQX .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-qLVKUAoEd7Y21ZQX .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-qLVKUAoEd7Y21ZQX .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-qLVKUAoEd7Y21ZQX .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-qLVKUAoEd7Y21ZQX .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-qLVKUAoEd7Y21ZQX .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-qLVKUAoEd7Y21ZQX .marker{fill:#333333;stroke:#333333;}#mermaid-svg-qLVKUAoEd7Y21ZQX .marker.cross{stroke:#333333;}#mermaid-svg-qLVKUAoEd7Y21ZQX svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-qLVKUAoEd7Y21ZQX p{margin:0;}#mermaid-svg-qLVKUAoEd7Y21ZQX .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-qLVKUAoEd7Y21ZQX .cluster-label text{fill:#333;}#mermaid-svg-qLVKUAoEd7Y21ZQX .cluster-label span{color:#333;}#mermaid-svg-qLVKUAoEd7Y21ZQX .cluster-label span p{background-color:transparent;}#mermaid-svg-qLVKUAoEd7Y21ZQX .label text,#mermaid-svg-qLVKUAoEd7Y21ZQX span{fill:#333;color:#333;}#mermaid-svg-qLVKUAoEd7Y21ZQX .node rect,#mermaid-svg-qLVKUAoEd7Y21ZQX .node circle,#mermaid-svg-qLVKUAoEd7Y21ZQX .node ellipse,#mermaid-svg-qLVKUAoEd7Y21ZQX .node polygon,#mermaid-svg-qLVKUAoEd7Y21ZQX .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-qLVKUAoEd7Y21ZQX .rough-node .label text,#mermaid-svg-qLVKUAoEd7Y21ZQX .node .label text,#mermaid-svg-qLVKUAoEd7Y21ZQX .image-shape .label,#mermaid-svg-qLVKUAoEd7Y21ZQX .icon-shape .label{text-anchor:middle;}#mermaid-svg-qLVKUAoEd7Y21ZQX .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-qLVKUAoEd7Y21ZQX .rough-node .label,#mermaid-svg-qLVKUAoEd7Y21ZQX .node .label,#mermaid-svg-qLVKUAoEd7Y21ZQX .image-shape .label,#mermaid-svg-qLVKUAoEd7Y21ZQX .icon-shape .label{text-align:center;}#mermaid-svg-qLVKUAoEd7Y21ZQX .node.clickable{cursor:pointer;}#mermaid-svg-qLVKUAoEd7Y21ZQX .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-qLVKUAoEd7Y21ZQX .arrowheadPath{fill:#333333;}#mermaid-svg-qLVKUAoEd7Y21ZQX .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-qLVKUAoEd7Y21ZQX .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-qLVKUAoEd7Y21ZQX .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-qLVKUAoEd7Y21ZQX .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-qLVKUAoEd7Y21ZQX .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-qLVKUAoEd7Y21ZQX .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-qLVKUAoEd7Y21ZQX .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-qLVKUAoEd7Y21ZQX .cluster text{fill:#333;}#mermaid-svg-qLVKUAoEd7Y21ZQX .cluster span{color:#333;}#mermaid-svg-qLVKUAoEd7Y21ZQX div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-qLVKUAoEd7Y21ZQX .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-qLVKUAoEd7Y21ZQX rect.text{fill:none;stroke-width:0;}#mermaid-svg-qLVKUAoEd7Y21ZQX .icon-shape,#mermaid-svg-qLVKUAoEd7Y21ZQX .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-qLVKUAoEd7Y21ZQX .icon-shape p,#mermaid-svg-qLVKUAoEd7Y21ZQX .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-qLVKUAoEd7Y21ZQX .icon-shape .label rect,#mermaid-svg-qLVKUAoEd7Y21ZQX .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-qLVKUAoEd7Y21ZQX .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-qLVKUAoEd7Y21ZQX .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-qLVKUAoEd7Y21ZQX :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}#mermaid-svg-qLVKUAoEd7Y21ZQX .primary>*{fill:#EFF6FF!important;stroke:#2563EB!important;color:#0F172A!important;stroke-width:1.5px!important;}#mermaid-svg-qLVKUAoEd7Y21ZQX .primary span{fill:#EFF6FF!important;stroke:#2563EB!important;color:#0F172A!important;stroke-width:1.5px!important;}#mermaid-svg-qLVKUAoEd7Y21ZQX .primary tspan{fill:#0F172A!important;}#mermaid-svg-qLVKUAoEd7Y21ZQX .scope>*{fill:#F0FDF4!important;stroke:#16A34A!important;color:#0F172A!important;stroke-width:1.5px!important;}#mermaid-svg-qLVKUAoEd7Y21ZQX .scope span{fill:#F0FDF4!important;stroke:#16A34A!important;color:#0F172A!important;stroke-width:1.5px!important;}#mermaid-svg-qLVKUAoEd7Y21ZQX .scope tspan{fill:#0F172A!important;} Skill

定义任务怎么做
AGENTS.md

定义工作规范
Rules

控制命令权限
生效范围
项目级
全局级

1. 项目级 Rules

项目工作规范:AGENTS.md

项目根目录以及子模块中都可以放置 AGENTS.md。Codex 修改项目或对应子模块时,会参考其中的规范。

命令执行规则:.codex/rules/

项目可以在 .codex/rules/ 中配置命令执行权限,用来控制 Codex"哪些命令能执行"。例如:

text 复制代码
viewport-lab/
└── .codex/
    └── rules/
        └── default.rules
starlark 复制代码
prefix_rule(
    pattern = ["pnpm", "typecheck"],
    decision = "allow",
    justification = "项目类型检查是安全的只读验证",
)

prefix_rule(
    pattern = ["pnpm", "deploy:dev-machine"],
    decision = "prompt",
    justification = "部署会更新公司开发机,需要用户确认",
)

prefix_rule(
    pattern = ["git", "push"],
    decision = "prompt",
    justification = "推送会修改远端仓库",
)

prefix_rule(
    pattern = ["git", "reset", "--hard"],
    decision = "forbidden",
    justification = "可能清除未提交修改,禁止执行",
)

Rules 包含三种决策:

  • allow:允许在沙箱外执行,不再询问。
  • prompt:每次执行前询问。
  • forbidden:直接禁止。

注意

|-----------------------------------------------|
| 自定义 Rules 的用途比较窄,目前也不是很稳定。 如果没有特殊需求,没必要一开始就写。 |

需要进一步拆分时,可以按照用途组织多个 Rules 文件:

text 复制代码
viewport-lab/
└── .codex/
    └── rules/
        ├── git.rules
        ├── pnpm.rules
        ├── deployment.rules
        └── destructive-commands.rules

2. 全局级 Rules

全局级 Rules 对所有项目生效,与项目级 Rules 的主要区别是存放路径不同。

以 MacBook 为例:

text 复制代码
~/.codex/
└── rules/
    └── default.rules

三、项目级 Codex 文件组织结构

下面是一个项目级 Codex 文件结构示例:

text 复制代码
viewport-lab/
├── AGENTS.md
├── .agents/
│   └── skills/
│       └── deploy-dev-machine/
│           └── SKILL.md
├── .codex/
│   ├── config.toml
│   └── rules/
│       └── default.rules
└── local-doc/

四、全局级 Codex 文件组织结构

text 复制代码
/Users/xuxiao/
├── .codex/
│   ├── AGENTS.md             # 全局工作规范
│   ├── config.toml           # 全局运行配置
│   ├── rules/                # 全局命令权限规则
│   └── skills/               # 内置、已安装、旧式 Skill
│
└── .agents/
    └── skills/               # 推荐:自己维护的全局 Skill

全局级与项目级的一个区别是 AGENTS.md 的位置:

  • 全局级 AGENTS.md 是"这个用户使用 Codex 时,所有项目都遵守的习惯",因此放在 Codex 的个人配置目录。
  • 项目级 AGENTS.md 是"这个仓库的开发约定",因此直接放在仓库根目录,方便随 Git 提交并分享给团队;Codex 也会从项目根目录开始发现它。

结论

|------------------------------------------------------------------------------------------------|
| Skill 用来定义"某类任务具体怎么做",AGENTS.md 用来约束项目工作方式,Rules 用来控制命令执行权限。 项目级配置适合随仓库共享,全局级配置则面向当前用户的所有项目生效。 |

相关推荐
xcLeigh3 小时前
KingbaseES 的卢智能运维体架构深度拆解
运维·数据库·人工智能·ai·架构·ffmpeg·智能体
陈大鱼头3 小时前
一句话,Seed Evolving 给我做了一个 AI 小说创作 Agent
人工智能·gpt·ai
wang_yb4 小时前
用统计检验来确定“重要特征”
ai·databook
薛少杰5 小时前
对标Reddit,Meta悄然推出“Forum”应用
ai·meta·facebook·reddit·forum
AI大模型-小华5 小时前
ChatGPT充值后Codex误改数据库怎么办?用迁移审查避免数据丢失
数据库·chatgpt·codex·chatgpt plus·chatgpt pro·chatgpt充值
时空节拍AI数字人5 小时前
多模态交互数字人:语音+视觉+触控如何融合
人工智能·microsoft·ai·aigc·交互·语音识别
AI大模型-小雄5 小时前
ChatGPT充值后Codex接口频繁出现429?用限流与退避机制稳定任务执行
chatgpt·codex·chatgpt plus·chatgpt pro·接口限流·chatgpt充值
openYuanrong分布式计算引擎5 小时前
openYuanrong 打造 Agent 时代的企业级分布式底座
人工智能·分布式·ai·serverless