news 2026/10/6 11:19:36

Codex从代码生成到软件工程智能体:CLI配置与第三方模型接入实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Codex从代码生成到软件工程智能体:CLI配置与第三方模型接入实战

做编程工具这几年,我最大的感受是:"AI能写代码"和"AI能把活干完"是两件事。Codex这个名字,恰好把这中间的鸿沟完整演示了一遍——从早期的代码生成大模型,一路进化到今天的软件工程智能体,它早已不只是"续写代码"的补全器,而是一个能在终端里自己读文件、改代码、跑测试、反复试错的智能体系统。这篇文章,我想围绕Codex的技术演进和工程实践展开:既讲清楚它为什么从"模型"变成"智能体",也把我实测安装配置、接入第三方模型、排查各类报错的过程完整写出来,给正在用Codex CLI、想做AI编程落地、或者想用大模型改造研发流程的读者一条可以直接抄作业的路径。

有人可能会问,现在代码生成工具这么多,为什么要单独聊Codex?我的回答是:它承担的角色已经变了。过去我们讨论的是"这一行代码补全得好不好",今天讨论的是"能不能把一个Issue完整解决掉"。这种转变不是单纯某个模型参数变多带来的,背后是产品形态、工具链、交互方式一起变了。理解了Codex的演进路径,你就基本理解了软件工程智能体这条赛道的底层逻辑。

作为一篇偏实践的文章,我不会停在概念层面。后面会依次讲Codex的演进脉络、CLI落地配置、我在真实使用中遇到的高频报错(包括配置文件被忽略、模型名不被支持、本地网关处理/responses端点失败等),以及如何把Codex接到DeepSeek这类第三方模型上。如果你也踩过这些坑,希望这能帮你少走点弯路。

1. 从"模型"到"智能体":Codex到底经历了什么

1.1 三个阶段的Codex,名字相同但物种不同

Codex这个名字在OpenAI的产品线上出现过多次,但每次指的东西其实完全不一样。搞混了这三个阶段,后面看文档、理解功能都会绕弯子。

第一阶段是2021年的Codex模型。它本质上是GPT-3在代码语料上继续训练出来的模型,GitHub Copilot早期版本就依赖它。这个阶段做的事情可以概括为"单点补全":你给它上文,它预测下文。它没有执行环境,没有工具,甚至不知道自己生成的那段代码跑起来会不会报错。你可以把它理解成一个"打字很快但完全不懂工程的外包人员",你给一段开头,它还一段结尾,中间要是逻辑错了,它毫不知情。

第二阶段是2023年嵌入ChatGPT的Codex模型。这时候它已经具备了一定的执行能力,典型场景是Advanced Data Analysis里的那个Python解释器:模型可以写代码、在沙箱里跑代码、根据执行结果再调整。但注意,这种执行闭环是平台赋予的,模型本身还不是一个主动规划任务、跨多文件修改仓库的智能体。它依然是被动响应,只不过多了"试错"的机会。

第三阶段就是现在我们讨论的Codex,定位是软件工程智能体。它不再只是一个模型名,而是一个产品形态:提供CLI、云端任务执行、代码仓库集成。它可以接收一个自然语言描述的任务,然后在真实的仓库里读文件、搜索代码、修改多处内容、运行测试、根据报错迭代、最后生成一个可提交的变更。这一代Codex的核心突破不是"模型变聪明了"这么简单,而是把模型放进了一个完整的"行动-反馈"循环里。

我的建议是,读Codex相关文档之前,先确认人家说的是哪个阶段的Codex。不然你会在"Codex是模型"和"Codex是命令行工具"之间反复横跳,越看越晕。

1.2 为什么"能写代码"不等于"会干活"

理解了三个阶段,你会发现一个关键分水岭:传统代码生成大模型追求的是单次生成质量,软件工程智能体追求的是任务闭环能力。

单次生成是什么概念?你给模型一个函数签名、一段注释,它返回一段实现。质量高不高,看它是否语义正确、风格是否一致、有没有明显的雷。这类场景里,模型没有机会验证自己的输出,错了就是错了,靠人review兜底。今天很多代码补全工具、生成脚本的工具,干的都是这件事。工业界的典型应用包括Simulink模型生成C代码、PLC代码生成等,这些方向的价值在于"把重复的写码工作自动化",但产出质量高度依赖输入规范和模型单发能力。

