Posts
算法工程化算力方案设计
我们的根本需求其实有两点:
- 解决不确定的算力需求
- 解决算法同学工程化能力不足
- 解决后端同学集成难读过高
硬需求:
- 入口与流量
- 流量可视化
- 进程/部署
- 自动化算力动态扩缩
- 自动化部署
- 健康观测
- 指标收集与可视化
- 服务健康查询
- 韧性
值得一提的是,任何一个硬需求部分都不是一蹴而就的,也许我们需要按照优先级先实现其中一部分,或者实现其中大部分的一个起点
Claude Code 基础分享IV - 提示词与工作流
什么是工作流
我不太希望把工作流和n8n搭建的自动化工作流混淆,n8n搭建的工作流很大程度上是为了适配固定的情景和模式,在我们的日常工作中,工作流更多是变化的,需要根据具体需求进行定制和调整。
好消息是这并非很复杂或者耗时,你更多的是在着手工作之前为任务制定一个小目标,然后试着思考如何达成它,你自己的工作流很大程度上是关于“我该如何操作claude code”,而不是我该如何搭建一个自动化工作流。
梳理你的工作
在任务开始之前,你需要至少做两件事
- 明确的目标
- 可被量化分解的计划
让我们以一个图书管理系统来做例子
“我想要一个图书管理系统” 是一个不够明确的目标。
Claude Code 基础分享III - MCP 和 Subagent
在上一篇内容中,我们叙述了Claude Code的上下文机制,包括了Slash Command、Skills和Context的使用方法。
本篇内容将深入探讨Claude Code的两个核心概念:MCP(Model Context Protocol) 和 Subagent。
- MCP是Agent和外部服务的通信协议,它定义了Agent如何与外部服务进行交互,如果对技术细节感兴趣,可以查阅官方文档。
- Subagent是Agent的子Agent,它可以在Agent中运行,可以访问Agent的上下文,可以与外部服务进行交互。总的而言Subagent就像一个由Agent委派任务的小兄弟,帮它完成一些任务。
虽然看起来Subagent和MCP都是全新的概念,但事实上它们实际的表现形式仍旧和上下文高度相关,它们都是为了扩展Agent的能力而设计的。
Claude Code 基础分享II - SKILL COMMAND COMPACT 一切都是上下文
在我个人粗鄙的理解中,所有,所有这一切
都是上下文
什么是上下文?
上下文,是claude code 与你交互时,所有信息的总和,包括你发送的prompt,claude code的回复,claude code执行的命令,claude code编辑的文件,claude code的思考过程,claude code的计划文件,所有这些全都是上下文。
Claude Code 基础分享I - 安装与基础使用
安装与基础使用
使用如下命令全局安装即可(你需要node >= 22.0)
npm install -g claude-code
基础配置
配置文件位于 ~/.claude-code/config.json,你可以通过编辑该文件来配置Claude Code的行为。
如何配置opencode在web场景下工作
opencode 简介
opencode 是一个基于 OpenAI API 的工具,旨在帮助开发者更高效地进行代码开发和调试。它通过提供智能提示、代码补全和错误修复等功能,极大地提高了开发效率。在 web 场景下,opencode 可以通过浏览器扩展或集成到 IDE 中,为开发者提供实时的代码支持。
Claude Code vs OpenCode:AI 编码助手能力对比
概述
Claude Code 和 OpenCode 都是终端 AI 编码助手,但它们在设计理念、开放性和功能上存在显著差异。
核心差异
开源性
- Claude Code:闭源,由 Anthropic 官方开发维护
- OpenCode:开源(GitHub: anomalyco/opencode),社区驱动
模型支持
Claude Code
Crush 代码修改工具学习
Crush 代码修改工具学习
概述: Crush是什么?
Crush 是由 Charm 开发的一款开源 AI 编程助手框架,它将大语言模型(LLM)与开发工具深度集成到终端环境中。本文将深入分析 Crush 中负责代码修改的核心工具实现,揭示其如何在保证安全性和可靠性的前提下,实现智能化的代码编辑功能。
ARS 第一版草稿设计(V)Tools Provider(Agent 提供者)
在前两篇中,我们已经完成了 **ChatSession / Message / SSE 和 Orchestrator 的基础实现, 目前已经可以顺利的用Dummy(假接口)做成了一个 可以正常交互的应用。(Orchestrator 目前还是非流式,这个可以回头再说)
ARS 第一版草稿设计(IV)Agent Provider(Agent 提供者)
在前两篇中,我们已经完成了 **ChatSession / Message / SSE 和 Orchestrator 的基础实现, 目前已经可以顺利的用Dummy(假接口)做成了一个 可以正常交互的应用。(Orchestrator 目前还是非流式,这个可以回头再说)
ARS 第一版草稿设计(III)Agent Orchestrator(Agent 编排器)
在前两篇中,我们已经完成了 ChatSession / Message / SSE 等基础设施的设计与实现, 至此,一个“可持久化、可回放、可续传”的对话系统已经成型。
这一篇开始进入 ARS 的核心能力:
为什么我没有用 LangChain(以及我为什么一点都不后悔)
LangChain 不是不好,而是它解决的问题,和我正在解决的问题,并不一致。
我在做一个偏底层的 Agent Runtime Server(不是写 Demo 那种),被朋友问了一句:
“你为什么不用 LangChain?不是很方便吗?”
ARS 第一版草稿设计(II)ChatSession
💬 Chat Session - 会话管理
Chat Session 的本意是一次完整的对话上下文,由于这个系统需要维持多套的上下文存在所以必须有实体ID。
同时 session 中不可能仅包含一次对话,我们需要进一步拆分成同一个 session 中的多个 message。 Message 是事实(source of truth),Session 是投影(projection / cache)。 这样遇到“双写不一致”时才有可依赖的裁决标准。 结构上,差不多是这么个样子
ARS 第一版草稿设计(I)愿景与主体
🎯 愿景
我要构建一个 Agent Runtime Server,最终的愿景如下:
✅ 核心目标
- 🔄 能兼容大部分的Agent 模型
- 💻 随时能在web终端中输入新的指令
- 📊 随时在web终端中查看Agent运行日志
- 🔌 即便在web终端断开链接,Agent也能正常执行
- 🔙 重新连入web终端,能继续之前的Agent会话
💡 我需要的真正能力 - 改变现有的开发方式: