Marlin's Blog

「编译当下,重构未来」

让容器里的 AI Agent 通过 SSH 访问宿主机:原理与实操

Docker 多网桥、SSH 密钥认证与 sudo 权限升级

⚠️ AI 生成标识 · 本文由 AI Agent 协助撰写,人类作者审核发布。 前言 想象这样一个场景:你有一个 AI Agent 跑在 Docker 容器里,它需要访问宿主机上的资源——查日志、看进程、管理文件、甚至部署服务。但容器默认是隔离的,怎么让它”走出”容器,触达宿主机? 最近我在部署自己的 AI Agent 时遇到了这个问题,最终通过 SSH 密钥认证 + sud...

记一次跨云网络故障排查:TLS 握手间歇性超时

从「消息发不出去」到「真相是 DNS 轮询到坏 IP」

⚠️ AI 生成标识 · 本文由 AI Agent 协助撰写,人类作者审核发布。 起因 我把服务器从阿里云迁移到了京东云,顺便把 AI 助手从 v1.x 升级到了 v2.0.0。结果发现助手回复消息变得极其缓慢——有时候一条消息要等 5 分钟才收到回复。 一开始我以为是大版本升级导致的 Bug,或者模型推理变慢了。但排查后发现,问题跟代码无关,跟模型无关,纯粹是网络问题。 排...

Cloudflare Tunnel 深度解析:反向隧道如何替代反向代理

从原理到架构,理解为什么它能让你关掉防火墙

⚠️ AI 生成标识 · 本文由 AI Agent 协助撰写,人类作者审核发布。 传统方案:反向代理 把内网服务暴露到公网,最经典的做法是反向代理。架构长这样: 1 用户 → HTTPS → 公网IP:443 → Nginx/Caddy → localhost:3000(你的服务) 这需要做四件事: 买域名,DNS 解析到服务器公网 IP 装 Nginx 或 C...

LLM 训练全流程中的注意力演变:从预训练到 Agent 行为

为什么 SFT 后的模型会「看」System Prompt,以及 Agent 场景下注意力如何工作

⚠️ AI 生成标识 · 本文由 AI Agent 协助撰写,人类作者审核发布。 从一个 Agent 场景说起 你在用 AI Agent 处理一个任务。你给了它一个长长的 System Prompt,里面写满了角色设定、工具说明、输出格式要求。然后你发了一条消息:「帮我查一下今天的天气,然后发一封邮件给老板汇报」。 Agent 开始工作了。它先调用了天气查询工具,拿到结果后,又...

一次 MCP 401 引发的血案:QwenPaw Agent 连环故障排查与修复

从微信机器人卡死到四个框架级设计缺陷的发现之旅

⚠️ AI 生成标识 · 本文由 AI Agent 协助撰写,人类作者审核发布。 一、用户报障:微信机器人”死”了 某天,我给 life_agent(我的微信端 AI 助手)发了条消息,然后——什么都没有发生。不是回复慢,是完全没有回复。屏幕上只有一行”正在输入…“,转了五分钟、十分钟,直到我失去耐心关掉了对话框。 作为开发者,第一反应是看日志。日志里赫然躺着一行: 1 HT...

Agent 开发知识体系全景

从推理模式到 Workflow——一次对话串起来的所有东西

⚠️ AI 生成标识 · 本文由 AI Agent 协助撰写,人类作者审核发布。 一、写在前面 这篇文章不是教程,是一次知识收网。 过去几天我花了几个小时跟我的 AI Agent 对话,从 Agent 八股文一路聊到生产落地。这篇文章把对话中涉及的所有核心概念串联起来,形成一个完整的知识体系。 二、三层架构 Agent 系统的所有概念可以归纳为三个层次: 1 2 3 4 ...

让 AI Agent 自动为 GitHub 提交代码

从 GitHub API 到 Skill 注册,实现一句话自动写博客

一、痛点 我有一个个人博客(marlin-phone.me),基于 GitHub Pages + Jekyll 搭建。每次写博客的流程是这样的: 1 打开 IDE → 写 Markdown → 填 front matter → git add → git commit → git push → 等 Actions 部署 虽然不复杂,但每次都要走一遍。更重要的是,我的 AI Agent...

Agent Workflow 设计范式详解

从 ReAct 到 Orchestrator,生产环境落地实践

一、什么是 Agent Workflow Agent Workflow 是指将 LLM 调用、Tool 调用与决策逻辑编排成一个可执行流程的框架。它比单个 Tool 调用高一个抽象层次,决定了”什么时候调什么 Tool,调完怎么处理”。 二、六大设计范式 1. ReAct(Reasoning + Acting) 核心思想:让 LLM 交替进行推理思考和行动调用,每一步的思考结果指导下一...

一个域名,两个面孔:记一次 Service Worker 缓存引发的灵异事件

排查博客自定义域名后 github.io 和 marlin-phone.me 显示不同内容的完整过程

本文使用了AI进行辅助写作,旨在提供更清晰、结构化的内容。AI生成的部分已由作者审核和编辑,以确保准确性和可读性。 背景 我的博客托管在 GitHub Pages,最近给它配了自定义域名 marlin-phone.me,通过 Cloudflare 做 CDN 代理。一切配置看起来都正常——DNS 解析正确、Cloudflare SSL 配置完整、GitHub 仓库里 CNAME ...

Linux常用命令(2)

scp scp [-r] <source> <target> The scp command allows you to transfer files or directories securely between a local and a remote host (or between two remote hosts). From Local to Re...