ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Maka Agent 的 Agent Team 协作机制怎么运作?角色、邮箱与任务账本完整详解

Maka Agent 的 Agent Team 协作机制怎么运作?角色、邮箱与任务账本完整详解 Maka Agent 的 Agent Team 协作机制怎么运作角色、邮箱与任务账本完整详解【免费下载链接】makaApache Maka (Incubating) is a local-first AI agent workspace. Model messages, tool calls, tool results, permission decisions, and termination events are recorded as an append-only log.项目地址: https://gitcode.com/GitHub_Trending/mak/makaMakaApache Maka Incubating是一个本地优先的 AI Agent 工作区它把模型消息、工具调用、权限决策和终止事件全部记录为只追加的日志。当你让 Maka 处理一个需要拆分的复杂任务时它的Agent Team 协作机制会让主 Agent 化身监督者把独立子任务并行派发给不同的专家 Agent再异步汇总结果——本文用通俗的方式讲清楚它的角色分工、通信机制与任务账本。什么是 Agent Team 协作模式一键开启 Swarm在 Maka 里Agent Team 协作是一种编排模式Swarm Mode而不是某个单一工具。开启方式非常简单——在会话里输入/swarm on主 Agent 就会被指示凡是请求可以拆成独立工作的就优先用持久的异步 Agent 图Agent Graph来跑并且异步监督而不是自己阻塞等待。命令效果/swarm on将会话切换为 Swarm 协作模式/swarm off切回默认模式/swarm status查看当前模式/swarm 任务只对这一条任务临时启用协作开启后会发生四件事主 Agent 的提示词里追加协作守则agent_list、update_agent_graph、yield_agent_graph、agent_swarm_status等监督工具被强制加入工具目录授权原因被持久记录以及一套何时唤醒主 Agent的检查点策略生效。相关实现见 agent-swarm.ts 与 swarm-command.ts。角色分工监督者主 Agent 窄权限专家 AgentMaka 的 Agent Team 不是人人平等的群聊而是清晰的星型分工主 AgentSupervisor留在根会话里负责拆任务、调度、验收和最终综合。它不亲自干重活而是看进度、下指令。专家子 Agent每个子任务由一个独立的子会话Child Session承接拥有自己的上下文窗口、工具范围和权限天花板。内置专家预设包括Local Read只带 Read/Glob/Grep 三个只读工具负责仓库探索Web Research只带 WebSearch 工具负责联网调研Implementation在隔离 worktree 中改代码完成后以补丁形式回传。这里有个值得新手注意的设计角色的边界不是靠提示词自觉而是靠工具白名单物理限制。一个只读 Agent 根本没有写文件的工具想越权也做不到。每个角色的定义名称、工具列表、权限模式、系统提示词集中在 agent-catalog.ts 中你可以逐行读到Local Read只被允许Read、Glob、Grep三个工具。没有邮箱轮询Maka 用检查点唤醒代替信箱很多多智能体系统让成员通过邮箱Mailbox互相发信、不停轮询。Maka 选择了更省电的路子——主 Agent 干完调度就挂起由宿主在关键检查点唤醒它主 Agent 用update_agent_graph一次性把所有独立子任务排入图然后调用yield_agent_graph交出控制权——不轮询、不 sleep、不盯子 Agent 日志宿主Runtime Host的 SQLite 控制面持续跟踪每个子任务的准入admission与状态只有当 Swarm 首次到达全部结束settled或阻塞/失败/中止的任务集合发生变化时才会生成一次持久的监督者唤醒Supervisor Wake启动一轮新的根会话回合被唤醒后主 Agent 调用agent_swarm_status拿到一份紧凑的状态快照总数、各状态计数、每个子任务的 workId 与失败原因而不是完整输出。子 Agent 的真正输出始终留在权威的 Runtime 账本里主 Agent 只按需通过agent_outputviewresult去读某个已完成或失败的子结果。这正是大扇出一次派 10 个子任务也不会撑爆主 Agent 上下文的原因。这个只回指针、不回 payload的设计在 agent-swarm-status-tool.ts 中一目了然。任务账本Task Ledger给每个工作项发一本账如果 Agent 图负责谁在跑那么任务账本负责账面上记着什么。Maka 的会话级任务账本提供四个模型可见工具task_create、task_update、task_list、task_get配合事件流task-events.jsonl与快照tasks.json做持久化。它的几个核心规则对理解协作质量很关键双标识符每个任务有一个永不改写的 UUID 主键id外加一个会话内短引用key如T1、T1.1提示词和 UI 里只展示短 key可读性好严格的六态生命周期pending → in_progress → blocked/completed/failed/cancelled且进入blocked必须给出阻塞原因、进入completed必须附完成证据completionEvidence——没有证据不能自称完成子 Agent 认领制主 Agent 用agent_spawn(task_id...)把任务派给子 Agent 时任务才会被真正认领并置为进行中且记录child_agent属主子 Agent 成功并不等于任务完成主 Agent 必须亲自验收并补充证据才能关掉这一账。这从机制上杜绝了子 Agent 说做完了就算完了的幻觉提示词预算控制每轮注入的任务尾注上限约 8000 字符优先渲染进行中/待办/阻塞分支超出部分让模型自己用task_list查询终态任务 7 天后逻辑归档存储永不删除append-only。桌面端的任务面板就是这份账本的直接投影你可以在 task-ledger-panel.tsx 看到渲染逻辑在 session-task-ledger-lifecycle.md 读到完整契约。一次完整协作长什么样把上面三块拼起来一个典型的/swarm回合是这样的用户/swarm on接着说审查这三个包并给出具体证据主 Agent 调用agent_list看可用专家再用update_agent_graph一次性把 3 个独立审查子任务排入图各配一个reviewer预设然后yield_agent_graph挂起三个子会话并行执行各自的 RuntimeEvent 持续落账其中一个失败 → 触发唤醒。主 Agent 醒来agent_swarm_status显示2 完成、1 失败只对失败项读agent_output定位原因再用replaces失败工作ID换一个新工作顶上继续挂起全部 settled 后再次唤醒主 Agent 逐个读取完成结果去重、验证、综合最后显式finish收图并给用户一份合并报告。整个过程里主 Agent 只在有值得注意的状态变化时才被叫醒其余时间系统在后台安静运转——这就是异步监督的含义。小结如何上手探索源码想读协作模式的完整规则提示词、保证的工具集、唤醒条件agent-swarm.md想改角色/预设定义agent-catalog.ts想理解唤醒与状态投影agent-graph-supervisor-wake.ts、agent-swarm-status-tool.ts想深入任务账本契约task-ledger.ts、session-task-ledger-lifecycle.md一句话总结Maka 的 Agent Team 窄权限的专家角色工具白名单划边界检查点唤醒代替邮箱轮询监督者异步接管带证据要求的任务账本子 Agent 成功≠任务完成。三者叠加让多智能体协作既并行又可控也完全落在本地只追加的账本之上可审计、可恢复。【免费下载链接】makaApache Maka (Incubating) is a local-first AI agent workspace. Model messages, tool calls, tool results, permission decisions, and termination events are recorded as an append-only log.项目地址: https://gitcode.com/GitHub_Trending/mak/maka创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表