Agent Knowledge Runtime:从一个 Codex 自动填工时案例看 Agent 工程化

Agent Knowledge Runtime:从一个 Codex 自动填工时案例看 Agent 工程化

上一篇文章里,我写过一次实践:

用 Codex Chrome 插件重构工作流:从 OA 工时填报到可复用 Skill 的自动化实践

那篇文章主要讲的是一个具体问题:如何让 Codex 借助 Chrome 插件进入真实 OA 系统,根据 Excel 工作计划创建任务、登记工时、检查重复日期,并把用户纠正过的规则沉淀成一个可复用 Skill。

当时我更关注的是"工作流重构":不要只让 AI 替我点按钮,而是把原来靠人工记忆维持的隐性规则显性化,让它下一次还能复用。

但最近继续拆这个过程时,我发现这件事背后还有一个更大的结构:

我们真正做的,不只是一个浏览器自动化 Skill,而是在构建一个面向真实任务的 Agent Knowledge Runtime。

这篇文章就想把这个概念讲清楚。

一、普通 RAG demo 解决不了真实工作流问题

很多人第一次接触 AI 应用时,会从 RAG 开始。

一个典型 RAG demo 大概是这样的链路:上传文档、文档切分、向量化、检索相关片段、拼进 prompt,最后让 LLM 回答。

这套流程很有价值。它解决了大模型不知道企业内部知识、知识过期、回答容易幻觉的问题。

但真实工作流往往不只是"问一个问题,然后回答"。

以 OA 工时填报为例,用户真正想要的不是"请告诉我工时填报规则是什么?",而是一个完整任务:

帮我根据 Excel 工作计划,同步这个月的任务和工时。遇到重复日期要跳过,遇到缺失日期要列出来问我,不要处理预测任务,并且需要真实进入 OA 页面操作。

这时,RAG 只是其中一部分。

Agent 还需要:

  • 读取 Excel。
  • 理解任务规则。
  • 进入真实 Chrome 登录态。
  • 操作 OA 页面。
  • 判断哪些任务该跳过。
  • 遇到风险动作时请求确认。
  • 记录哪些任务创建成功、哪些失败。
  • 把用户纠正过的规则沉淀到下一次。

这已经不是一个普通 RAG demo 能覆盖的范围。

它需要一个更完整的运行层。

我把这个运行层称为:

Agent Knowledge Runtime。

二、什么是 Agent Knowledge Runtime?

我现在对它的定义是:

Agent Knowledge Runtime 是围绕 LLM 的工程运行层,它把文档知识、长期记忆、上下文组装、工具流程、权限审批和评测追踪组合起来,让 agent 能处理真实任务,而不只是回答问题。

这里有一个关键点:

LLM 本身不是完整 agent。

LLM 有很强的语言理解、推理、生成能力,但它默认不知道:

  • 我的项目规则是什么。
  • 我的 Excel 在哪里。
  • 我的 OA 系统怎么打开。
  • 哪些按钮可以点,哪些动作要先问我。
  • 上次我纠正过什么。
  • 这次执行是否成功。

所以真实 agent 系统要做的事情,不是把一个 prompt 写得越来越长,而是给 LLM 配一套外部运行系统:知识、记忆、上下文构建、工作流、工具、权限和评测观察。

这些能力组合起来,才会变成一个可用的 agent 系统。

如果说 LLM 是通用能力,那么 Agent Knowledge Runtime 就是在做三件事:

  1. 扩展

    让 LLM 能接触外部文档、表格、代码、浏览器、业务系统。

  2. 规范

    让 LLM 在权限、流程、审批、规则边界内做事。

  3. 塑造

    把通用 LLM 塑造成一个具体场景里的 agent,比如代码 agent、学习 agent、工时填报 agent、企业知识库 agent。

三、Agent Knowledge Runtime 的 6 个核心模块

我目前把 Agent Knowledge Runtime 拆成 6 个模块。

模块 作用
Document Ingestion 导入文档、代码、Excel、网页、对话摘要等外部信息
Knowledge Index 对知识进行切分、索引、检索、引用溯源
Memory Store 存储用户偏好、项目状态、长期上下文、候选记忆
Context Builder 组装本次要给 LLM 的上下文
Workflow Runtime 编排工具调用、审批、状态机、重试、handoff
Eval & Observability 记录 trace、失败案例、召回质量、执行结果

