在工作流水线中执行 Claude AI CLI 要求的子代理

发布: (2026年3月20日 GMT+8 02:40)
9 分钟阅读
原文: Dev.to

抱歉,我需要您提供要翻译的具体文本内容(除 > Source: 行之外),才能为您进行翻译。请把文章的正文粘贴在这里,我会按照要求保留链接、格式和代码块进行简体中文翻译。

TL;DR

我构建了 uctm(Universal Claude Task Manager)——一个 npm 包,可在 Claude Code 中安装六个专用子代理。
你只需输入一个请求,它就会自动 计划构建验证提交——全部通过结构化的 XML 消息完成。

npm install -g uctm
cd your‑project && uctm init
claude
# Type: [new-feature] Add user authentication with JWT
# → Pipeline runs automatically

GitHub: UCJung/uc-taskmanager-claude-agentnpm: uctm

问题

Claude Code 功能强大,但当你让它构建复杂的东西时,它会尝试一次性完成所有工作。

  • 简单任务 → 没问题。
  • 多文件项目、相互依赖的组件或完善的测试 → 输出变得混乱、占用大量令牌,且难以推理。

我希望有一个系统能够实现:

目标为什么重要
将复杂任务拆分为可管理的部分保持每一步聚焦且可测试
每个部分单独构建、测试并提交逐步保证正确性
随着任务堆积,上下文不会膨胀节省令牌并降低幻觉
零外部运行时依赖纯提示、可移植的解决方案

架构 – 6 个代理,1 条流水线

User Request

Main Claude (orchestrator)

   ├─ router      → decides execution mode
   ├─ planner     → decomposes request into TASKs (DAG)
   ├─ scheduler   → manages DAG, dispatches ready TASKs
   ├─ builder     → writes the actual code
   ├─ verifier    → runs tests / lint / acceptance checks
   └─ committer   → writes result report & git commits

关键约束:Claude Code 子代理 不能调用其他子代理
因此 主 Claude(CLI 终端)充当编排器,依次调用每个代理并在它们之间传递消息。

并非每个请求都需要全部六个代理——router 决定使用哪一子集。

执行模式

模式何时会发生什么
direct简单更改,无需测试Router 单独处理所有事务
pipeline需要测试,单一域router → builder → verifier → committer
full复杂,多文件,存在依赖包含所有 6 个代理并进行 DAG 管理

结构化 XML 消息

与自由文本不同,uctm 使用 XML —— 可解析、可验证且节省 token。
每个代理都清楚地知道应期待什么以及应返回什么。

Dispatch (router → builder)

<dispatch>
  <project>my-app</project>
  <language>ko</language>
  <planPath>works/WORK-05/PLAN.md</planPath>

  <task>
    <path>works/WORK-05/TASK-00.md</path>
    <title>Add JWT authentication middleware</title>
    <type>implement</type>
    <description>Create auth middleware with token validation...</description>
  </task>
</dispatch>

Result (builder → verifier)

<result>
  <summary>JWT auth middleware implemented</summary>

  <details>
    <component>JWT verification middleware</component>
    <tests>12 test cases for auth flows</tests>
    <outcome>12/12 passed</outcome>
  </details>

  <metadata>
    <description>Auth middleware with JWT validation</description>
    <libraries>Used jsonwebtoken for RS256 support</libraries>
    <env>Requires JWT_SECRET env variable</env>
    <notes>None</notes>
  </metadata>
</result>

为什么使用 XML?

  • 可解析 – 每个代理都能精确提取所需信息。
  • 可验证 – 通过模式约束,能够提前捕获格式错误的消息。
  • 节省 token – 没有多余的冗余,只包含必需字段。

Source:

滑动窗口上下文交接

在多任务流水线中,朴素的做法是传递每个先前任务的完整历史,这会导致 token 膨胀。
uctm 根据与当前任务的距离限制传递的内容:

