17 分•作者: jaypatelani•20 天前
返回首页
最新
15 分•作者: geotp•20 天前
2 分•作者: gojkoa•20 天前
几天前偶然发现了一个非常有趣的东西,我想对于那些使用 Claude Code 运行动态工作流的人来说,这可能也很有趣。工作流脚本本身是 JavaScript。Claude Code 了解这种格式,并且可以创建一个工具来组合工作流,而不是每次都通过 LLM。
我实现了这一点,并且通过一些额外的调整,将工作流执行和监控的 token 消耗降低到了之前的约 20%,显著加快了速度(我们的大多数工作流以前需要 5-6 小时,现在只需要 20-40 分钟)。
我们让 Claude 分析了过去几周的工作流(工作流执行在磁盘上,位于 `~/.claude/projects`),并识别出它们之间的共同点。结果发现,实际上只有三种类型的工作流步骤,但以无数种临时的方式实现。
* **代码变更代理/实现者/工作者** - 负责执行计划中的任务;这些代理可以并行运行。
* **检查门控代理** - 负责评估实现者代理所做的工作,并处理不应并行执行的评估。
* **最终检查** - 负责部署、运行 API 测试等。
我还发现,Claude 可以从标准的“代理”(位于 `./claude/agents`)组合工作流,而无需每次都由 LLM 编写工作流代理的提示;因此,我要求它找出共同点/可变性,它编写了 3 个代理脚本,后来我们将其精简为两个:
* **workflow-worker** - 接收计划的一部分,并拥有非常严格的权限,只能为其计划/文件边界的自身部分编写和运行测试,不能修复其他代理可能正在做的事情,更不能运行整个测试套件。
* **workflow-gate** - 接收一组并行工作流代理的结果,根据 git 中的更改运行串行验证(例如,如果任何 www 文件发生更改,则运行 Web 测试;如果任何后端文件发生更改,则运行 API 测试等)。以前这需要每次都由 LLM 自定义编写,但我们将其移至一个带有两个目标的 Makefile,因此 `make workflow-serial-gate` 会检查 git 树并针对更改运行测试,`make workflow-final-gate` 会在所有内容上运行干净的测试,部署到暂存环境,并运行部署后测试。
由于可变性已移至 Makefile,这两个代理的定义都变成了标准的 100 行 Markdown,LLM 无需每次都编写。
接下来,由于代理定义已标准化,我们让 Claude 编写了一个工具,该工具可以读取计划文件中的步骤和依赖关系,并直接编写工作流 JavaScript。以前,对于复杂的计划,这可能需要 10 分钟才能返回结果,现在只需要一秒钟。
由于工作流代理的提示是静态的,并且只编写一次,因此在编写它们时不会消耗 token。由于哪些测试何时运行的整个编排都在 Makefile 中,并且基于 git 更改,因此在这方面也不会消耗 token。由于工作者代理接收计划和步骤编号,因此在告诉它们做什么时不会消耗 token(除了它们读取特定步骤,但这不可避免)。Token 几乎只消耗在创建计划、狭窄的实现任务和上下文修复问题上。
当一个命名代理作为工作流的一部分运行时,传递给预工具使用钩子的上下文包括代理的名称(例如,workflow-worker、workflow-gate),因此我们能够显著地限制它们。例如,workflow-worker 不允许运行 make 或整个测试套件,并会收到一条消息,指示将其委托给 gate 代理。
最终结果令人惊叹,工作流运行速度大大加快,消耗的 token 也比以前少得多。Claude 几乎独立完成了所有这些工作,因此我强烈建议您在运行动态工作流时尝试一下。如果有人感兴趣,我很乐意提供更多信息。
12 分•作者: cmrdporcupine•20 天前
95 分•作者: qznc•20 天前
1 分•作者: tosh•20 天前
1 分•作者: bookofjoe•20 天前
2 分•作者: mmazzarolo•20 天前
1 分•作者: kkkamur•20 天前
我想提高印地语检索的质量,特别是针对长文档(因为目前的架构并没有真正支持更长的上下文长度),并且很好奇我的 4090 能达到什么水平,哈哈 :)
所以我从头开始训练了一个以印地语为中心的 ModernBERT:
* 1.88 亿参数
* 约 285 亿印地语 token
* 8192 token 上下文,这是首批支持 8K 上下文的印地语编码器之一(直接有利于检索能力,而检索能力正是编码器模型所用于的)
* 1 块 RTX 4090 (24GB) 约 5 天的训练
经过 DPR 微调后,在我评估的印地语检索基准上,它达到了 SOTA(State-of-the-Art,当前最先进水平):
* mMARCO Hindi: 0.2825 nDCG@10
* MLDR Hindi: 0.2635 nDCG@10
MLDR 的结果尤其有趣,因为它评估的是长文档检索,在这种情况下 8K 上下文窗口可以得到实际应用。
它还实现了:
* Hindi NER: 0.8001 F1
* MASSIVE Hindi intent: 0.4731 Macro-F1
模型和评估详情:
[https://huggingface.co/kkkamur07/hindi-modernbert](https://huggingface.co/kkkamur07/hindi-modernbert)
[https://github.com/kkkamur07/indic-modernBERT](https://github.com/kkkamur07/indic-modernBERT)
我的目标是将此扩展到许多低资源语言,我将非常感谢您的反馈和合作机会 ;),以便我能进一步改进它。
1 分•作者: kyisaiah47•20 天前
1 分•作者: RickJWagner•20 天前
1 分•作者: birdculture•20 天前
1 分•作者: kuberwastaken•20 天前
1 分•作者: yenniejun111•20 天前
1 分•作者: everybodyknows•20 天前
7 分•作者: scastiel•20 天前
45 分•作者: captainmuon•20 天前
1 分•作者: TwoTrickPony•20 天前
1 分•作者: FranciscoCarlos•20 天前
我构建了这个小型项目作为概念验证,以了解在 3D 环境中与本地代理交互的乐趣程度以及延迟有多低。<p>欢迎任何反馈!
1 分•作者: Brajeshwar•20 天前