Agent 是带工具的人格——MateClaw 里一个 Agent 有什么
短版本是这样
一个 Agent 就是一个带工具的人格。多个 Agent 组成一支团队。
长一点的版本:一个 Agent 是一个名字,一段定义它怎么思考的 system prompt,一个真正在思考的模型,一组它被允许调用的工具,可选的知识库,可选的技能包,它自己的一份记忆,以及它处理难题的方式——一步一步反应式(ReAct)还是先写计划再执行(Plan-and-Execute)。
你可以有很多个 Agent。每一个都专门做一类事。你把不同的活交给不同的 Agent。
Agent 的组成要素
| 部分 | 是什么 |
|---|---|
| 名字 | 你和你的团队找它用的 |
| 图标 + 描述 | 一眼看懂它是干什么的 |
| System Prompt | 它的人格、规则、风格、优先级 |
| 类型 | react 或 plan_execute |
| 工具 | 它被允许调用的工具(来自内置工具、MCP、技能包) |
| 知识库 | 它可以读的 LLM Wiki |
| 工作空间记忆 | 它自己那一份 PROFILE.md、MEMORY.md、SOUL.md、AGENTS.md,以及每日笔记 |
| 最大迭代次数 | 强制收敛前允许走多少轮推理循环 |
| 启用开关 | 关掉它 |
注意一个没有的东西:模型
整个 MateClaw 部署里只有一个全局默认模型(Settings → Models 里设置),所有 Agent 在运行时用的都是它。Agent 行上那个 model_name 字段是历史遗留——被忽略。
这是刻意设计:换模型是整个部署一次点击的事,不是三十次。Agent 配置和工具图不关心底下的模型接口是什么。
为什么要多 Agent
单一 Agent 身上装所有工具、所有 prompt、所有知识——会变成一个什么都做但什么都不精的臃肿体。把不同的活拆给不同的 Agent:
- 研究助手:Plan-and-Execute,带 web search 和 Wiki 读取
- 代码助手:ReAct,带 shell 访问和文件读写
- 写作助手:ReAct,带 TTS 和图像生成
- 知识策展:Plan-and-Execute,Wiki 读写,长文输出调优
每个 Agent 的 system prompt 可以针对性收紧,工具权限也可以精确控制(代码助手不能调 shell 之外的敏感工具)。