与当前任务的距离细节级别传递内容(≈ token 数)
前一个 TASK (1)FULLwhat + why + caution + incomplete(约 150)
2 个任务前SUMMARYwhat(约 50)
3 + 任务前DROP什么也不传(0)

因此,无论已完成多少任务,上下文大小大致保持在 200 token 左右。

示例

TASK-00 → TASK-01 → TASK-02 → TASK-03

TASK‑03 的构建器接收:

来源细节级别负载
TASK‑02FULLwhat / why / caution / incomplete
TASK‑01SUMMARY仅 what
TASK‑00DROP(无)

在一个包含 10 个任务的工作流中,这相比于朴素地传递全部信息可节省 ≈ 75 000 token

真实世界流水线运行(计算器示例)

请求: “创建一个具有加、减、乘、除功能的简单计算器。”

步骤输入输出
Router[new-feature] 创建 calc.js,包含 4 个算术函数execution-mode=pipeline + dispatch XML + PLAN.md + TASK-00.md
Builder来自 Router 的 dispatch XML“task-resultXML(创建calc.jscalc.test.js`)
VerifierBuilder 的 task-result XML重新运行所有 8 个测试,检查接受标准 → ALL PASS
CommitterBuilder + verifier 的结果写入 TASK-00_result.md,创建 git 提交 feat(TASK-00): calc.js ESM module,返回提交哈希

指标: 136 K 令牌,96 次工具调用,344 秒运行时间。所有代理间消息均遵循 XML 规范。

Specification‑Driven Development (SDD) 哲学

  1. 需求 → 架构 → 设计 才是真正的资产。
  2. 规范文档定义:
    • XML 架构
    • 上下文交接规则
    • 流水线行为
  3. 代理是普通的 .md 文件 – 纯提示定义。
  4. 零运行时代码,零依赖 → 完全可移植。

这能为你提供的价值

属性好处
可移植在任何项目中运行 uctm init 后即可使用
可定制编辑 .agent/router_rule_config.json 以调节模式选择规则
透明每个 WORK 都是一系列可读的 markdown 与 XML 文件
确定性没有隐藏逻辑;行为由规范本身驱动

Quick Start Recap

npm install -g uctm          # install the CLI globally
cd my-project && uctm init   # bootstrap the six agents
claude                       # start Claude Code
# Example request:
#   [new-feature] Add user authentication with JWT
# → uctm automatically runs the appropriate pipeline

现在,您拥有一个 自包含、令牌高效、测试驱动的流水线,它让 Claude Code 能够处理从单行代码到完整多模块特性的任何任务,而不会导致上下文爆炸。

概述

uctm (UC Task Manager) 生成 PLAN.mdTASK 文件、进度跟踪和结果报告。

安装

npm install -g uctm

快速入门

# Move to your project folder
cd your-project

# Initialise uctm in the project
uctm init

运行 Claude Code(绕过模式,以实现不中断的流水线)

claude --dangerously-skip-permissions

使用标签请求触发流水线

# [new-feature] Add a REST API for user management
# [bugfix]      Fix the race condition in data loader
# [enhancement] Improve search query performance

uctm init 的作用

  • 将 12 个代理 .md 文件复制到 .claude/agents/
  • 创建 .agent/router_rule_config.json
  • 将代理调用规则追加到 CLAUDE.md
  • WORK 文件创建 works/ 目录

路线图亮点

  • MCP Server Integration (Phase 2 完成, Phase 3 计划中) – 用于外部工具集成的 HTTP 传输
  • Multi‑project orchestration – 在依赖的代码库之间运行流水线
  • Dashboard visualization – 实时流水线监控

为什么尝试 uctm

如果你使用 Claude Code 并管理复杂的多文件任务,uctm 可以简化你的工作流程。它是:

  • 免费开源
  • 安装仅需 ≈30 秒

GitHub: UCJung/uc-taskmanager-claude-agentnpm: uctm

支持

  • 在 GitHub 上打开 issue
  • 在 Discord 上联系维护者
0 浏览
Back to Blog

相关文章

阅读更多 »