<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Agent on Jerry Wang</title>
    <link>https://solaim.github.io/categories/agent/</link>
    <description>Recent content in Agent on Jerry Wang</description>
    <image>
      <title>Jerry Wang</title>
      <url>https://solaim.github.io/img/favicon.webp</url>
      <link>https://solaim.github.io/img/favicon.webp</link>
    </image>
    <generator>Hugo -- 0.158.0</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 22 Mar 2026 20:19:37 +0800</lastBuildDate>
    <atom:link href="https://solaim.github.io/categories/agent/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Claude Skills实践</title>
      <link>https://solaim.github.io/posts/claude-skills%E5%AE%9E%E8%B7%B5/</link>
      <pubDate>Sun, 22 Mar 2026 20:19:37 +0800</pubDate>
      <guid>https://solaim.github.io/posts/claude-skills%E5%AE%9E%E8%B7%B5/</guid>
      <description>&lt;h2 id=&#34;引言&#34;&gt;引言&lt;/h2&gt;
&lt;h3 id=&#34;什么是-claude-skills&#34;&gt;什么是 Claude Skills&lt;/h3&gt;
&lt;p&gt;Claude Skills 是 Claude Code 提供的一种可复用提示词模板机制。它允许用户将常用的任务流程封装成可执行的&amp;quot;技能&amp;quot;，通过 &lt;code&gt;/技能名称&lt;/code&gt; 的方式快速调用。&lt;/p&gt;
&lt;p&gt;Skills 本质上是预定义的提示词（prompts），存储在项目的 &lt;code&gt;.claude/skills/&lt;/code&gt; 目录下。每个 Skill 是一个 Markdown 文件，包含任务描述和执行指令。当用户调用 Skill 时，Claude Code 会自动加载该文件的内容作为对话的起始提示。&lt;/p&gt;
&lt;p&gt;例如，内置的 &lt;code&gt;/commit&lt;/code&gt; Skill 会引导 Claude 按照规范的流程创建 git commit，而 &lt;code&gt;/review-pr&lt;/code&gt; 则帮助用户审查 Pull Request。&lt;/p&gt;
&lt;h3 id=&#34;为什么需要-skills&#34;&gt;为什么需要 Skills&lt;/h3&gt;
&lt;p&gt;在日常开发中，我们经常会重复执行某些任务，比如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;代码提交&lt;/strong&gt;：遵循特定的 commit message 规范&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;代码审查&lt;/strong&gt;：按照团队的 PR 审查清单逐项检查&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;文档生成&lt;/strong&gt;：为新功能自动生成文档模板&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;测试运行&lt;/strong&gt;：执行特定的测试命令并分析结果&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;每次手动输入这些指令不仅繁琐，还容易遗漏关键步骤。Skills 的价值在于：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;提高效率&lt;/strong&gt;：一键触发复杂的多步骤任务&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;保证一致性&lt;/strong&gt;：确保每次执行都遵循相同的流程和标准&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;知识沉淀&lt;/strong&gt;：将团队的 best practice 固化为可复用的模板&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;降低门槛&lt;/strong&gt;：新成员可以通过 Skills 快速上手团队工作流&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;skills-基础概念&#34;&gt;Skills 基础概念&lt;/h2&gt;
&lt;h3 id=&#34;skills-的定义和作用&#34;&gt;Skills 的定义和作用&lt;/h3&gt;
&lt;p&gt;从技术角度看，一个 Skill 是一个 Markdown 文件，其目录层级如下：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;~/.claude/skills/           # 用户级别（个人使用，跨项目可用）
└── my-skill/
    └── SKILL.md            # Skill 定义文件

