帆的博客

扬帆起航

转载说明

本文转载自: 微信公众号「Import AI」

原文作者: Import AI

原文链接: https://mp.weixin.qq.com/s/9OOV_phsQacXQjeUF1jVug

发布时间: 2026年3月19日


很多人以为,Claude Code 好不好用,主要取决于模型够不够强。但用久了你会发现,真正把人和人拉开差距的,往往不是模型本身,而是另一层东西:你有没有把一批高频、稳定、可复用的 skills 装进自己的工作流。

同样一个 Claude Code,有的人拿它写几个函数、改几段文案;有的人已经让它跑浏览器、查资料、整理文档、控制终端、维护测试、辅助重构。差别不只是会不会写提示词,而是有没有把外部能力接进来,让它从”会回答”变成”会做事”。

所以这篇文章不想讨论哪个模型分数更高,也不想给你堆一串目录。我只想回答一个更实际的问题:如果你在用 Claude Code,最值得优先装的 10 个 skills 到底是什么?

阅读全文 »

引言

随着 AI 编程工具的普及,Claude Code、Cursor、Windsurf 等 AI 编程助手已经成为开发者的日常工具。然而,AI 编程也带来了新的挑战:如何让 AI 准确理解需求并保持决策一致性?

答案就是 规范驱动开发(Spec-Driven Development,SDD)

目前,社区已经涌现出多款实现 SDD 理念的技能包,其中最具代表性的四个是:OpenSpecSuperpowersGet Shit Done(GSD)Spec-Kit

这四者的共同点:都提供了规范驱动开发能力,帮助开发者在编码前先明确”要做什么”。

不同点:在设计理念、实现方式、工具支持、适用场景上各有侧重。

本文将:

  1. 深入解析 SDD 的核心理念和价值
  2. 对比四大 SDD 技能包的特点和差异
  3. 提供基于团队规模和项目需求的选型建议
阅读全文 »

一、现状分析

1.1 当前开发流程现状

在多数中小型开发团队中,代码质量保障流程通常如下:

开发阶段:开发人员在本地完成功能开发
自测阶段:开发人员进行功能自测,确保业务流程正常
提交阶段:直接推送到develop分支或测试环境
测试阶段:测试人员进行功能测试和环境验证
发布阶段:测试通过后发布到生产环境

阅读全文 »

一、Agentic Systems 架构概览

1.1 核心概念:Workflows 主导企业应用

根据 Anthropic 官方研究,Agentic Systems 分为两大类:

1
2
3
4
5
6
7
8
9
10
11
Agentic Systems(智能体系统)

├── Workflows(工作流 - 企业主流,80-90% 场景)
│ ├── Prompt Chaining:链式处理
│ ├── Routing:路由分类
│ ├── Parallelization:并行执行
│ ├── Orchestrator-Workers:编排-工作者模式
│ └── Evaluator-Optimizer:评估-优化循环

└── Agents(智能体 - 动态自主,10-20% 场景)
└── Feedback Loop Agents:基于环境反馈的循环智能体

关键洞察

“Success isn’t about making the most sophisticated system. It’s about building the right system for your needs.”
—— Anthropic, Building Effective Agents

企业应用现状

  • Workflows:解决 80-90% 企业需求,成本可控、可预测
  • ⚠️ Agents:仅用于真正需要自主决策的场景(开放式问题、探索性任务)
阅读全文 »

Claude Code 完整教程:从入门到精通

本教程整合了 Claude Code 的核心功能、隐藏技巧、终端美化以及项目实战经验,助你快速掌握这款革命性的 AI 编程工具。


一、Claude Code 是什么

1.1 核心定位

Claude Code 本质上是一个运行在终端里的 AI 编程代理。你可以把它理解为:

一个懂代码的同事坐在你旁边,你说需求,他直接改文件

它能读你的项目代码、执行 shell 命令、操作 Git,甚至帮你做 Code Review。

阅读全文 »

线程池

JDK为我们提供了4种构造线程池的方式,分别是

  • newFixedThreadPool
    • 固定数量的线程
  • newSingleThreadExecutor
    • 只有一个线程的线程池
  • newCachedThreadPool
    • 线程数量不固定,不停的创建线程,用完了以后又回收
  • newScheduledThreadPool
    • 提交任务后,在指定的时间去执行

我们也可以构造自己的线程池,来实现一些我们想要的一些功能。

阅读全文 »

ThreadLocal

1
2
3
4
5
6
7
public class ThreadLocalDemo {
public static void main(String[] args) {
ThreadLocal<Long> requestId = new ThreadLocal<Long>();
requestId.set(1L);
System.out.println(requestId.get());
}
}

ThreadLocal在并发编程里,非常常用,每个线程执行的时候,都保存一个变量的副本,每个线程自己用自己的,互不影响,经常用于保存一些上下文信息,或者请求的id之类的。

阅读全文 »

synchronized

synchronized就是加锁,一旦加锁以后,就只能当前线程访问和修改加锁的变量,其他线程只能阻塞等待,这就保证了原子性。

synchronized可以锁两种对象,一种是对某个实例对象进行加锁,一种是对类进行加锁。对类加锁,本质上也是对实例加锁,只不过是对class对象进行加锁。

如果用synchronized修饰普通方法,那就是对当前类的实例进行加锁。

阅读全文 »

AtomicInteger

AtomicInteger,可实现原子化的操作,不需要加锁,他底层是通过CAS实现的,看下使用方式

阅读全文 »

volatile

先说结论,volatile是非常常用的东西,他保证了可见性和有序性。这2个特性分别涉及了JVM的底层原理,最常用的场景,就是共享变量加volatile修饰,这样不同的线程来修改的时候,才能即时的识别到改变,比如标志位、开关等。

阅读全文 »
0%