这 6 个模块不是为了造概念,而是为了描述一个真实 agent 系统必须处理的问题。

普通 RAG demo 主要覆盖的是文档导入、知识索引、上下文构建和 LLM 回答。

而 Agent Knowledge Runtime 还要处理记忆、工作流、工具、权限、审批、重试、Trace 和 Eval。

这就是"知识库问答"和"真实 agent 工作流"的区别。

四、LLM 在 Runtime 里到底是什么位置?

这里很容易误解。

LLM 不是 Agent Knowledge Runtime 里面的某一个普通模块。

更准确地说:

Runtime 编排和约束 LLM;LLM 在 Runtime 的多个阶段被调用。

比如:

阶段 LLM 可能做什么
Document Ingestion 摘要文档、抽取结构、生成 metadata
Knowledge Index query rewrite、chunk summary、语义标签
Memory Store 判断一段信息是否值得记忆、压缩 session summary
Context Builder 压缩上下文、合并证据、处理冲突
Workflow Runtime 判断下一步、选择工具、生成工具参数
Eval & Observability 判断回答是否忠实、分类失败原因、生成 failure case

而且这里的"LLM 能力"也不一定只有一个模型。

一个成熟系统里可能同时存在:

  • embedding model
  • rerank model
  • chat / reasoning model
  • vision model
  • eval model

所以更准确的架构不是"Runtime 里有一个 LLM 模块",而是:

Runtime 在不同阶段调用不同模型能力。

但也要注意,LLM 不应该替代所有确定性逻辑。

比如:

  • 权限过滤不应该交给 LLM 猜。
  • 幂等和事务不应该交给 LLM 临场发挥。
  • 审批边界不应该由 LLM 自己决定。
  • trace 不应该靠 LLM 事后脑补。

这些应该由工程系统明确控制。

五、用 codex-chrome-workflow-skill 对照这 6 个模块

回到我的 codex-chrome-workflow-skill

这个 Skill 的目标不是"让 AI 帮我点网页",而是让 Agent 在真实 Chrome 登录态下,按照沉淀好的规则完成企业后台流程。

它的流程大概是:
读取本地配置
读取 Excel 工作计划
过滤预测或计划任务
打开真实 Chrome OA 页面
查找或创建月度父任务
创建子任务
登记工时
检查同人同日重复
统计缺失日期
需要补填时先询问用户

如果放到 Agent Knowledge Runtime 的 6 个模块里,可以这样对应。

1. Document Ingestion:读取外部工作数据

在这个场景里,外部数据不是 PDF 或知识库文档,而是 Excel 工作计划。

Skill 里的辅助脚本会提取目标月份的任务行,包括:

  • 任务名称
  • 开始日期
  • 完成日期
  • 负责人
  • 审核人
  • 任务描述
  • 验收标准
  • 完成状态

这就是 Document Ingestion。

它把原本散落在 Excel 里的业务数据,变成 Agent 可以处理的结构化输入。

2. Knowledge Index:沉淀规则和检索依据

这个 Skill 里有很多规则:

  • 预测任务不提前处理。
  • 工作计划以后续具体文件为准。
  • 同人同日已填工时就跳过。
  • 缺失日期不能直接编内容。
  • 自动补填前必须询问用户。
  • 真实内部地址和人员信息只能保存在本地配置里。

这些规则本质上就是 knowledge。

它们不一定都要放进向量数据库。

有些规则更适合以 Skill instruction、配置、流程约束的方式存在。

所以 Knowledge Index 不一定只等于 vector database。它更广义地表示:

Agent 在执行任务时可以查询和遵守的规则、文档、案例和约束。

3. Memory Store:把纠正变成下一次的默认行为

这个实践里最重要的一点,是用户纠正不能只停留在一次对话里。

比如我纠正过:

  • 不要处理预测任务。
  • 缺失日期必须先问我。
  • 不要用隔离浏览器,要用真实 Chrome 插件。
  • 周末是否填报要看 Excel 来源数据。

