ARTICLE DETAIL

资讯详情

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

Rakazo 机器人如何工作:Pi 代理循环、工具调用与流式响应完整解析

Rakazo 机器人如何工作:Pi 代理循环、工具调用与流式响应完整解析 Rakazo 机器人如何工作Pi 代理循环、工具调用与流式响应完整解析【免费下载链接】rakazoOpen-source Grok Bot alternative. Choose your own model and sandbox.项目地址: https://gitcode.com/gh_mirrors/ra/rakazoRakazo 是一个开源的 Grok Bot 替代品——你只需自带模型和沙箱就能运行真正持久化的 AI 队友。本文将带你深入 Rakazo 机器人内部完整解析它的三大核心机制Pi 代理循环如何驱动思考、工具调用如何让机器人动手干活以及流式响应如何把结果逐字推送到你的屏幕上。无需任何框架基础读完你就能看懂一条消息从发出到回复的完整旅程。一条消息的完整旅程先建立整体认知在 Rakazo 里每个机器人Bot都是独立的持久化实体拥有自己的对话、记忆、例行任务和历史。当你发出一条消息后系统会经历这样一条流水线API 层接收消息创建一次运行Run**执行器Executor**组装上下文系统提示词、历史消息、可用工具清单、模型凭据Pi 代理运行时接管进入思考 → 调用工具 → 观察结果 → 再思考的循环流式事件一路向前端推送机器人边想边说边做。整个链路的代码主要集中在 packages/adapters/src/ 目录下其中 executor.ts 负责运行编排pi-runtime.ts 则是代理循环的心脏。Pi 代理循环机器人如何思考Pi 是 Rakazo 选用的模型接入层栈中写作 PiRakazo 通过earendil-works/pi-agent-core构建了一个标准 Agent。它的初始化非常直白指定模型、系统提示词、工具列表和历史消息代理循环就自动开始了——模型输出文本就继续流式转发输出工具调用就执行工具直到模型给出纯文本的最终回答。核心初始化逻辑在 pi-runtime.tsagent new Agent({ sessionId: conversationSessionId(request.threadId, request.botId), initialState: { systemPrompt, model: completionModel, tools, messages: history }, });几个值得新手注意的设计细节系统提示词按能力自适应️如果机器人拥有电脑提示词会自动强调使用computer_observe和computer_act观察桌面、操作浏览器否则只声明你有持久沙箱和 shell保持简洁。推理强度自动匹配推理型模型reasoning会启用 medium 思考级别普通模型则关闭避免无效开销见 pi-runtime.ts。中途转向Steering代理循环支持在运行中注入新的用户消息让你在机器人干活到一半时随时补充指令无需打断重来。静默续跑保护部分 OpenAI 兼容模型在收到工具结果后会提前收工Rakazo 内置了最多 3 次内部追问MAX_SILENT_TOOL_CONTINUATIONS确保长任务不会在一步工具调用后就草草结束。工具调用机器人如何动手光会聊天不够Rakazo 机器人的真正威力来自工具。所有内建工具定义集中在 builtin-tools.ts覆盖面相当广类别代表工具能做什么️ 电脑操作computer_observe、computer_act截图观察桌面、点击键盘操作任意应用 浏览器browser_navigate、browser_snapshot、browser_act打开网页、抓取页面结构、模拟交互 文件与终端read_file、write_file、shell在沙箱里读写文件、执行命令 记忆save_memory、recall_memory、remember跨对话记住你的偏好和项目背景 协作run_subagent、message_bot派生子代理或向同级机器人发消息 交互ask_user、request_secret主动向用户提问、索取凭据工具执行一次调用背后发生了什么当模型发起工具调用时Pi 运行时的执行回调会做四件事pi-runtime.ts生成一个executionId向事件队列推送tool事件——前端立刻显示正在执行 xx将调用交给执行器的executeTool后者会做审批判断高危操作会触发暂停等待你点允许才继续子代理类工具走专门的executeSubagent最多 4 个并行MAX_PARALLEL_SUBAGENTS 4且不允许再嵌套防止失控工具结果回传给模型循环进入下一轮。此外还有一个熔断器通过环境变量MAX_TOOL_CALLS_PER_TURN可限制单轮工具调用次数自托管用户用它防止机器人陷入死循环烧 Tokenpi-runtime.ts。流式响应逐字呈现的实时反馈你不会愿意盯着空白屏幕等三分钟。Rakazo 的流式机制把模型的每一口输出都变成即时事件。订阅逻辑在 pi-runtime.tstext_delta模型的每个文字增量立刻作为text事件推入队列实现打字机效果tool_execution_start工具开始执行时推送progress事件显示人话版描述比如正在读取文件 xx而不是干巴巴的working…message_end每条消息落定时记录会话并统计 Token 用量usage事件账单透明可查。一个精妙的细节工具活动提示和正文文本会互相替换——一旦模型开始输出真实文字正在执行的提示行就自动消失界面始终干净。前端拿到这些事件流后Web 端、桌面端Electron和移动端Expo渲染完全一致因为它们消费的是同一套 API。快速上手运行你自己的 Rakazo 机器人想亲手验证以上机制本地开发环境只需四步git clone https://gitcode.com/gh_mirrors/ra/rakazo cd rakazo cp .env.example .env # 设置 POSTGRES_PASSWORD 与各项密钥 pnpm install pnpm db:generate pnpm db:migrate pnpm sandbox:build pnpm dev打开http://127.0.0.1:5173创建账号、连接模型支持 OpenRouter、OpenAI 兼容接口、Anthropic 等甚至本地模型然后创建你的第一个机器人。完整的部署方案、受限网络处理和云沙箱E2B、Daytona、Box 等配置见官方文档 docs/self-host.md。小结三大机制一句话回顾Pi 代理循环标准思考—行动—观察循环附带自适应提示词、中途转向和静默续跑保护工具调用从桌面操作到子代理协作审批与熔断器双重把关安全可控流式响应文字增量、工具进度、用量统计全部实时推送三端体验一致。如果你想继续深挖建议按这个顺序读源码executor.ts运行编排与审批→ pi-runtime.ts循环与流式事件→ builtin-tools.ts全部工具定义。这正是理解开源 AI 代理架构的一条极佳路径。✨【免费下载链接】rakazoOpen-source Grok Bot alternative. Choose your own model and sandbox.项目地址: https://gitcode.com/gh_mirrors/ra/rakazo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表