&amp;lt;project&amp;gt;/.claude/skills/   # 项目级别（随项目共享，团队通用）
└── team-skill/
    └── SKILL.md
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;每个 Skill 是一个独立的目录，目录名即为 Skill 名称，内部包含一个 &lt;code&gt;SKILL.md&lt;/code&gt; 文件。文件结构如下：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vscode Claude Code编程实践</title>
      <link>https://solaim.github.io/posts/vscode-claude-code%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5/</link>
      <pubDate>Sun, 22 Mar 2026 19:45:21 +0800</pubDate>
      <guid>https://solaim.github.io/posts/vscode-claude-code%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5/</guid>
      <description>&lt;h2 id=&#34;vscode设置claude&#34;&gt;VSCode设置Claude&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;常用设置项&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;设置claude界面及默认的模式，编程建议用plan。
&lt;img alt=&#34;Vscode Claude code setting&#34; loading=&#34;lazy&#34; src=&#34;https://solaim.github.io/img/vscode_claude_setting.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;核心功能&#34;&gt;核心功能&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;代码生成与补全&lt;/li&gt;
&lt;li&gt;代码分析与解释&lt;/li&gt;
&lt;li&gt;重构与优化&lt;/li&gt;
&lt;li&gt;调试辅助&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;编程实践技巧&#34;&gt;编程实践技巧&lt;/h2&gt;
&lt;h3 id=&#34;如何写好prompt&#34;&gt;如何写好Prompt&lt;/h3&gt;
&lt;p&gt;Prompt是与Claude Code交互的核心，好的Prompt能显著提高代码质量和开发效率。&lt;/p&gt;
&lt;h4 id=&#34;基本原则&#34;&gt;基本原则&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;明确具体&lt;/strong&gt;：清楚描述你想要什么，避免模糊表述&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;差：帮我写个函数&lt;/li&gt;
&lt;li&gt;好：写一个TypeScript函数，接收字符串数组，返回去重后的数组&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;提供上下文&lt;/strong&gt;：说明技术栈、约束条件、相关文件&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;例：在这个Next.js项目中，使用React Query实现用户列表组件&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;分步骤&lt;/strong&gt;：复杂任务拆分成多个小请求&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;先搭架子 → 再实现核心逻辑 → 最后处理边界情况&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;常用prompt模板&#34;&gt;常用Prompt模板&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;代码生成&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;请实现一个[功能名称]，要求：
- 技术栈：[框架/库]
- 输入：[参数说明]
- 输出：[返回值说明]
- 约束：[性能/安全/风格要求]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;代码解释&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;请解释这段代码的作用：
[粘贴代码]
重点关注：[具体问题]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Bug修复&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;这段代码出现[错误信息]，期望行为是[...]，请帮我定位并修复：
[粘贴代码]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;代码重构&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;请重构以下代码，目标是：
- 提高可读性
- 遵循[编码规范]
- 保持功能不变
[粘贴代码]
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;进阶技巧&#34;&gt;进阶技巧&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;指定文件范围&lt;/strong&gt;：&lt;code&gt;在src/utils目录下创建...&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;引用现有代码&lt;/strong&gt;：&lt;code&gt;参考api/user.ts的风格实现...&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;添加约束&lt;/strong&gt;：&lt;code&gt;不使用第三方库&lt;/code&gt;、&lt;code&gt;兼容IE11&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;要求解释&lt;/strong&gt;：&lt;code&gt;并解释你的实现思路&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;利用claudemd文件&#34;&gt;利用CLAUDE.md文件&lt;/h3&gt;
&lt;p&gt;CLAUDE.md是项目根目录下的一个特殊文件，用于为Claude Code提供项目级的上下文信息，让AI更好地理解你的项目。&lt;/p&gt;
&lt;h4 id=&#34;什么是claudemd&#34;&gt;什么是CLAUDE.md&lt;/h4&gt;
&lt;p&gt;CLAUDE.md类似README，但专门写给Claude看。Claude Code在每次交互时会自动读取这个文件，了解项目背景、规范和约定。&lt;/p&gt;
&lt;h4 id=&#34;应该写什么&#34;&gt;应该写什么&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gh&#34;&gt;# 项目概述
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;这是一个使用Next.js 14 + TypeScript的电商平台后台管理系统。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gh&#34;&gt;# 技术栈
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; 框架：Next.js 14 (App Router)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; 语言：TypeScript
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; 样式：Tailwind CSS
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; 状态管理：Zustand
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; 数据获取：TanStack Query
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gh&#34;&gt;# 代码规范
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; 组件放在src/components，按功能模块分类
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; API路由放在app/api目录
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; 使用函数式组件和Hooks
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; 命名：组件用PascalCase，函数用camelCase
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gh&#34;&gt;# 重要约定
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; 所有API响应使用统一格式 { code, data, message }
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; 表单使用react-hook-form + zod验证
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; 错误处理使用全局ErrorBoundary
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gh&#34;&gt;# 注意事项
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; 不要修改src/legacy目录下的代码
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; 新功能需要添加单元测试
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;最佳实践&#34;&gt;最佳实践&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;保持更新&lt;/strong&gt;：技术栈变更时同步更新&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;控制长度&lt;/strong&gt;：控制在200行以内，过长会被截断&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;突出重点&lt;/strong&gt;：写AI需要知道的，而非所有细节&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;明确禁止&lt;/strong&gt;：列出不想让AI做的事情&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;斜杠命令使用&#34;&gt;斜杠命令使用&lt;/h3&gt;
&lt;p&gt;Claude Code提供了丰富的斜杠命令（Slash Commands），用于快速执行常见任务。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Claude Code国内使用手册</title>
      <link>https://solaim.github.io/posts/claude-code%E5%9B%BD%E5%86%85%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C/</link>
      <pubDate>Sun, 22 Mar 2026 18:43:28 +0800</pubDate>
      <guid>https://solaim.github.io/posts/claude-code%E5%9B%BD%E5%86%85%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C/</guid>
      <description>&lt;h2 id=&#34;claude-code&#34;&gt;Claude code&lt;/h2&gt;