如果这些纠正只存在于当前对话,下次还会重来一遍。

所以它们应该进入 Skill 或长期上下文。

这就是 Memory Store 的价值:

把一次纠错变成长期能力。

4. Context Builder:把本次任务所需信息组织好

当用户说"帮我同步 5 月工时"时,Agent 不能只把这句话丢给 LLM。

Context Builder 要组装本次执行所需的上下文:

  • 本地配置。
  • 目标月份。
  • Excel 提取结果。
  • OA 入口地址。
  • 项目、阶段、负责人、审核人。
  • 工作流规则。
  • 安全边界。
  • 历史纠正。
  • 当前页面状态。

这一步很关键。

LLM 生成下一步动作的质量,很大程度取决于 Context Builder 组织的信息是否完整、干净、边界清晰。

5. Workflow Runtime:真正让 Agent 做事

codex-chrome-workflow-skill 最明显的部分就是 Workflow Runtime。

它不是只回答问题,而是按步骤执行:读取配置、提取 Excel、打开 Chrome、登录或进入 OA、查找任务、创建任务、填写字段、登记工时、处理重复日期,并在遇到风险动作时暂停确认。

这里面有很多不是"知识问答"的问题,而是工作流问题:

  • 页面加载失败怎么办?
  • 找不到任务怎么办?
  • 同名任务已经存在怎么办?
  • 日期已经填过怎么办?
  • 缺失工时能不能自动补?

这些都属于 Workflow Runtime。

它包括状态机、重试、工具调用、浏览器操作、审批点和错误恢复。

6. Eval & Observability:不是做完就结束

一个可靠的 agent 工作流,不能只看"有没有跑完"。

它还要记录:

  • 创建了哪些任务。
  • 跳过了哪些任务。
  • 哪些日期已填过。
  • 哪些日期缺失。
  • 哪些页面加载失败。
  • 哪些动作需要用户确认。
  • 用户纠正了哪些规则。

这些信息用于两件事:

  1. 让用户知道这次执行是否可靠。
  2. 让下一次执行可以变得更好。

比如页面加载失败后等待 30 秒再刷新,这是 Workflow Runtime 的错误恢复。

而把这次失败记录下来、判断是否应该更新 Skill、下次是否要调整等待策略,就是 Eval & Observability。

六、Skill 到底算不算 Runtime 的一部分?

这个问题很重要。

我的判断是:

Skill 不是 Runtime 本身,但它可以成为 Runtime 的能力扩展单元。

如果 Skill 只是静态说明,它更像知识。

如果 Skill 定义了:

  • 什么时候触发。
  • 使用哪些工具。
  • 哪些动作必须确认。
  • 哪些异常如何处理。
  • 哪些规则应该长期遵守。

那它就不仅是文档,而是 workflow policy。

codex-chrome-workflow-skill 就属于这种情况。

它既包含知识,也包含流程,也包含安全边界。

所以它可以被看作 Agent Knowledge Runtime 的一个可插拔能力模块。

七、为什么这件事比"AI 自动填表"更重要?

如果只看表面,这个例子是在做 OA 工时填报。

但它背后真正有价值的是:

把一个依赖人工经验的重复流程,改造成可执行、可纠错、可沉淀、可演进的 agent workflow。

这和传统自动化脚本不一样。

传统脚本通常有几个特点:规则固定、输入固定、异常靠报错、维护靠改代码。

Agent workflow 更像一套可以演进的流程:规则可以逐步显性化,异常可以分类处理,用户可以实时纠偏,纠偏可以沉淀为下一次默认行为,执行过程也可以被记录和评估。

这也是我现在更关注 Agent Knowledge Runtime 的原因。

未来有价值的 agent,不只是"会回答问题",而是能进入真实工作现场,并在长期使用中持续吸收规则、修正流程、积累上下文。

八、从这个例子看 Codex 的定位

Codex 最初看起来是 coding agent。

但从这个实践看,它不只是写代码工具。

它已经具备一个更通用的任务 runtime 形态:LLM 加上系统规则、开发者规则、Skills、浏览器、Shell、文件系统、自动化、记忆上下文和审批边界,就可以形成一个个人工作流 agent runtime。

在代码场景里,它可以读仓库、改文件、跑测试、提交 PR。

在企业后台场景里,它可以读 Excel、进 Chrome、操作 OA、登记工时。

在学习场景里,它可以维护学习计划、记录进度、验收掌握度。

关键不在于 Codex 是不是"开发工具",而在于:

它能否被扩展成一个围绕真实任务运行的 agent runtime。

从这个角度看,codex-chrome-workflow-skill 是一个很好的样本。

它说明:只要有合适的工具入口、规则沉淀方式、上下文组织能力和安全边界,Codex 可以从 coding assistant 扩展成个人工作流 agent。

九、我现在对 Agent 开发的理解

以前我可能会把 agent 简单理解成 LLM + tools

现在我觉得这个说法太粗了。

现在我觉得这个说法太粗了。更准确的表达应该是:

能力 解决的问题
LLM 能力 理解、推理、生成
外部知识 知道真实业务和项目资料
长期记忆 记住偏好、状态和历史纠正
上下文构建 决定这次给模型什么
工具调用 进入真实系统执行动作
工作流控制 决定下一步该做什么
权限审批 控制哪些动作必须问人
失败恢复 页面失败、工具失败、流程中断时怎么处理
评测观察 判断做得对不对,以及下次怎么改

RAG 解决的是"知道什么"。

Memory 解决的是"记住什么"。

Context Builder 解决的是"这次该给模型什么"。

Workflow Runtime 解决的是"下一步该做什么"。

Tools 解决的是"怎么进入真实世界执行"。

Eval & Observability 解决的是"做得对不对,以及下次怎么变好"。

这些东西合在一起,才是一个真正可用的 agent 系统。

十、结语:真正值得沉淀的不是一次操作,而是一套运行能力

codex-chrome-workflow-skill 最初只是为了解决一个具体问题:

每个月不要再手工填 OA 工时。

但它最后沉淀出来的东西,不只是一个自动化脚本。

它沉淀的是:

  • 规则。
  • 边界。
  • 工具入口。
  • 异常处理。
  • 用户确认点。
  • 可复用 Skill。
  • 可继续演进的 workflow。

这就是 Agent Knowledge Runtime 的雏形。

未来我更想做的,不是让 AI 替我完成一次又一次孤立任务,而是把这些任务背后的知识、规则、记忆、工具和评测机制沉淀下来。

让每一次执行,都能让系统比上一次更成熟一点。

这可能才是 AI agent 真正改变个人工作方式的地方:

不是让 AI 临时替你做事,而是把你的工作经验逐步工程化成一个可运行、可复用、可进化的 agent 系统。

参考

  • 旧文:用 Codex Chrome 插件重构工作流:从 OA 工时填报到可复用 Skill 的自动化实践
  • codex-chrome-workflow-skill:Chrome-backed workflow automation skill
相关推荐
流离岁月3 小时前
trae运行java的main方法卡在加载插件进度条
ai·trae
叶子Talk3 小时前
xAI发布Grok Build,全球AI终端展深圳开幕:AI从云端走向终端
人工智能·ai·agent·xai·grok build·终端ai
养肥胖虎4 小时前
RAG学习笔记(2):关于rag和模型微调,同一个问题它们分别怎么处理
ai·微调·rag
渣渣苏5 小时前
怎么量化一个Agent的性能?
人工智能·ai·agent·智能体
多年小白5 小时前
【本周复盘】2026年5月11日-5月15日
人工智能·ai·金融·区块链
zyk_computer6 小时前
AI 时代,或许 Rust 比 Python 更合适
人工智能·后端·python·ai·rust·ai编程·vibe coding
kaixuan_dashen6 小时前
Codex使用DeepSeek API的方法(cc switch + codex bridge方案)
人工智能·codex·deepseek·cc switch·codex bridge
带刺的坐椅6 小时前
Java 流程编排新范式 Solon Flow:一个引擎,七种节点,覆盖规则/任务/工作流/AI 编排全场景
java·spring·ai·solon·flow
Bruce_Liuxiaowei8 小时前
AI攻防时间差:当漏洞发现速度碾压修复速度— 聚焦技术核心
网络·人工智能·网络安全·ai·系统安全