hello-world
123456789101112131415title: hello-worlddate: 2020-05-28 22:31:46tags: - 教程 - Hexo - 主題 - butterflycategories: Docs文檔keywords: 'hexo,butterfly,主題,doc,教程,文檔'description: Butterfly安裝文檔-快速開始cover: https://oss.012700.xyz/butterfly/2024/09/butterfly-docs-01-cover.pngabbrlink: 21cfbf15sticky: 100comments: falseseries: docs Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshootin...
AgentScope 2.0 深度解析:从架构到实战
AgentScope 2.0 深度解析:从架构到实战 本文基于 AgentScope 2.0.9 源码与官方文档,结合实际代码探索,带你从顶层到底层理解这款生产级智能体框架。 一、AgentScope 2.0 是什么?AgentScope 2.0 是阿里巴巴通义实验室开发的生产级智能体框架,将多租户、多会话管理和分布式部署作为一等公民原生支持。 四个关键词概括其设计理念: 安全:工具审计 + 人机协同(Human-in-the-Loop)权限系统 + 沙箱隔离,三位一体 高效:工具并发/顺序智能调度,保证正确性前提下大幅提升执行效率 灵活:智能体与工具双重中间件,无需修改核心逻辑即可定制运行时行为 完备:从轻量级 UI、SDK 到多租户后端及分布式部署的完整工具链 ⚠️ AgentScope 2.0 是一次全面重构,官方提供了更新日志供参考。 二、全景架构123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555...
AutoGen框架详解
从零到一搞懂 AutoGen:多智能体协作框架完整拆解 环境:Windows 11 + Python 3.14 + autogen-agentchat 0.7.5(文中所有 API 均在本地实测验证)。 目录 一、AutoGen 是什么 二、三层架构:先建立地图 三、环境搭建(含真实踩坑) 四、核心概念逐个击破 4.1 模型客户端 ModelClient 4.2 消息与事件体系 4.3 智能体 Agent 4.4 团队 Team:五种协作模式 4.5 终止条件 Termination 4.6 工具 Tools 4.7 运行与可视化:run / run_stream / Console 五、实战拆解:软件开发团队案例 六、两个进阶实验(附真实运行结果) 七、踩坑记录 八、进阶主题速览 九、学习路线建议 参考资料 一、AutoGen 是什么AutoGen 是微软开源的多智能体(Multi-Agent)框架,核心思想一句话: 把多个”有人设的 LLM”放进一个聊天室里,让它们通过对话协作完成复杂任务。 版本警告(重要):AutoGen 有两个完全不同...
从零构建 Reflection 智能体:让大模型学会"自我批判"
从零构建 Reflection 智能体:让大模型学会”自我批判”为什么需要 Reflection?我们之前构建的两种范式有一个共同点:一次执行,流程即终。 ReAct 完成任务后直接输出答案,行动轨迹中即使有错误也不回头修正; Plan-and-Solve 按蓝图施工完毕即收工,即使中间某步算错了,最终答案也会带着错误交付。 可人类的解题过程从来不是这样:写完作文要校对,解完数学题要验算,写完代码要Review。我们完成”初稿”之后,总会退后一步审视它——这就是反思。 2023 年,Shinn, Noah 等人提出的 Reflexion 框架[1] 正是把这一人类本能固化成了智能体的运行机制。其核心思想一句话概括: 为智能体引入一个事后的(post-hoc)自我校正循环,让它像评审员一样审视自己的输出,并据此迭代优化。 1234flowchart LR A["ReAct / Plan-and-Solve<br/>一次性输出,无回头路"] -->|"存在谬误或改进空间"| B["Reflection&...
从零构建 Plan-and-Solve 智能体:让大模型学会"谋定而后动"
从零构建 Plan-and-Solve 智能体:让大模型学会”谋定而后动”为什么需要 Plan-and-Solve?在上一篇文章中,我们构建了 ReAct 范式:让模型边想边做,通过 Thought → Action → Observation 循环动态调整行动。它像一个经验丰富的侦探,根据现场线索一步步推理,随时修正调查方向。 但 ReAct 并非万能的。它的核心弱点是短视——每一步只基于当前观察做局部决策,缺乏对全局路径的掌控。当我们把 ReAct 应用在多步骤、长链条的复杂任务上时,模型很容易偏离轨道:前几步还算顺利,走到中间就忘了最终目标,或者被无关信息带偏。 这个问题在更早的 Chain-of-Thought(思维链) 范式中同样存在:模型虽然能一步步推理,但每一步都在”自由发挥”,没有一份事先确定好的行动蓝图。 2023 年,Lei Wang 提出了 Plan-and-Solve Prompting,用一句话概括其核心思想: 不要边想边做,而是先想清楚”怎么做”,再动手去做。 如果说 ReAct 是侦探,那么 Plan-and-Solve 更像一位建筑师:动工之前...
从零构建 ReAct 智能体:让大模型学会"边想边做"
从零构建 ReAct 智能体:让大模型学会”边想边做” 本文改编自《Hello Agents》第四章”智能体经典范式构建”中的 ReAct 部分。在保留核心技术细节的基础上,对内容进行了重新组织和润色,使其更适合作为一篇独立的技术博客来阅读。 为什么需要 ReAct?大语言模型(LLM)已经很强大了,但它有两个绕不开的短板:知识有截止日期,且无法主动与外部世界交互。你问它”华为最新款手机是什么”,它要么承认不知道,要么凭记忆编一个——也就是我们常说的”幻觉”。 在 ReAct 诞生之前,业界尝试过两条路线: 纯思考型(如 Chain-of-Thought 思维链):让模型一步步推理,逻辑能力强,但”闭门造车”,无法获取外部信息,容易产生事实性幻觉。 纯行动型:模型直接输出要执行的动作,但没有规划,也没有纠错能力,像一个没有大脑的执行器。 2022 年,Shunyu Yao 提出了 ReAct (Reason + Act) 范式[1],核心思想非常朴素却有效:模仿人类解决问题的方式,把”思考”和”行动”显式地结合起来。 人类解决陌生问题时的典型过程是这样的:先想一下”我需要查...
07 · 分布式与可观测性-chord-server-client-telemetry
07 — 分布式与可观测性 (chord, server, client, telemetry)问题当 Agent 需要以 client-server 模式运行(例如远程会话、多 worker 并行)时,需要: 一个服务组合运行时来管理多个服务及其依赖 一个 client-server 协议实现来传输消息 一个可观测性系统来追踪跨进程的请求 Pi 将这些放在 chord、server、client、telemetry 四个包中。这些目前是实验性的(受 PI_EXPERIMENTAL=1 环境变量控制),但设计成熟。 第一部分:chord — 应用组合运行时packages/chord/src/ 核心概念 概念 说明 Facet 一个模块,声明它提供和消费的服务 Service 类型化的服务契约(singleton 或 keyed 模式) ReplicatedState 可变复制状态,跨进程同步 FacetHost 管理一组 facet 的激活、热重载 Facet 模型packages/chord/src/facets/host.ts(~32K) 一个...
06 · 终端UI-pi-tui
06 — 终端 UI (pi-tui)问题在终端中渲染一个交互式 Agent 界面面临几个挑战: 终端是顺序输出的设备,如何实现”局部更新”(只刷新变化的部分)? 如何处理复杂的键盘输入(组合键、修饰键、按键释放)? 如何渲染 Markdown、代码高亮、diff、图片? 如何让 UI 组件可组合且高效? pi-tui 是一个独立的终端 UI 库,解决了这些问题。 渲染架构差分渲染pi-tui 的核心渲染策略是差分渲染(differential rendering): 12345678910Frame N (当前屏幕) Frame N+1 (新屏幕)┌──────────────┐ ┌──────────────┐│ Hello World │ │ Hello Pi ││ > _ │ │ > typing_ │└──────────────┘ └──────────────┘ │ ...
04 · 会话持久化-pi-protocol与session-backends
04 — 会话持久化 (pi-protocol 与 session-backends)问题Agent 的对话状态(消息、工具结果、用量统计)需要持久化,以支持: 进程重启后恢复对话 创建会话分支(fork) 导航到历史中的某一点 同时,Agent 可能以 client-server 模式运行,需要一个传输中立的协议来在进程间通信。 Pi 将这两个关注点分别放在 pi-protocol(协议层)和 pi-session-backends(存储层)。 第一部分:pi-protocol — 传输中立协议packages/protocol/src/ 协议概述一个二进制 RPC 协议,用于远程 pi 会话。客户端发送 hello + 请求/取消;服务端回复 hello + 响应 + 服务更新 + 附件通知。 协议版本:PROTOCOL_VERSION = 8(protocol.ts:5) 消息类型packages/protocol/src/protocol.ts 客户端消息(ClientMessage,line 63): 消息 说明 ClientHello { t...
05 · 编码Agent-pi-coding-agent
05 — 编码 Agent (pi-coding-agent)问题pi-agent-core 提供了 Agent 运行时,但它不知道什么是”文件”、什么是”bash 命令”、什么是”系统提示”。它只是一个通用的 agent loop。 pi-coding-agent 的任务是:在 agent-core 之上组装一个可用的编码助手产品——定义具体工具、构建系统提示、管理会话、支持扩展、提供终端 UI。 启动流程packages/coding-agent/src/main.ts(~982 行) 1234567891011121314151617181920212223用户执行 `pi "帮我读一下 README"` │ ▼cli.ts (7行) └─ setupCli() → main(process.argv.slice(2)) │ ▼main.ts ├─ parseArgs() // 解析 CLI 参数 (args.ts) ├─ 运行一次性迁移 /...