&lt;p&gt;Claude Code 是 Anthropic 官方推出的命令行 AI 编程助手，于 2024 年发布。它将 Claude 的强大能力带入终端，让你可以用自然语言直接操作文件、执行命令、管理 Git 仓库。&lt;/p&gt;
&lt;p&gt;与传统 IDE 插件式的 AI 助手不同，Claude Code 是一个真正的自主 Agent——它不仅能给出代码建议，还能直接执行 shell 命令、编辑多文件、运行测试。它支持 MCP（Model Context Protocol）协议，可以连接外部工具和服务，并允许用户自定义 Skills 来扩展功能。&lt;/p&gt;
&lt;p&gt;无论是日常开发、代码审查、重构还是调试，Claude Code 都能成为你的得力助手，尤其适合习惯在终端工作的开发者。&lt;/p&gt;
&lt;p&gt;2025年Claude code发布了IDE插件，支持Vscode、Jetbrains等IDE。&lt;/p&gt;
&lt;h2 id=&#34;安装&#34;&gt;安装&lt;/h2&gt;
&lt;h3 id=&#34;npm方式推荐&#34;&gt;npm方式(推荐)&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install -g @anthropic-ai/claude-code
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;前提条件&lt;/strong&gt;：需要安装 Node.js（建议 v18 或更高版本）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;国内可用，建议使用npm方式安装&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;目前官方推荐的方式&#34;&gt;目前官方推荐的方式&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;macOS / Linux:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://claude.ai/install.sh &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Windows (PowerShell):&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;irm &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;https&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;claude&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ai&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;install&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ps1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;iex
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;安装完成后，运行以下命令验证：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;claude --version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;em&gt;解析脚本文件，二进制文件在谷歌云，国内无法正常下载&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;硬核下载方案：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 获取最新版本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/latest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 获取可下载的版本元数据，测试时最新版本为2.1.63&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/2.1.63/manifest.json
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 下载&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# mac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/2.1.63/darwin-x64/claude
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# windows x64&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/2.1.63/win32-x64/claude.exe
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;订阅&#34;&gt;订阅&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;官方订阅：锁区，国内无法正常使用&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dify实现及思考</title>
      <link>https://solaim.github.io/posts/dify%E5%AE%9E%E7%8E%B0%E5%8F%8A%E6%80%9D%E8%80%83/</link>
      <pubDate>Thu, 08 May 2025 14:23:49 +0800</pubDate>
      <guid>https://solaim.github.io/posts/dify%E5%AE%9E%E7%8E%B0%E5%8F%8A%E6%80%9D%E8%80%83/</guid>
      <description>&lt;h2 id=&#34;实现&#34;&gt;实现&lt;/h2&gt;