任务闭环就完全不一样了。Codex面对的是一次"工程任务":比如"修复这个仓库里所有测试失败的问题"。它需要自己拆解步骤——先看项目结构,再定位失败的测试,读相关源码,修改实现,跑一遍测试,如果没通过就继续读日志、继续改。这个过程中,模型的角色从"一次性回答者"变成了"持续的决策者",每一步的输出都会进入环境,环境的反馈又会进入模型。

这里有个技术上的深层原因:代码的正确性不能靠模型自己感知,只能靠执行环境验证。这也是为什么软件工程智能体一定要有"执行"这个环节。纯文本模型生成完代码就结束了,它不知道那段代码能不能编译、测试能不能过;而智能体多了一条"跑起来看结果"的回路,这个回路才是"会干活"和"会写字"的区别。

所以,评价Codex这一类工具,不要只看"它写的代码像不像样",要看"它遇到错误之后能不能自己修正"。后者才是衡量软件工程智能体的核心指标。

2. Codex CLI的工程落地:安装、登录与最小配置

2.1 安装方式与登录态管理

先从最实际的地方开始。Codex CLI的安装没什么玄学,两条常规路径:

npm install -g @openai/codex

或者用Homebrew:

brew install codex

装完之后先验证一下:

codex --version

我个人的习惯是装完第一件事不是跑任务,而是看帮助信息,确认当前版本支持的子命令和配置项。因为Codex迭代很快,网上很多教程里的参数名可能已经变了,以本地版本的codex --help为准最靠谱。

登录方面分两种场景。如果你用官方账号,直接执行:

codex login

它会在浏览器里走OAuth授权流程,完成后登录凭证保存在~/.codex/auth.json。这个文件就是你的登录态,删除它等于退出登录。

如果你不想绑官方账号,也可以直接用API Key方式:

export OPENAI_API_KEY=sk-...

这里要记住一个容易踩的坑:环境变量的优先级高于配置文件。有时候你在config.toml里改了模型provider,但没生效,先别怀疑配置文件语法,看看是不是环境变量里还残留着旧的OPENAI_API_KEY或OPENAI_BASE_URL,它们会覆盖掉配置文件里的设置。

还有一个很多人问的问题:"codex无法加载组织设置"。这个我在团队里帮同事排查过几次,原因不外乎三类:一是当前账号没有加入任何组织,根本不存在组织配置可加载;二是组织策略明确禁用了Codex;三是登录态过期,授权已经失效。排查顺序也很简单,先看~/.codex/auth.json里有没有有效的token,再看组织后台的成员状态,最后看组织策略是否允许使用。不要一上来就重装CLI,操作系统层面基本是无辜的。

2.2 看懂config.toml:最小可用配置长什么样

Codex CLI的配置放在~/.codex/config.toml,首次运行时会引导你生成一份默认配置。如果你之前用过codex init,它会自动创建并打开这个文件。

一份最小可用的配置文件可以用下面这个结构来理解:

model = "gpt-5.6-codex" # 示例,实际模型名以运行时的提示为准 model_provider = "openai" [model_providers.openai] name = "OpenAI" base_url = "https://api.openai.com/v1" env_key = "OPENAI_API_KEY"

我刚接触这个配置的时候犯过一个低级错误:以为model字段可以随便填,结果填了一个不存在的模型名,Codex直接拒绝启动。它不只是一个"建议参数",而是会真正影响运行时行为的核心配置。

除了模型和provider,还有两个我建议初次体验就留意的配置维度:

  • sandbox_mode:控制命令执行权限。常用的有三种:只读、允许工作区内写入、完全放开。默认建议先从只读开始,确认Codex的行为符合预期再放开权限。
  • approval_policy:控制哪些操作需要人工确认。默认通常是对高风险操作弹确认,不建议全局改成自动批准,尤其是你让Codex操作一个有真实git历史的项目时。

顺便说一句,现在除了CLI,官方也有桌面端入口可以直接用Codex的能力。但如果你要做工程化落地、脚本化调度、CI/CD集成,CLI仍然是权限最灵活、最容易被自动化控制的形态。桌面端适合个人体验,CLI适合工程实践。

2.3 同一套Codex接不同模型后端:理解provider抽象

Codex CLI在设计上有一个很值得称道的点:它把"模型供应商"做成了配置项。也就是说,Codex本身是一个智能体运行时,模型只是它大脑里可以被替换的那部分。

这意味着什么?你可以把Codex的整套工作流——读仓库、改文件、跑测试、迭代修复——保留下来,只把底层的模型服务换成你自己的。只要你的模型服务提供OpenAI兼容的HTTP接口,Codex就能通过配置文件连上去。

[model_providers.custom] name = "MyModel" base_url = "https://your-internal-endpoint.example.com/v1" env_key = "MY_MODEL_API_KEY"

这个能力对企业内部落地特别有价值。不少团队有私有化部署的大模型,或者公司统一搭的模型网关,大家不想把代码数据直接送到外部API。Codex的provider抽象给你留了口子:模型还是自己的,智能体框架用Codex的,数据路径完全可控。我甚至见过有团队把Codex作为内部AI编程平台的调度前端,用户统一走Codex的交互,后端model provider随意切换。

这里要提前打个预防针:兼容OpenAI协议不代表一定能无缝使用。Codex某些版本会默认使用新版/responses端点,而很多第三方模型服务只实现了/v1/chat/completions。如果你接第三方模型时遇到404或者协议错误,优先怀疑端点版本不对,这个问题在下一节会展开讲。

3. 高频报错实测:配置文件、模型权限与本地网关

3.1 unrecognized configuration setting:一个配置项引发的连锁反应

先看一个很多人会撞到的报错原文:

Codex is ignoring 1 unrecognized configuration setting. Check for typos or deprecated setting names.

这句话看起来不严重,但它背后暴露的是配置版本漂移问题。Codex迭代速度快,配置文件字段时不时改名、移动位置,或者干脆废弃。网上流传的老教程、旧团队共享的config.toml,很容易带一个当前版本不认识的字段。

我遇到过的真实案例是:某次版本更新把model_reasoning这个字段改名成了reasoning_effort,团队里同一个config.toml在旧版本上一切正常,升级后Codex开始报警。当时我们一度以为是新版本有什么严重的配置冲突,查了半天,最后发现就是字段名不匹配。

排查这类问题可以按这个顺序来:

  1. 开debug模式:codex --debug,它会明确告诉你哪个配置项被忽略了。
  2. 对照当前版本的配置文档,注意字段是顶层还是嵌套在[model_providers.xxx]里。
  3. 把可疑字段注释掉,逐条恢复,定位具体是哪一行触发的警告。
  4. 如果配置是从网上抄的,先确认对方文章的版本时间,老配置大概率需要调整。

还有一个隐藏坑:团队共享配置的时候,成员的Codex版本不一致。同一个配置文件,A用1.0版本没问题,B用了2.0版本直接忽略字段。所以如果团队要共享config.toml,最好在仓库里注明“本配置最低要求Codex版本”,免得排半天发现是版本差异。

3.2 model not supported:模型名不是随便填的

再来一个我差点被绕进去的报错,原文长这样:

the 'gpt-5.6-sol' model is not supported when using codex with a ...

第一次看到这条报错,我以为是Codex版本太旧,不支持某个新模型。但换新版本后依然报错,这才意识到问题不在版本,而在模型名本身。

Codex客户端在启动时会做模型校验,不是所有字符串都能当模型名。常见原因有三类:

第一,名字不准确。官方模型标识有固定格式,多一个后缀、少一个连字符、大小写写错,都会被拒。gpt-5.6-sol这个字符串,看起来很像某个衍生版本,但如果官方命名体系里根本不存在这个标识,那它就是一个无效名字。不要从一个"看起来很合理"的名字去猜,要用服务商明确给出的模型标识。

第二,能力不满足。就算模型名在服务商那边是存在的,Codex还要求模型支持工具调用、流式输出等能力。如果后端模型是纯对话模型,不支持function calling,Codex做智能体调度时就会失败。这种失败有时候不叫"not supported",而是表现为"请求发了但模型不按协议回"。

第三,provider与模型不匹配。在自定义provider下填了官方模型名,或者在官方provider下填了第三方模型名,Codex内部可能按provider的类型走不同的校验逻辑,对不上就拒。

解决这个问题,我推荐两步:先确认当前Codex版本可用的模型标识,再确认你的服务商支持哪些模型、走什么协议。如果只是想在第三方服务上试,优先选择明确声明支持OpenAI工具调用规范的模型。

3.3 local proxy failed while handling /responses:本地网关的坑

这个报错值得单独拿一节来说,因为它的迷惑性最强:

cc switch local proxy failed while handling codex endpoint /responses. provi...

我第一次遇到的时候,第一反应是网络出问题了。毕竟报错里带"proxy"这个词,谁都会往网络方向想。但排查到最后发现,这个"proxy"指的是本地API网关,不是我们平时说的网络代理。Codex的provider如果配置成指向本地网关,它会把所有模型请求先发给网关,再由网关转发到上游模型服务。报错发生在Codex把请求发给本地网关、网关处理/responses端点时挂了。

这类问题的高频原因,我归纳成四个:

  1. 本地网关没起来,或者端口对不上。先用一个最小请求验证网关活没活:
    curl http://127.0.0.1:PORT/v1/models -H "Authorization: Bearer $KEY"
  2. 网关只实现了旧版/chat/completions,没实现新版/responses。Codex默认走的是/responses,网关不支持就白搭。这个在接入第三方模型时特别常见。
  3. base_url拼接路径不对。如果base_url写成http://localhost:8080/v1,Codex再拼上/responses,最终请求路径是/v1/responses,看起来正常;但如果base_url写成了http://localhost:8080,那拼出来就是裸的/responses,很多网关会直接404。
  4. 认证方式不一致。Codex默认只往请求头里塞Bearer token,如果网关要求额外的自定义头或者独立token,需要额外处理。

排查路径也顺手分享一下。我用了一个最笨但最有效的方法:起一个临时的HTTP echo服务,打印Codex发过来的完整请求路径和请求头。这一下就能确定Codex到底请求了哪个端点、带了什么头、网关是不是因为路径不匹配而失败。然后再用curl模拟同样的请求,把问题定位到"网关不支持该端点"还是"路径配置写错"。

这类问题还有一个衍生场景:模型服务商只支持OpenAI旧版协议,但Codex强制走新协议。你说它不兼容吧,大部分功能能用;你说它兼容吧,/responses端点一用就挂。碰到这种情况,我的建议是查一下当前Codex版本是否支持强制走/v1/chat/completions的开关,或者用官方适配过的模型服务商,省得自己整天为协议细节买单。

4. 把Codex接入DeepSeek:兼容配置与模型调度实战

4.1 原理先行:OpenAI兼容协议与模型可替换

把Codex接到DeepSeek上这件事,原理上不难,因为DeepSeek的API走的是OpenAI兼容格式,支持函数调用/工具调用。而Codex恰好把模型供应商做成了可配置项,两者一结合,理论上就能让Codex的智能体工作流跑在DeepSeek模型上。

但在动手之前,有一个关键点要确认:你的Codex版本走的是/responses还是/chat/completions。DeepSeek官方API在过去主要提供的是/chat/completions兼容端点,而新版Codex默认走/responses。如果两边协议不匹配,请求会直接失败。这也是为什么网上有人说能接、有人说接不了——大概率是Codex版本不同,或者中间多了一个支持双协议的网关。

如果你想省事一点,我建议不要直接让Codex连DeepSeek官方API,而是走一层兼容网关,让网关把Codex的/responses请求转换为DeepSeek能理解的/chat/completions格式。这确实多了一个组件,但换来的是协议兼容的稳定性,不用每次Codex升级都去重新调试。

4.2 一套可复制的配置模板

下面这份配置是我实际用过的结构,你可以根据自己的服务地址做调整:

# ~/.codex/config.toml model = "deepseek-chat" model_provider = "deepseek" [model_providers.deepseek] name = "DeepSeek" base_url = "https://api.deepseek.com/v1" env_key = "DEEPSEEK_API_KEY"

使用前导出API Key:

export DEEPSEEK_API_KEY=sk-xxxxxxxx codex

如果你是走兼容网关,base_url换成网关的地址:

[model_providers.deepseek] name = "DeepSeek via Gateway" base_url = "http://127.0.0.1:8000/v1" env_key = "GATEWAY_API_KEY"

有一点必须提醒:不同版本的Codex对config.toml的字段要求不完全一样。我这份模板在某个版本上能用,不代表在所有版本上都通用。动手之前先跑一下codex --help和官方文档,确认model_provider、base_url、env_key这些字段在当前版本还没改名。

我还见过一个很常见的小错误:有人在base_url里写了完整的/v1/chat/completions路径,结果Codex拼请求时把这个路径又接了一遍,最终请求变成/v1/chat/completions/responses,网关直接404。base_url只需要写到API根路径,具体端点由Codex自己拼。

