• 简体中文
  • v6.5.2
  • agents/ 角色目录

    agents/ 目录存放 worker/subagent 定义。推荐使用 .a3s/agents/ 作为 A3S 原生位置;迁移项目可以继续读取 .claude/agents/,但新文档和新项目应优先使用 .a3s/agents/

    Text
    repo/
    └── .a3s/
    └── agents/
    ├── explorer.md
    ├── security-reviewer.md
    └── verification-runner.md

    这些文件不是主 Agent 目录。它们会被 taskparallel_tasksession.task(...)session.tasks(...)autoDelegation 调用,父 session 仍负责最终汇总、验证和权限边界。

    智能体文件格式

    Markdown
    ---
    name: security-reviewer
    description: Use for permission, secret, and external side-effect review
    tools: Read, Grep, Glob, Bash(rg *)
    disallowedTools:
    - Write
    - Bash(git push *)
    ---
    Review security risks first. Return blockers, evidence paths, and required verification.

    name 是调用名,description 决定自动委派时是否匹配,正文是该 worker 的角色说明。工具字段收窄 worker 可见能力;不要依赖 worker 自己“承诺不做危险事”。

    手动委派

    TypeScript
    const session = agent.session('/repo', {
    agentDirs: ['./.a3s/agents'],
    maxParallelTasks: 4,
    });
    await session.task({
    agent: 'security-reviewer',
    description: 'Review release side effects',
    prompt: 'Check changed auth, permission, and external API paths.',
    });

    固定流程更适合手动委派或可编程编排;自动委派适合“父 Agent 读到目标后自行选择专家”的场景。

    自动委派

    TypeScript
    const session = agent.session('/repo', {
    agentDirs: ['./.a3s/agents'],
    autoDelegation: { enabled: true, minConfidence: 0.72, maxTasks: 4 },
    });

    自动委派依赖 agent 描述和置信度评分。写 description 时要说清楚“何时使用”,而不是只写角色口号。

    最佳实践

    • 一个文件只做一个角色,避免“万能 reviewer”。
    • description 面向路由,正文面向执行。
    • worker 输出应包含证据、风险和建议下一步,方便父 session 汇总。
    • 高权限动作留给父 session 或显式工具,不要让子 Agent 默认获得发布、删除、推送权限。
    • 需要动态创建的一次性 worker,用 workerAgentsregisterWorkerAgent(),不用落盘。