&lt;p&gt;Dify前端使用React框架实现，这里不做深入探索，来看看后端的实现。&lt;/p&gt;
&lt;p&gt;主要代码目录如下：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;.&lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;..&lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;api&lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# 后端实现目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  app.py         &lt;span class=&#34;c1&#34;&gt;# 入口文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  controllers&lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# 控制层，注册路由&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    console&lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# 前端API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    files&lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;# 图片、文件API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    inner_api&lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# 插件API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    service_api&lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    web&lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  services&lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# 业务实现层&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  models&lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;# 模型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  core&lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;         &lt;span class=&#34;c1&#34;&gt;# 逻辑实现&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;web&lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# 前端实现目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;后端框架使用Flask，使用flask-restful管理路由，使用celery进行分布式任务管理。&lt;/p&gt;
&lt;p&gt;架构层面：&lt;/p&gt;
&lt;p&gt;API server &amp;lt;&amp;ndash;&amp;gt; Worker&lt;/p&gt;
&lt;p&gt;为了支持横向扩展，可以多节点部署worker，属于基于事件驱动的架构。&lt;/p&gt;
&lt;p&gt;实现层面：&lt;/p&gt;
&lt;p&gt;分层架构，经典的控制、服务、模型分层。&lt;/p&gt;
&lt;p&gt;数据库：&lt;/p&gt;
&lt;p&gt;业务管理使用的pg，是除MySQL外很流行的开源关系型数据库。&lt;/p&gt;
&lt;p&gt;为支持RAG，dify支持了很多款向量数据库，可以按需配置。&lt;/p&gt;
&lt;p&gt;部署：
docker compose 一行命令完成部署，快速体验很赞。&lt;/p&gt;
&lt;h2 id=&#34;思考&#34;&gt;思考&lt;/h2&gt;
&lt;p&gt;翻看dify的源码，有种熟悉的感觉，因为这就是第一份工作的完整技术栈。&lt;/p&gt;
&lt;p&gt;作为技术开发者，追逐新颖、时髦的技术，认为这些很酷，但是有时候会忘了出发点：&lt;/p&gt;
&lt;p&gt;&lt;em&gt;技术是用来解决问题的！&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Dify目前已经将近96K的star。&lt;/p&gt;</description>
    </item>
    <item>
      <title>AI agent实战</title>
      <link>https://solaim.github.io/posts/ai_agent%E5%AE%9E%E6%88%98/</link>
      <pubDate>Wed, 07 May 2025 15:05:08 +0800</pubDate>
      <guid>https://solaim.github.io/posts/ai_agent%E5%AE%9E%E6%88%98/</guid>
      <description>&lt;p&gt;AI agent框架众多，本文选择Dify平台，来一波AI agent开发实战！&lt;/p&gt;
&lt;h2 id=&#34;部署&#34;&gt;部署&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/langgenius/dify.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; dify/docker
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 国内docker hub访问受限，建议使用代理&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 请使用新版本docker&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;使用&#34;&gt;使用&lt;/h2&gt;
&lt;p&gt;访问127.0.0.1，页面正常可设置管理员并登陆：&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;dify init&#34; loading=&#34;lazy&#34; src=&#34;https://solaim.github.io/img/dify_init.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;dify login&#34; loading=&#34;lazy&#34; src=&#34;https://solaim.github.io/img/dify_login.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;登陆完成，进入工作室：&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;dify workspace&#34; loading=&#34;lazy&#34; src=&#34;https://solaim.github.io/img/dify_workspace.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;接下来我们开始搭建一个企业私有的AI agent。&lt;/p&gt;
&lt;h2 id=&#34;管理模型&#34;&gt;管理模型&lt;/h2&gt;
&lt;p&gt;添加模型供应商&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;dify provider&#34; loading=&#34;lazy&#34; src=&#34;https://solaim.github.io/img/dify_provider.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;修改系统模型配置&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;dify model setup&#34; loading=&#34;lazy&#34; src=&#34;https://solaim.github.io/img/dify_model_setup.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;本文使用火山方舟的deepseek和doubao embedding模型，可以在火山方舟控制台在线推理页面开通。&lt;/p&gt;
&lt;h2 id=&#34;管理知识库&#34;&gt;管理知识库&lt;/h2&gt;
&lt;p&gt;&lt;img alt=&#34;dify knowledge&#34; loading=&#34;lazy&#34; src=&#34;https://solaim.github.io/img/dify_knowledge.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;上传文档，选择embedding模型，进行知识入库。&lt;/p&gt;
&lt;h2 id=&#34;配置agent&#34;&gt;配置Agent&lt;/h2&gt;
&lt;p&gt;&lt;img alt=&#34;dify rag&#34; loading=&#34;lazy&#34; src=&#34;https://solaim.github.io/img/dify_agent_rag.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;在知识库添加面试资料文档知识库，进行聊天即可使用了。&lt;/p&gt;
&lt;h2 id=&#34;发布&#34;&gt;发布&lt;/h2&gt;
&lt;p&gt;dify提供发布功能，可以发布单独的页面或嵌入其他页面，方便使用。&lt;/p&gt;
&lt;p&gt;dify也支持workflow，比单独的agent更强大。&lt;/p&gt;</description>
    </item>
    <item>
      <title>AI Agent纵览</title>
      <link>https://solaim.github.io/posts/ai_agent%E7%BA%B5%E8%A7%88/</link>
      <pubDate>Wed, 07 May 2025 10:29:29 +0800</pubDate>
      <guid>https://solaim.github.io/posts/ai_agent%E7%BA%B5%E8%A7%88/</guid>
      <description>&lt;p&gt;AI Agent最近两三年异常火热，下面👇是某头部公司的AI Agent开发岗的JD：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;岗位职责&lt;/p&gt;