4.3 实测体验:便宜模型与智能体框架结合的结果

把Codex接到DeepSeek上跑真实任务,我挑了一个Python多文件重构的场景:把某个类里的方法迁移到另一个类,并更新所有调用点。这属于典型的跨文件机械重构,非常适合用来测智能体的"多文件编辑能力"。

先说好的方面。DeepSeek的API价格确实便宜,跑一整个重构任务的花费可以忽略不计。中文指令的理解也出乎意料地好,我用自然语言描述重构需求,它基本能抓住重点。上下文窗口也够大,仓库里的关键文件都能放进去。

再说问题。DeepSeek模型在工具调用格式上偶尔会不稳定,有一次它返回的tool_call参数不是合法的JSON,Codex解析失败,整个任务卡在那里。还有一点很明显:复杂任务的长链路规划能力不如官方模型。它会在某个文件里反复打转,读一遍又一遍,迟迟不能决定下一步动作,需要我手动干预。这也符合预期,毕竟价格差距摆在那里,你不能要求每个模型都有顶级的规划能力。

我的结论是:这种组合适合低成本探索、学习、日常脚本任务、小型重构;不适合关键生产任务,尤其是涉及大范围变更、需要精确工具调用的场景。实践中的做法是切换provider:

codex --config ~/.codex/config.toml

或者在同一个配置里预置多个provider,需要哪个用哪个。把模型调度做成"按任务类型选后端",才是性价比最优的路线。

5. 从"生成代码"到"软件工程智能体":任务编排与工程心智

5.1 一次真实任务的循环拆解

理论讲再多,不如看一次真实的任务循环。我自己用Codex修过一个Python包的测试失败,完整过程大致是:

  1. Codex接收任务:"修复test_utils.py里所有失败的测试"。
  2. 它先读仓库根目录,了解项目结构,找到tests/test_utils.py。
  3. 运行一次pytest tests/test_utils.py,拿到失败信息。
  4. 根据失败信息定位到utils.py里某个函数的边界条件处理不对。
  5. 修改源码,再次运行测试。
  6. 第一次修改没完全解决问题,它又读了完整的报错堆栈,继续调整实现。
  7. 直到全部测试通过,它列出改动的文件清单,生成了提交信息。

注意这个循环里最关键的一点:Codex不是一次性生成"正确答案",而是通过反复执行测试来逼近正确答案。每个失败的测试都是一次环境反馈,模型根据反馈调整策略。这种"生成-执行-反馈-修正"的循环,才是智能体区别于传统代码生成大模型的本质特征。

如果换成一个普通代码生成模型,它能干的就是根据你给的描述写一段"看起来对"的代码。至于这段代码能不能通过测试,它既不知道,也没办法知道。所以我在文章开头才说,Codex的进化本质上是把"生成问题"变成了"工程问题"。

5.2 智能体框架的四个核心组件

从工程实现的角度看,一个能用的软件工程智能体需要四个组件配合:

组件作用工程实践要点
上下文管理决定哪些仓库内容进入模型视野按需读取,不把整个仓库无脑塞进上下文
工具集让模型能读文件、写文件、执行命令工具粒度要细,权限要可控
沙箱限制模型执行命令的影响范围高危操作默认禁止或需人工审批
审批流让关键操作经过人确认写操作和敏感命令必须显式放行

这四个组件单独看都不复杂,但组合起来就是一套完整的"智能体工程心智"。很多人觉得"接入一个API就是AI编程落地",其实只做了上下文管理这四分之一。真正可靠的生产级智能体,必须同时解决工具调度、执行隔离、人工审核这几个问题。

我最想强调的一点是:沙箱和审批流不是限制智能体的能力,而是让你敢于把更大的任务交给它。Codex的sandbox_mode和approval_policy配置,本质上是给你一个"信任刻度":任务越重要,权限收得越紧;探索越自由,权限可以适当放宽。合理的配置不是追求"全自动",而是追求"在人类可控范围内最大化自动化"。

5.3 团队落地建议:权限、审计与"人机边界"

最后聊一下团队级落地。个人用Codex怎么开心怎么来,但团队引入软件工程智能体,必须提前定好人机边界。

