Skip to main content

Linux sed 命令是做什么用的?

· 3 min read

sed 是 Linux / macOS 终端下最常用的 流式文本批量处理工具,不用打开文件就能完成全局修改。

  1. 核心功能:逐行扫描文本,执行查找、替换、删除、插入等操作
  2. 典型场景:批量修改代码/配置文件、日志过滤、文本格式转换
  3. 语法模板:sed -i 's|原字符串|新字符串|g' 文件名,全程无交互
  4. Mac 注意:必须加空参数 '',否则直接报错

如果 Agent 陷入了死循环怎么办?

· 4 min read

Agent 死循环不是极端情况,是给模型自由度必须付的代价。

  • 直接原因:工具调用失败后盲重试——不换参数,反复撞同一堵墙。
  • 深层原因:循环缺少收敛信号,Thought 和 Action 之间没有"该停了"的显式判断。
  1. 第一层防御max_steps 硬限制,两行代码兜住 80% 的翻车。
  2. 第二层防御:把 Finish 做成一个 Action,循环有了天然终止条件。
  3. 第三层防御system prompt 里写死"重试失败就换策略",主动避障。
  • 工程底线:step_id + 全局超时 + 连续重复 Action 检测,别信 Agent 能自己收敛。
  • 三层防御一起上,单靠任何一层都有盲区。

除了 ReAct还有哪些 Agent 工作模式?各自的优缺点是什么?

· 7 min read

ReAct 是默认范式但不是唯一解——选错工作模式比选错模型更致命。

  1. Function Calling:无推理链的直接工具调用,延迟最低,仅适合单步任务。
  2. Plan-and-Execute:先规划全局再逐步执行,长任务完成率高 2-3 倍,但无法动态调整。
  3. Reflection:生成 → 批评 → 修正循环,能自纠低级错误,代价是每轮多烧一倍 token
  4. Multi-Agent:多 Agent 分工或辩论,适合复杂任务,协调开销和成本是硬伤。
  5. Routing:先分类再分发到专精模型,成本可控但分类错误会连锁翻车。

最佳实践:确定性任务→Plan-Execute,开放探索→ReAct,质量敏感→加 Reflection,规模大→Multi-Agent。

了解 ReAct 吗?简单介绍一下你的理解

· 5 min read

ReAct 不是"推理"和"行动"的简单拼接,是把两者编织成一条交替推进的链路:每一步推理都有观测反馈,每一步行动都有推理支撑。

  • 定义:模型交替生成"思考"和"行动",每次行动后把环境返回的观测结果注入下一步推理,形成闭环。
  • 与 CoT 的核心差异:CoT 在推理链中"脑补"事实,ReAct 通过外部工具或环境把推理接地——幻觉会触发不符预期的观测,反过来暴露推理错误。
  • 关键循环:Thought → Action → Observation → Thought,这个循环给 Agent 带来自我纠错能力——工具调错了?看返回就知道,下一步改。
  • Action Space 设计:工具描述、参数 schema、返回格式,这三样写不好,ReAct 的效果直接打对折。
  • 常见翻车:Agent 陷入重复 Action-Observation 死循环,没有收敛判断——需要加 max_steps 或让模型自己输出 Finish。
  • 适用场景:需要多步信息检索、代码执行、API 调用的任务。简单的单轮问答用 ReAct 是过度设计

OpenClaw 远程连接是如何让电脑不锁屏一直在工作的?

· 7 min read

OpenClaw 自己没有"防锁屏"功能——让远程电脑一直在线不被系统休眠干掉,靠的是 操作系统层面 的电源管理配置。

  • 根本问题:macOS/Windows/Linux 默认都会在空闲时进入休眠,系统的电源管理策略会直接挂起进程,Gateway 连接中断,远程控制失效。
  1. macOS 解法sudo pmset -a sleep 0 全局禁休 + caffeinate -s 进程级防睡 + LaunchDaemon 系统级自启,三层叠加 才能保证锁屏后服务不掉。
  2. Windows 解法:电源计划设"从不睡眠"只是第一步,还要关混合睡眠、禁用 USB 选择性暂停、组策略禁用待机状态 S1-S3,否则 硬件省电策略会偷偷断网
  3. Linux 解法systemctl mask sleep.target suspend.target 从 systemd 层面禁掉休眠路径,配合 logind.conf 忽略合盖/电源键事件,GNOME 只关屏不睡眠。
  • 关键区分:LaunchDaemon(系统级,开机即跑)≠ LaunchAgent(用户级,登出即停),远程无人值守必须用前者。
  • 验证标准:锁屏 30 分钟后 Gateway 日志仍有新消息进来,pmset -g | grep sleep 全显示 0,才算配置成功。

什么是第一性原理?

· 6 min read

第一性原理是把默认前提拆到不可再分,然后从那个起点重新推导,中间不借用现成答案。

  • 对比类比思维:类比在别人方案上微调;第一性原理从零推导,费力但能推翻品类。
  • 关键方法:苏格拉底式追问——反复问"这个前提真的成立吗?"直到撞上公理。
  • 经典案例:SpaceX 拆火箭材料成本,原材料只占售价 2%,推翻"火箭必然贵"的前提。
  • 适用边界:适合被惯例锁死的领域;不适合纯经验决策,前提本身不可拆。
  • 常见误区:把"重新想一遍"当第一性原理,没拆到底只换中间假设,不叫推导。
  • 东方智慧:取法乎上,仅得其中——参照系的高度,决定答案的上限。
  • 一句话:价值不在"拆",而在拆完敢不敢信那个结论,然后按它行动。

强化学习强在哪?

· 6 min read

强化学习强在哪?一句话:它不需要正确答案,只需要对错信号

监督学习从标注数据里找规律,强化学习从环境奖惩里学策略。两者的区别不是"强弱",而是解决问题的类型完全不同——SL 学映射,RL 学决策。

最容易被误解的一点:强化学习的目标不是每次选最优动作,而是最大化长期累积回报。只看眼前奖励的 RL 跟贪心算法没区别,价值函数才是它的灵魂。

Actor-Critic 架构让模型同时扮演"演员"和"评论家"两个角色——一个负责决策,一个负责评判,互相对抗、一起进化,AlphaGo 的底层思路也源于此。

最关键的应用:PPO 算法驱动了 RLHF,让大模型通过人类反馈学会"察言观色"。训练数据见顶的背景下,RL 是提升模型推理能力的核心引擎。

DeepSeek 多模态视觉源语是什么?

· 8 min read

多模态模型的真正瓶颈不是 "看不清",而是 "指不准"

  1. Reference Gap(指代断裂):模型看到了目标对象,但在推理链中无法稳定引用"到底是哪一个"。"左边那个""他旁边的"这类自然语言描述在视觉空间里不是精确地址——场景越复杂、相似物体越多,语言变量就越容易在几步推理后漂移到另一个实体上。

  2. 解法:把边界框和坐标点变成推理链的中间变量。 每写下一个框 = 在草稿纸上钉一颗钉子,后续推理围绕这些坐标展开,不再依赖模糊的自然语言指代。论文将框和点定义为"视觉原语(Visual Primitive)"——本质上就是把人类"用手指点着数"的动作形式化到了 token 序列里。

  3. 工程压缩比 7056×:2916 patch tokens → 3×3 空间压缩 → 324 → CSA 注意力缓存压缩 → 81。语言模型 DeepSeek V4 Flash(284B/13B MoE)+ 从头训练 DeepSeek ViT,视觉 token 限制在 81–384,不靠无限堆 token。

  4. 数据说话:~90 个视觉缓存条目跑出 77.2 分,Gemini 3 Flash 用 1100 个拿 76.5 分。视觉 token 不是越多越好,关键是模型有没有办法把"这个对象"稳定地绑定到图像坐标上。

什么是 MECE 原则?

· 5 min read

MECE 是麦肯锡 顶级 结构化思维准则。

  1. 核心思想:相互独立,完全穷尽
  2. 适用场景:职场汇报、任务拆解、问题分析
  3. 效果:将复杂问题"不重复、不遗漏"地拆分
  4. 定位:提高逻辑思考能力的 初级入门方法

关键价值:拆解后能快速定位问题本质,避免思维混乱。

JS await 进阶并发面试题

· 4 min read

JS 并发面试, 道题筛掉九成候选人。

  1. awaitfor 循环里是 串行,10 个请求 10 秒,不是 1 秒
  2. forEach 里写 await 完全无效,外层根本不会等
  3. Promise.all 一个 reject 全盘崩,要容错必须用 Promise.allSettled

正解:并发用 Promise.all(arr.map(fn)),需要限流用 p-limit,要容错换 allSettled

关键提醒:await 只暂停当前 async 函数,不会暂停外层调用者,更不会暂停 forEach 的迭代。