攀岩技术的兴起最早可追溯到十八世纪的欧洲。当时的登山者为了克服类似阿尔卑斯山等终年积雪的冰岩地形,发展出一套系统的攀登技术。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.tsexport 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
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 是整个框架的中枢调度器,通过多重继承组合了四个扩展能力: