From 79cc59e72e6791048be7a50ede7293652e58dddf Mon Sep 17 00:00:00 2001 From: host Date: Fri, 30 Oct 2026 00:32:14 +0800 Subject: [PATCH] =?UTF-8?q?align:=20=E8=AE=B0=E7=9C=9F=E5=AE=9E=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=AE=9E=E6=B5=8B=EF=BC=9A=E6=8A=80=E8=83=BD=E5=9C=A8?= =?UTF-8?q?=20Docker=20=E4=BB=BB=E5=8A=A1=E9=87=8C=E8=A2=AB=E5=8F=91?= =?UTF-8?q?=E7=8E=B0=E5=B9=B6=E8=AF=BB=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2026-10-30 临时 worker 实测(生产未部署): - 隔离:depends_on 假依赖门 + run_one 单任务,生产 worker 永不认领,临时 worker 只跑指定任务。 - 第一次失败:GitHub clone 卡 684K 6 分钟 + run_one 无心跳线程,300 秒被 sweep 标 interrupted,播种未跑到。 - 第二次成功(test-repo 项目 + 心跳线程):任务 7235de8f completed,租户 skills/ 含 3 个 SKILL.md, trace 里 agent 真读了容器内 live-info/SKILL.md, 答案按技能规则明说 web_search 不可用、不编造数字。 - 独立未解:Docker 里 web_search 本身 DNS/联网失败, 与 2026-10-28 探针同类,另批再修,不在本批宣称内。 清理已核:临时用户/项目/任务/租户目录/临时代码全删, 生产 health 仍 3696dad、worker_ok。 --- docs/chatgpt-codex-alignment.md | 36 +++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/docs/chatgpt-codex-alignment.md b/docs/chatgpt-codex-alignment.md index 2084e67..df2e3d5 100644 --- a/docs/chatgpt-codex-alignment.md +++ b/docs/chatgpt-codex-alignment.md @@ -73,6 +73,42 @@ worker 参数里加 `--seed-skills` 是部署时另行应用的 主机步骤(unit 文件不在 deploy tar 里,仿 websearch)。 +## 真实任务实测(2026-10-30,临时 worker,生产未部署) + +- 隔离方式:测试任务带 `depends_on: ["skill-test-gate-never"]`, + 生产 worker 只认领依赖已完成的任务,永远不会认领它; + 临时 worker 不跑循环,只跑一次 `run_one(task=指定任务)`, + 认领走 CAS,只跑这一个任务。临时 worker 代码在主机 + `/tmp/skill-temp-worker/`(对齐分支 git archive),不动 + `/opt` 生产代码;跑时用 codexsvc 身份 + 生产 DB 环境, + 否则租户目录属主对不上容器 1003。 +- 第一次失败,教训已记:用 repo_url 项目时 GitHub clone + 在 684K 卡了 6 分钟以上,且 `run_one` 单任务模式没有 + run_loop 的心跳线程,任务在 300 秒时被生产 worker 的 + sweep 标 interrupted(心跳停滞),而 clone 还没完、 + 播种根本没跑到。第二次改用无 repo_url 的 test-repo + 项目(本地模板,不 clone)+ 临时 runner 里补心跳线程 + (每 30 秒刷 `_heartbeat_running_tasks`),问题消失。 +- 第二次成功,任务 7235de8f…(临时用户 skilltest-15fd9f58, + 临时项目 59961c66…,Docker,effort low,实际模型 + gpt-5.6-sol,约 40 秒 completed,tokens 64335, + cost_record 425,error 空):租户 codex-home/skills/ + 里确有 3 个技能的 SKILL.md;trace 里 agent 真执行了 + `sed -n '1,240p' /var/lib/codex-app-server/codex-home/skills/live-info/SKILL.md` + (容器内挂载路径),即技能不只是被列出,而是被读了; + 最终答案以 `SKILL: live-info` 开头,并按技能规则明说 + web_search 不可用、不编造实时数字。 +- 仍未解决的独立问题:Docker 任务里 web_search 本身 + 因 DNS/联网失败而不可用(与 2026-10-28 websearch e2e + 探针的 DuckDuckGo DNS 失败同类),技能发现/调用已证, + 但 live-info 要真正查到天气/时间,还得先修 web_search + 在 Docker 里的联网问题——那是另一批工作,不在本批 + 宣称范围内。 +- 清理已核:第二次测试的用户/项目/任务、租户目录、 + 临时 worker 代码与临时 key 全部删除,用户剩余 0, + 生产 health 仍 3696dad、worker_ok;第一次测试的 + 临时行与租户目录也已同样清理。 + ## 不照搬(诚实边界) - CUA / 桌面操作:需要浏览器自动化 + 桌面操作基础设施,