&lt;p&gt;1、负责大模型应用开发范式及一站式研发平台的设计、开发及应用，支持公司内部大模型的应用的快速落地&lt;/p&gt;
&lt;p&gt;2、负责大模型产品的整体技术解决方案，并支持技术研发和效果优化等工作，推动产品持续增长&lt;/p&gt;
&lt;p&gt;3、保障大模型应用系统架构的稳定、高效运行，帮助业务优化性能和改善系统稳定性&lt;/p&gt;
&lt;p&gt;职位描述&lt;/p&gt;
&lt;p&gt;1、计算机或相关专业本科及以上学历，2年以上工作经验，熟练掌握Python，或至少一门主流开发语言。&lt;/p&gt;
&lt;p&gt;2、有Agent平台/应用开发经验者优先，熟悉coze，dify，langflow等开发平台，了解RAG、Agent机制，使用过langchain等开源系统，有prompt工程业务优化经验者优先。&lt;/p&gt;
&lt;p&gt;3、有比较敏锐的产品意识和数据分析能力。&lt;/p&gt;
&lt;p&gt;4、有优秀的架构设计能力，了解包括检索引擎、kv存储、在线应用框架、批流处理等中间件系统，有承担过千万级以上产品应用架构设计者优先。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;从上面的JD可以提取的信息：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;开发语言：Python(C++、Golang需求也较多)&lt;/li&gt;
&lt;li&gt;框架：dify、langflow等&lt;/li&gt;
&lt;li&gt;原理：RAG、Agent工作原理&lt;/li&gt;
&lt;li&gt;后端基础组件&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;ai-agent&#34;&gt;AI Agent&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;AI Agent（也称人工智能代理、智能体）是一种能够感知环境、进行决策和执行动作的智能实体。智能体像人一样，它有记忆、有逻辑分析能力、有任务的拆解能力、问题的拆解能力和最后综合回来统一解决问题的能力。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt=&#34;Agent&#34; loading=&#34;lazy&#34; src=&#34;https://solaim.github.io/img/agent.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;智能体的组成：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I：输入，也就是上图中的感知Perception，包括文本、图片、视频、音频等&lt;/li&gt;
&lt;li&gt;O：输出，即上图中的行动Action，包括输出文本及&lt;em&gt;调用工具&lt;/em&gt;等&lt;/li&gt;
&lt;li&gt;B：大脑Brain，基于LLM，具有知识、记忆、推理、规划等功能&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;智能体的形式：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;单Agent：单个Agent完成任务&lt;/li&gt;
&lt;li&gt;多Agent：多个Agent配合完成任务&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;rag&#34;&gt;RAG&lt;/h2&gt;
&lt;p&gt;检索增强生成（Retrieval Augmented Generation），简称 RAG。&lt;/p&gt;
&lt;p&gt;为什么会有RAG？&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;解决知识缺失问题：大模型的知识固定在训练的数据上，无法获取最新资讯。&lt;/li&gt;
&lt;li&gt;解决快问乱答问题：大模型有幻觉问题，超出范围的答案不靠谱。&lt;/li&gt;
&lt;li&gt;解决数据安全问题：企业专有资料，不能丢给通用大模型去训练。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;实现路径：&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;RAG&#34; loading=&#34;lazy&#34; src=&#34;https://solaim.github.io/img/rag.jpg&#34;&gt;
**&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;将知识向量化：知识通过embedding存储在向量数据库&lt;/li&gt;
&lt;li&gt;客户检索：问题embedding，检索向量数据库，生成提示词&lt;/li&gt;
&lt;li&gt;投喂LLM：将上面生成的提示词喂给LLM生成最终的答案&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;mcp&#34;&gt;MCP&lt;/h2&gt;
&lt;p&gt;Model Context Protocol（模型上下文协议）是 Anthropic 在推出的用于 LLM 应用和外部数据源（Resources）或工具（Tools）通信的标准协议，遵循 JSON-RPC 2.0 的基础消息格式。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;MCP ARCH&#34; loading=&#34;lazy&#34; src=&#34;https://solaim.github.io/img/mcp_arch.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;MCP遵循CS架构，应用包括client，client负责和server通信。&lt;/p&gt;
&lt;p&gt;核心概念：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;资源：MCP 服务器希望提供给客户端的任何类型的数据&lt;/li&gt;
&lt;li&gt;提示词：MCP 服务器能够定义可重用的提示模板和工作流&lt;/li&gt;
&lt;li&gt;工具：使服务器能够向客户端公开可执行功能。通过工具，LLM 可以与外部系统交互，执行计算，并在真实的世界中采取行动。&lt;/li&gt;
&lt;li&gt;采样：服务器通过客户端请求 LLM&lt;/li&gt;
&lt;li&gt;根：定义了服务器可以操作的边界&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;详细文档请参考&lt;a href=&#34;https://modelcontextprotocol.io/introduction&#34;&gt;官方文档&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;a2a&#34;&gt;A2A&lt;/h2&gt;
&lt;p&gt;A2A（Agent2Agent）协议是由 Google Cloud 发起的开放协议，旨在促进不同 AI Agent 之间的互操作性。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
