昨天 GitHub 趋势榜还是 MoneyPrinterTurbo、markitdown、liteparse 三家唱主角,今天它们集体后退,前三名加起来才占总星的 29%。没有一家独大,但三个加速最快的项目各自指向一个截然不同的方向——多智能体协作、Claude Code 工程增强、从零构建技术栈的经典教程。三个方向,三种加速逻辑,值得拆开看。
多智能体协作:让 AI 学会"团队配合"
第一个方向的核心命题是:单个 AI 再强,也扛不住复杂任务链。多智能体框架让多个角色分工协作,一个负责规划,一个负责执行,一个负责审查,像真实团队一样运转。
这类项目的加速逻辑很直接——开发者不再需要自己编排调用顺序,框架替你搞定角色分配、消息传递和结果汇总。你只需要定义每个 agent 的职责和工具集。
实际落地时,最关键的决策点是:选哪个框架、怎么定义角色边界。下面用一个最小可运行的多智能体协作示例来演示核心思路:
# crewai_minimal.py — 最小多智能体协作示例
# 安装: pip install crewai crewai-tools
from crewai import Agent, Task, Crew, Process
# 定义三个角色
planner = Agent(
role="技术方案规划师",
goal="根据需求拆解出可执行的技术子任务",
backstory="你擅长把模糊需求变成清晰的步骤清单",
verbose=True,
)
coder = Agent(
role="代码实现工程师",
goal="按照规划清单逐项写出可运行的代码",
backstory="你只写代码,不做架构决策",
verbose=True,
)
reviewer = Agent(
role="代码审查员",
goal="检查代码是否有 bug、是否遗漏边界情况",
backstory="你只找问题,不写代码",
verbose=True,
)
# 定义任务链
plan_task = Task(
description="为以下需求制定技术方案:实现一个命令行工具,接收 CSV 文件路径,输出按第二列排序后的 JSON",
expected_output="包含 3-5 个子步骤的方案清单",
agent=planner,
)
code_task = Task(
description="按照方案清单实现代码,输出完整 Python 脚本",
expected_output="可直接运行的 .py 文件内容",
agent=coder,
)
review_task = Task(
description="审查上一步产出的代码,列出所有问题并给出修改建议",
expected_output="问题清单 + 修改后的完整代码",
agent=reviewer,
)
# 组建 Crew,顺序执行
crew = Crew(
agents=[planner, coder, reviewer],
tasks=[plan_task, code_task, review_task],
process=Process.sequential, # 顺序执行,也可选 hierarchical
)
result = crew.kickoff()
print(result)
运行前需要配置 LLM 后端(OpenAI 或本地模型),具体看 crewai 文档。关键设计点:每个 agent 只做一件事,规划者不写代码,审查者不改代码,职责越窄,协作越稳。
Claude Code 工程插件:给 AI 编程助手装上"专业工具箱"
第二个方向瞄准的是 Claude Code 这类 AI 编程助手的使用体验。裸跑 Claude Code 能写代码,但缺少工程化支撑——没有 lint 集成、没有测试钩子、没有项目级上下文注入。插件体系的出现,本质上是在回答一个问题:AI 编程助手到底该嵌入到工程流程的哪个环节?
这类加速项目的思路是:把 Claude Code 从"聊天式写代码"升级为"工程式写代码"。插件可以注入 .claude/ 目录下的配置,定义自定义命令、MCP 工具服务器、项目级规则文件,让 AI 助手在启动时就带上项目上下文。
一个典型的工程插件配置示例:
# .claude/settings.yml — Claude Code 项目级工程配置
# 放在项目根目录,Claude Code 启动时自动加载
commands:
lint:
description: "运行项目 lint 并把结果喂给 Claude"
run: "ruff check . --output-format=json"
test:
description: "跑单测并返回失败详情"
run: "pytest --tb=short -q"
mcp_servers:
filesystem:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "./src", "./tests"]
git:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-git"]
project_rules:
- "所有新函数必须有类型标注"
- "优先使用项目已有的 utility 函数,不要重复实现"
- "修改 API 接口时必须同步更新对应的测试"
- "提交前必须通过 lint 和 test 命令"
把这个文件放到项目根目录后,Claude Code 在该目录下启动时会自动读取配置。commands 定义了可被 AI 调用的 shell 命令,mcp_servers 挂载了文件系统和 Git 的 MCP 工具,project_rules 则是注入给 AI 的硬性约束。
实际收益:AI 不再凭空写代码,而是先 lint、先看项目结构、先遵守团队规则。从"自由创作"变成"受约束的工程行为"。
从零搓技术:经典教程的持续吸引力
第三个方向是最朴素的——手把手教你从零实现一项技术。不是用框架,不是调 API,而是自己写数据结构、自己处理协议、自己跑通整个链路。
这类项目之所以持续加速,原因只有一个:理解深度的不可替代性。用 Redis 的人很多,能从零写一个简易 KV 存储的人极少。而后者在排查问题、做架构决策时,判断力完全不同。
这类教程通常覆盖的领域包括:自己写一个数据库、自己写一个操作系统内核、自己写一个 Web 服务器、自己写一个编译器、自己写一个 Docker……每个都是硬核但可逐步推进的工程。
下面给一个最小示例——从零实现一个支持 GET/HEAD 的 HTTP 服务器,只用 Python 标准库:
# tiny_http_server.py — 从零搓一个 HTTP 服务器
# 不依赖任何第三方库,直接运行: python tiny_http_server.py
import socket
import os
def handle_request(method, path):
"""根据方法和路径返回响应"""
if method not in ("GET", "HEAD"):
return "HTTP/1.1 405 Method Not Allowed\r\nContent-Length: 0\r\n\r\n"
# 把路径映射到本地文件,防止路径穿越
safe_path = os.path.normpath(path).lstrip("/")
filepath = os.path.join("public", safe_path)
if not os.path.isfile(filepath):
return "HTTP/1.1 404 Not Found\r\nContent-Length: 9\r\n\r\nNot Found"
content_type = "text/html" if filepath.endswith(".html") else "text/plain"
body = b""
if method == "GET":
with open(filepath, "rb") as f:
body = f.read()
header = (
f"HTTP/1.1 200 OK\r\n"
f"Content-Type: {content_type}\r\n"
f"Content-Length: {len(body)}\r\n"
f"Connection: close\r\n\r\n"
)
return header.encode() + body
def start_server(host="127.0.0.1", port=8080):
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server.bind((host, port))
server.listen(5)
print(f"Listening on {host}:{port}")
while True:
conn, addr = server.accept()
data = conn.recv(4096).decode("utf-8", errors="ignore")
if not data:
conn.close()
continue
# 解析请求行: METHOD /path HTTP/1.1
request_line = data.split("\r\n")[0]
parts = request_line.split(" ")
method, path = parts[0], parts[1] if len(parts) > 1 else "/"
response = handle_request(method, path)
conn.sendall(response if isinstance(response, bytes) else response.encode())
conn.close()
if __name__ == "__main__":
# 先创建一个测试文件
os.makedirs("public", exist_ok=True)
with open("public/index.html", "w") as f:
f.write("<h1>Hello from tiny server</h1>")
start_server()
运行后访问 http://127.0.0.1:8080/index.html 即可看到结果。这个示例虽然简陋,但涵盖了 HTTP 协议解析、socket 编程、路径安全处理、Content-Type 判断等核心环节。从这里出发,你可以逐步加上:POST 支持、MIME 类型映射、并发处理(threading 或 asyncio)、日志记录、Keep-Alive 连接复用——每一步都是在加深对 Web 服务器本质的理解。
三个方向的取舍清单
| 维度 | 多智能体协作 | Claude Code 工程插件 | 从零搓技术教程 |
|---|---|---|---|
| 适合谁 | 需要编排复杂 AI 工作流的团队 | 用 Claude Code 做日常开发的个人/团队 | 想深度理解底层原理的开发者 |
| 上手成本 | 中(需选框架、定义角色) | 低(写 YAML 配置即可) | 高(需要持续投入时间) |
| 立即可用性 | 有框架就能跑 demo | 配置生效后立刻改变 AI 行为 | 每一步都可独立验证 |
| 长期收益 | 工作流复用、角色模板沉淀 | 工程规范内化到 AI 助手 | 架构决策力与问题排查力 |
建议:
- 如果你正在搭建 AI 工作流,先从多智能体框架的最小 demo 开始,别一开始就定义五个 agent——两个角色足够验证协作逻辑。
- 如果你日常用 Claude Code,今天就可以加一个
.claude/settings.yml,先只写两条 project_rules 和一个 lint 命令,立刻能感受到差异。 - 如果你想补底层理解,挑一个你最常用的技术(数据库、Web 服务器、容器)从零实现,每周推进一个功能点,三个月后你会发现自己看问题的角度完全不同。
三个加速方向,没有哪个是"爆款",但每个都在解决一个真实问题:AI 怎么协作、AI 怎么守规矩、人怎么真正懂技术。