我的几条实操建议:

  1. 不要在Codex会话里暴露生产密钥。即便沙箱配置得再严格,密钥一旦进了上下文,模型很可能在回复时把它打印出来,然后被记入日志。生产环境密钥永远只存在于受限的密钥管理系统里。
  2. 默认只读,写操作单独授权。可以让Codex自由读代码、跑测试,但在它请求修改文件或执行git命令时,加一道人工确认。这个习惯能挡掉大量"智能体自作主张改错文件"的事故。
  3. CI/CD集成走"开分支提PR"模式。让Codex在隔离分支上完成修改、提交PR,再走正常的人工review合入流程。这样既能享受自动化的效率,又保留了代码审查的兜底。
  4. 审计日志要留着。Codex执行了哪些命令、改了哪些文件、为什么在这个文件上停留了很久,这些信息在事后排查问题时价值极高。个人使用可能无所谓,团队环境里审计能力是标配。

说白了,智能体替代的是"动手写码"这个环节,没有替代"判断这件事该不该做、该怎么做"的环节。越复杂的系统,人越要抓住决策权,只把执行权交给智能体。这个边界划清楚了,Codex这类工具在团队里才是真正的提效杠杆,而不是一个制造混乱的新玩具。

最后说点实在的。我从Copilot时代一路用过来,刚开始用Codex时最不习惯的就是它"会犯错",而且错得理直气壮。但用久了你会发现,真正值钱的不是它一次写得多对,而是那个"自己看报错、自己改、再验证"的循环。这个循环能跑通,代码生成大模型才真正变成了软件工程智能体。如果你也想把自己的研发流程往这个方向带,我的建议很简单:先装一个Codex CLI,拿一个真实的Issue跑一遍,再决定要不要深度集成。跑完你会对"模型"和"智能体"的差别的理解,比看多少篇文章都管用。

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

基于YOLOv8的PCB板缺陷检测系统:从数据准备到训练部署全流程解析

简介:一份面向计算机科学与技术专业毕业设计与电子信息类学习者的完整论文资源,围绕YOLOv8结合深度学习、计算机视觉技术解决PCB板缺陷自动检测问题,适用于理解目标检测在工业质检场景中的落地流程。资源共1个docx文件,压缩包约3.…

作者头像 李华
网站建设 2026/10/6 11:16:00

Linux Socket编程实战:从TCP基础到多客户端与避坑指南

简介:这是一份面向初、中级开发者的 Linux Socket 编程学习笔记,核心讲解网络进程通信、Socket 接口原理及 TCP 连接管理,适合正在学习网络编程、准备相关面试或希望补齐套接字 API 使用细节的读者。资源仅 1 个 docx 文档,压缩包…

作者头像 李华
网站建设 2026/10/6 11:15:26

FPGA作为Root Complex:AXI转PCIe核的实战调试与枚举指南

做FPGA的兄弟,应该都有过类似的经历:看着一本几百页的IP手册,照着官方例程把工程跑起来,心里挺美,结果一到自己的板子上、自己的场景里,各种链路不up、地址不通、中断不触发的问题就全冒出来了。尤其是 PCI…

作者头像 李华
网站建设 2026/10/6 11:14:55

COZE平台AI应用开发实战:从工作流编排到API集成全指南

简介:《COZE 从入门到精通实战指南》是一份面向AI应用开发入门者与业务人员的系统教程,围绕低代码开发、自然语言处理与API集成三大方向,帮助读者快速掌握基于大模型的对话机器人、自动化工作流和数据分析助手搭建方法。内容从账号注册、创建…

作者头像 李华
网站建设 2026/10/6 11:13:07

Unity Shader动态屏幕遮罩:后处理UV变换与实测避坑

简介:该资源为Unity3D开发者提供一套完整的动态屏幕遮罩Shader实现方案,适用于需要实现跟随目标物体的可视范围遮罩、边缘渐变、遮罩颜色自定义等效果的游戏或交互项目。压缩包仅含1个PDF文档,大小约66KB,文档内完整展示了Shader源…

作者头像 李华
网站建设 2026/10/6 11:11:20

AI Agent 从 Demo 到生产:并发状态、工具调用与可观测性工程实践

1. 半年卡壳的真相:AI Agent 从 Demo 到生产之间隔着什么 去年秋天我接了一个内部工具项目,目标很明确:做一个能自动处理工单的 AI Agent,用户提交问题后,Agent 自主判断类型、检索知识库、调用内部 API 完成操作、最后…

作者头像 李华