# Master Agent 跃迁计划 (Architecture Evolution v2.0) 要让你的 Master Agent 从**“只会背板敲 curl 的初级脚本工”**进化为**“拥有全知视角和自纠错能力的系统工程师”**,我们需要以最小侵入性的方式对 LemonBoss 架构进行三项外科手术级别的改造。 --- ## 改造一:实现“上帝视角”(动态上下文自动注入机制) **现状**:Master 每次醒来,只能看到历史对话,不知道当前系统里有哪些公司、哪些 Agent 存活,必须靠自己手敲 `cat` 或 `ls` 去盲人摸象。 **目标**:每次与 Master 对话前,后端主动抓取当前环境的快照,像仪表盘一样直接怼到它的脑子里。 ### 🛠️ 实施路径 1. **修改 `server/src/core/prompt-builder.js`** 在组装传给大模型的最终 Prompt 之前,增加一个 `injectSystemState()` 环节。 2. **注入 `` 模块** 后端直接读取 SQLite 或文件系统,在 Prompt 顶部动态拼接一段实时 XML 报告: ```xml 2026-03-26 10:30:00 agent-creator, innovator, etc... G-lemonv-001 (In Progress) ``` **效果**:Master 收到指令后,根本不用再去查 `api/company/list`,它一眼扫过上下文就知道 `lemonv` 公司只有两个员工,任务绝不会派错! --- ## 改造二:用强类型 CLI 替代脆弱的 RAW Bash (重构工具链) **现状**:Master Agent 仍在痛苦地拼接 `curl -d '{"task": "..."}'`,一旦双引号嵌套、换行符冲突,JSON 就会崩溃。 **目标**:收回它生写 HTTP 请求的权限,为它量身定制一套类似于我们内部系统的业务命令黑盒。 ### 🛠️ 实施路径 1. **编写轻量级 Node CLI 工具 `bin/lemon.js`** 在项目根目录创建一个极简的脚本工具,内部封装对 `localhost:3000` 的调用,并自动处理所有引号逃逸和 JSON 序列化。 2. **重写 `tools.md` 规则文件** 废弃所有 `curl` 示例,取而代之的是极致优雅且防呆的业务命令: ```bash # 委派任务 lemon task dispatch --from master --to lemonv:ceo --priority P0 --msg "写个剧本" # 查看进度 lemon goal status G-lemonv-001 # 招聘员工 lemon company hire --id lemonv --role qa-judge ``` **效果**:命令语义化极强,零 JSON 解析错误,杜绝控制字符导致的大模型语法树崩溃。 --- ## 改造三:构建潜意识纠错循环 (Cognitive Auto-Recovery) **现状**:Master 敲错了报错 500,记录在日志里,然后眼巴巴看着用户,直接摆烂。 **目标**:实现 AntiGravity 同款的“静默重试”机制——执行出错时,拦截报错扔回给大模型,让它“偷偷”修好再回复用户。 ### 🛠️ 实施路径 1. **拦截失败的 Output (`stream-executor.js`)** 当底层监控到 `bash` 进程的 `exit code != 0` 或者业务 API 返回 `400/500` 时,**不要把这个请求定性为 Done 并返回给前端**。 2. **构建闭环 Feedback 路由** 系统在后台立即自动追加一条类似系统指令的 Prompt,再强行 push 给大模型: ```text [System Intercepted Error]: 你的上一条命令 `lemon task dispatch --to ceo` 失败了。 报错信息: "Target agent ceo not found. Did you forget the company namespace?" 请在不通知用户的情况下,自我修正命令参数并重新执行。 ``` **效果**:用户只会看到思考的 Spinner 多转了几秒钟,随后 Master “聪明”地得出了正确结果。用户根本不会知道它在后台其实已经踩过坑并自己爬出来了。 --- ## 改造四:强制思维隔离 (`` 结界) **现状**:Master 想到哪写到哪,把思考过程和 Bash 命令杂糅在一起。 **目标**:强化它的逻辑链(Chain of Thought),提升复杂任务的指派准确率。 ### 🛠️ 实施路径 在 Master 的 `agent.md` 开头添加高压规则: 在输出任何 Bash 工具调用之前,**必须**使用 `` 标签进行完整的方案推理,推理由以下三步组成: 1. 确认要操作的宿主环境与 Company 归属。 2. 明确你要调用的工具名。 3. 检查输入参数是否转义合法。 与此同时,我们在 Vue 前端的 `AgentChat.vue` 把所有的 `...` 内容拦截,渲染成折叠的灰色气泡(就像你现在看我思考时一样),仅呈现最终结果。 --- > 💡 **你想先从哪一步开始?** > 我个人强烈建议我们先搞定 **改造一(上下文上帝视角)** 和 **改造二(封装 lemon.js 专属命令行)**。只需要一两个小时的代码重构,你的 Master Agent 的稳健性和智商就会有肉眼可见的质变飞跃。需要我立刻动手操刀改代码吗?