博客

  • 攀岩运动简介

    攀岩技术的兴起最早可追溯到十八世纪的欧洲。当时的登山者为了克服类似阿尔卑斯山等终年积雪的冰岩地形,发展出一套系统的攀登技术。1983年法国人Mr. Francois SAVIGNY 发明了由树脂及混凝土合成的可移动式岩块,奠定了攀岩墙日后发展的基础。
      目前攀岩在国外是一项非常兴盛而且老少咸宜的运动,攀岩墙的设立非常普遍,室内及室外都有。因此常常可以看到一些外国朋友在下班之后,到这些设有岩墙的休闲娱乐中心或健身房活动一下再回家的情形。在节假日,也常常可以看到在设有岩墙的公园里全家同乐的景象。因为对现代都市人而言,到天然岩场攀爬往往要花去不少交通的时间,而且受气候的影响很大。因此在国外,尤其是运动风气鼎盛的欧洲、北美洲,许多岩墙的设立都是由政府出资规划兴建,因为它提供了一个绝佳的旅游休闲的去处。
      现代人随着经济起飞,生活的品质已不再是要求温饱而已,而是希望建立工作与身心健康、休闲品质、家庭亲子关系等相对的平衡。攀岩活动,可以完全满足这些需求,并且完全没有危险性。除了以上这些好处外,更因为攀岩活动没有体型、性别及年龄上的限制,无论男女老少皆可享受攀登的乐趣。现代人饱受生活压力与工作压力之苦,他们可以从攀岩活动中获得成就感,舒缓压力。
      在休闲市场上,目前世界各地一些稍具规模的公园、游乐场、度假饭店都以此设备来招揽客人,以凸显自己的特色。
      除了攀岩活动之外,人工岩墙也可以提供类似高楼逃生,绳索速降等个人或消防单位之训练以及山难搜救技术的训练。高空作业人员,如天线架设、建筑、外墙清洗作业、冷气安装工作人员,也可以在经过简单的训练后将工作的危险性大幅降低,提升产业竞争力,军方及特种部队也常常利用人工岩场开展各种作战技术演练,例如困难地形突破、突击、潜入、人质解救或是巷战、城市战等等。
        攀岩的六大好处
      ●  增加身体柔软度与协调感
      ●  增强体力
      ●  集中力
      ●  进取心
      ●  自信心
      ●  平衡感
        攀岩墙的类型
      攀岩墙发展迄今,依照其用途可分为:
      ● 专业竞技型:专业设计,采用高强度仿真复合材料岩板,精心设计路线及难度,供攀岩专业人士、爱好者以及军、警、高空作业等特种行业训练、比赛。
      ● 仿真娱乐型:创意设计,安全、刺激,充分考虑不同人群的攀登要求,并最大限度的增加投资者的收益。
      ● 儿童型:岩板表面用环保材料喷涂卡通图案,适合幼儿园儿童及小学生,用于对其肌肉发展及手、眼、身体之协调训练方面。

  • 18.MetaGPT架构深度分析

    项目: geekan/MetaGPT — 57.4k Stars

    定位: 多智能体协作框架,模拟软件公司 SOP(标准操作流程)

    核心理念: Code = SOP(Team) — 将 SOP 物化并应用于 LLM 组成的团队

    源码版本: main 分支 (2025)


    1. 设计哲学:SOP 驱动的多智能体

    MetaGPT 的核心设计哲学是将软件公司的标准操作流程(SOP)形式化,让 LLM 角色像真实团队一样协作。一行需求输入,产出用户故事、竞品分析、需求文档、数据结构、API 设计等完整软件交付物。

    # team.py - Team 类的核心定位
    class Team(BaseModel):
        """
        Team: Possesses one or more roles (agents), SOP (Standard Operating Procedures),
        and a env for instant messaging, dedicated to env any multi-agent activity,
        such as collaboratively writing executable code.
        """
        env: Optional[Environment] = None
        investment: float = Field(default=10.0)
        idea: str = Field(default="")
        use_mgx: bool = Field(default=True)

    团队拥有环境(Environment)、投资预算(investment)、以及可选的 MGX 增强模式。这体现了”软件公司”隐喻——有预算约束、有组织架构、有协作环境。


    2. 角色系统(Role):智能体的核心抽象

    Role 是 MetaGPT 最核心的抽象,每个角色拥有独立的身份(profile)、目标(goal)、约束(constraints)、动作列表(actions)、记忆系统(memory)和运行时上下文(RoleContext)。

    (更多…)

  • AI编程(二十八):配置文件管理 — 改设置不动代码,程序才像个”正经软件”

    为什么专业程序的设置都放在单独的文件里?今天你做出第一个”改配置不改代码”的程序

    一、一个改到崩溃的真实场景

    先讲一个你大概率亲历过的惨案。

    假设你(或者AI)写了一个”每日打卡提醒程序”,里面写着提醒时间是早上8点。用了一周,你想改成7点半——于是你打开代码,找到那行提醒时间 = "08:00",改成"07:30",保存,重新运行。

    又过了两周,你想改提醒语;再过一周,你想把打卡记录存到另一个文件夹……每次改动都得:打开代码 → 全文搜索找到那行 → 改 → 提心吊胆别改错别的地方 → 保存重跑。

    (更多…)

  • 17. n8n 架构深度分析

    n8n 是一个 Fair-code 工作流自动化平台,原生支持 AI Agent 能力。通过可视化画布结合自定义代码,连接 1500+ 集成,支持自托管或云端部署。本文从源码层面深入分析其架构设计。

    1. 版本化节点系统(VersionedNodeType)

    n8n 采用版本化节点架构,所有节点(包括 AI Agent)都通过 VersionedNodeType 基类管理多版本。这种设计允许节点在不破坏现有工作流的情况下持续演进。

    源码位置: packages/@n8n/nodes-langchain/nodes/agents/Agent/Agent.node.ts

    export class Agent extends VersionedNodeType {
        constructor() {
            const baseDescription: INodeTypeBaseDescription = {
                displayName: 'AI Agent',
                name: 'agent',
                icon: 'node:ai-agent',
                iconColor: 'black',
                group: ['transform'],
                description: 'Generates an action plan and executes it. Can use external tools.',
                codex: {
                    alias: ['LangChain', 'Chat', 'Conversational', 'Plan and Execute', 'ReAct', 'Tools'],
                    categories: ['AI'],
                    subcategories: {
                        AI: ['Agents', 'Root Nodes'],
                    },
                },
                defaultVersion: 3.1,
            };
    
            const nodeVersions: IVersionedNodeType['nodeVersions'] = {
                1: new AgentV1(baseDescription),
                1.1: new AgentV1(baseDescription),
                // ... 1.2-1.9 均为 AgentV1
                2: new AgentV2(baseDescription),
                2.1: new AgentV2(baseDescription),
                // ... 2.2-2.3 均为 AgentV2
                3: new AgentV3(baseDescription),
                3.1: new AgentV3(baseDescription),
            };
            super(nodeVersions, baseDescription);
        }
    }

    架构洞察: 版本映射表将语义版本号映射到具体实现类。V1 系列(1.0-1.9)共享同一实现,V2 和 V3 各有独立实现。defaultVersion: 3.1 表示新建工作流默认使用最新版本。这种设计使得旧工作流可以继续运行,同时新功能只在新版本中提供。

    (更多…)

  • AI编程(二十七):JSON数据 — 让程序和世界交换数据的通用语

    配置文件、网站接口、AI的回复,满世界都是JSON——今天你把它彻底看懂

    一、你早就在见它了,只是不知道它叫JSON

    先讲一个你肯定遇到过的场景。

    你跟AI说:”帮我把这周的菜谱整理一下。”AI回复了一段话,里面是一份结构清晰的清单。你又说:”把这个存到文件里吧。”AI给你存好了。第二天你想让另一个程序读这份菜谱——比如做个采购清单工具——问题来了:

    两个程序之间,怎么交接这份数据?

    (更多…)

  • 16. Mastra 深度架构分析

    项目: mastra-ai/mastra

    语言: TypeScript

    许可证: Apache 2.0 + Mastra Enterprise License (ee/ 目录)

    定位: 现代 TypeScript AI 应用和 Agent 框架,从原型到生产的一站式解决方案

    来源: Y Combinator W25 批次项目

    Mastra 是一个面向 TypeScript 生态的 AI Agent 框架,提供 Agent、Workflow、Tool、Memory、MCP Server 等完整能力。其架构以 @mastra/core 为核心,围绕 Agent-Tool-Workflow 三角关系构建,支持 40+ 模型提供商,提供 Human-in-the-loop、RAG、评估和可观测性等生产级特性。


    1. Agent 核心架构

    Mastra 的 Agent 是框架的中枢,继承自 MastraBase,整合了 LLM 调用、工具执行、记忆管理、信号系统和可观测性。

    // packages/core/src/agent/agent.ts
    export type MastraLLM = MastraLLMV1 | MastraLLMVNext;
    
    // Agent 配置接口核心字段
    export interface AgentConfig {
      id: string;
      name: string;
      instructions: DynamicArgument;  // 支持静态字符串或动态函数
      model: DynamicArgument;
      tools?: DynamicArgument;
      workflows?: DynamicArgument<Record>;
      memory?: AgentMemoryOption;
      voice?: MastraVoice;
      scorers?: DynamicArgument;
      processors?: {
        input?: InputProcessorOrWorkflow[];
        output?: OutputProcessorOrWorkflow[];
        error?: ErrorProcessorOrWorkflow[];
      };
    }

    Agent 支持两种 LLM 后端:MastraLLMV1(传统 AI SDK v2)和 MastraLLMVNext(AI SDK v5 循环模式),通过统一接口对外暴露 generate() 和 stream() 方法。Agent 内部维护一个 MessageList 管理对话历史,支持 Observational Memory(观察性记忆)让 Agent 行为连贯。

    (更多…)

  • AI编程(二十六):CSV数据分析 — 看懂一堆数据的全貌

    平均值、最大值、分布规律——几百行数据,三秒钟说出它的故事

    一、数据搬进来了,然后呢?

    上一篇我们干了件大事:把CSV读进了程序,还能把结果写回去。恭喜,你已经是个合格的”数据搬运工”了。

    但搬运工之后呢?想象这个场景:

    你按上一篇的办法,把三个月的银行账单.csv读进了程序,屏幕上哗啦啦滚过几百行。然后——就没有然后了。你盯着几百行滚动的记录,脑子里还是一团浆糊:

    (更多…)

  • AI编程(二十五):CSV文件入门 — 让表格数据流动起来

    工资条、账单、通讯录、成绩表——程序世界和Excel世界的第一次握手

    一、你的数据,大多锁在表格里

    先想想你电脑里有多少表格文件:

    • 银行卡导出的账单(.csv 或 .xlsx)
    • 公司发的工资条
    • 通讯录导出的联系人列表
    • 上课时的成绩表、考勤表
    • 网店后台导出的订单明细

    这些数据有个共同的尴尬:Excel能看,但没法”自动化”。想算点东西要手动拉公式,想整理几百行要拖到手酸,想每周重复做一遍——每周都得重来一次。

    从今天起不一样了。我们开始爬阶段3的第一个台阶:文件和数据处理。第一站就是CSV——因为它是表格数据里最简单、最通用、最好上手的格式。

    (更多…)

  • AI编程(二十三):番茄钟计时器 — 把专注力管起来

    学习25分钟、休息5分钟——把第二十一篇的倒计时升级成完整的工作法工具

    一、为什么你学不进去,可能不是意志力的问题

    你有没有过这种经历:坐下来学习,刚看了两页书,手机亮了;回完消息想继续,脑子里开始想晚饭吃什么;等回过神,半小时没了,书还在第2页。

    结论通常是”我意志力太差”。但有个意大利人不同意。

    1980年代,Francesco Cirillo发明了一种方法:不要求你学一整天,只要求你专注25分钟。25分钟后休息5分钟,算一个”番茄”。攒够4个番茄,来一次长休息。

    (更多…)

  • 15.DSPy架构深度分析

    项目: stanfordnlp/dspy | Stars: 37.6k | 许可: MIT

    定位: “Programming — not prompting — Foundation Models”

    全称: Declarative Self-improving Python

    DSPy 是 Stanford NLP 团队开发的声明式语言模型编程框架,核心理念是用组合式 Python 代码替代脆弱的 prompt 工程,通过编译器自动优化 LM 的 prompt 和权重。本文从 10 个维度深入分析其架构设计。


    1. 核心哲学:从 Prompt 到 Program 的范式转换

    DSPy 的根本创新在于将 LM 调用从”手写 prompt 字符串”提升为”声明式 Python 程序”。用户定义输入/输出签名(Signature),编写组合逻辑(Module),框架自动处理 prompt 构造和优化。

    README 中明确阐述:

    (更多…)

  • 14.SemanticKernel

    项目: microsoft/semantic-kernel

    Stars: 28.5K+ | License: MIT | 语言: Python / .NET / Java

    定位: 企业级 AI Agent SDK,模型无关,支持构建、编排和部署 AI Agent 及多 Agent 系统

    一、整体架构概览

    Semantic Kernel(SK)是微软推出的模型无关 SDK,其核心设计理念是将 LLM 能力与传统代码通过统一的 Kernel(内核) 模式整合。架构分为四层:

    ┌─────────────────────────────────────────────┐
    │            Agent Layer (Agent 抽象)           │
    │  ChatCompletionAgent / AzureAIAgent / ...    │
    ├─────────────────────────────────────────────┤
    │          Kernel Layer (核心调度)              │
    │  Plugins → Functions → Filters → Services    │
    ├─────────────────────────────────────────────┤
    │        Connector Layer (AI 服务连接器)        │
    │  OpenAI / Azure / HuggingFace / ...          │
    ├─────────────────────────────────────────────┤
    │        Content Layer (内容模型)               │
    │  ChatMessage / Streaming / FunctionCall       │
    └─────────────────────────────────────────────┘

    SK 现已演化为 Microsoft Agent Framework (MAF),作为其企业级后继者,但 SK 本身仍是 MAF 的核心引擎。


    二、十个维度深度分析

    1. Kernel 核心 —— 组合式设计

    Kernel 是整个框架的中枢调度器,通过多重继承组合了四个扩展能力:

    (更多…)