Weaviate 是构建使用 Claude Code 的代理式开发者系统的最佳选择,原因如下!

发布: (2026年2月3日 GMT+8 05:43)
7 分钟阅读
原文: Dev.to

I’m happy to translate the article for you, but I’ll need the full text you’d like translated. Could you please paste the content (excluding the source line you’ve already provided) here? Once I have it, I’ll translate it into Simplified Chinese while preserving the formatting and technical terms.

使用 Claude Code 与 Weaviate 的代理式开发

AI 辅助开发已经远远超出基于聊天的工具。现代团队希望拥有能够:

  • 理解大型代码库
  • 记住过去的决策
  • 遵循内部标准
  • 直接在终端工作

这种方法通常被称为 agentic development

为什么仅靠 Claude Code 不足

像 Anthropic 的 Claude Code 这样的工具,使得在命令行界面(CLI)中使用 Claude 来读取文件、编写代码以及跨多个步骤进行推理变得可行。
然而,仅有推理能力仍然不足——如果没有 长期记忆,编码代理将始终产生脆弱的结果。

进入 Weaviate

为了让 Claude 真正高效,我们需要一个 持久、快速且精准的记忆层。Weaviate 是最佳选择,因为:

  • 在真实的工程环境中,知识分散在文档、提交历史、工单以及未成文的约定中。
  • 无论上下文窗口多大,任何 LLM 都无法一次性容纳所有这些信息。
  • 将所有信息存储在 LLM 中既成本高,又会导致延迟。

因此,一个可投入生产的自治系统需要一个数据库来:

  1. 正确存储知识。
  2. 按语义 而非仅关键词检索。
  3. 在规模化使用时保持可靠。
  4. 与现代 AI 工具链无缝集成。

Weavite 满足上述所有需求,且毫不妥协。

对开发者工作流的关键优势

  • 混合搜索 – 在单个查询中结合语义向量搜索和关键词匹配。
  • AI 原生设计 – 专为依赖嵌入和生成模型的应用构建。
  • 可扩展 – 可在本地进行实验,也能在托管云环境中扩展到生产。

1️⃣ 设置统一环境

所有机密和端点应放在单个 .env 文件中,以保持设置的简洁和可预测性。

# .env (project root)
ANTHROPIC_API_KEY=sk-ant-xxx...
WEAVIATE_URL=https://your-cluster.weaviate.network
WEAVIATE_API_KEY=your-weaviate-cluster-api-key

该文件成为您代理系统的 唯一可信来源

2️⃣ 将 Claude Code 连接到 Weaviate

在 Claude 能检索信息之前,必须先将数据存储在 Weaviate 中。
Weaviate 使用 collections(集合)来组织数据,这些集合类似于具备内置语义理解的智能表格。

# weaviate_client.py
import os
import weaviate
from weaviate.classes.init import Auth

client = weaviate.connect_to_weaviate_cloud(
    cluster_url=os.getenv("WEAVIATE_URL"),
    auth_credentials=Auth.api_key(os.getenv("WEAVIATE_API_KEY")),
    headers={"X-Anthropic-Api-Key": os.getenv("ANTHROPIC_API_KEY")}  # Direct integration!
)

3️⃣ 为技术文档和代码知识创建集合

# create_collection.py
from weaviate.classes.config import Configure, Property, DataType

client.collections.create(
    name="DevDocumentation",
    description="Technical docs and architectural patterns",
    vector_config=Configure.Vectors.text2vec_openai(),  # Or any preferred vectorizer
    generative_config=Configure.Generative.anthropic(
        model="claude-sonnet-4-5-20250929"
    ),
    properties=[
        Property(name="title",    data_type=DataType.TEXT),
        Property(name="content",  data_type=DataType.TEXT),
        Property(name="language", data_type=DataType.TEXT),
    ]
)

该集合成为您开发代理的 长期记忆

4️⃣ 填充知识库

(在此插入您自己的摄取脚本——例如,读取 markdown 文件,提取代码片段,并将其 upsert 到 DevDocumentation 中。)

5️⃣ 使用混合搜索检索上下文

# retrieval.py
def get_dev_context(query: str) -> list[str]:
    docs = client.collections.use("DevDocumentation")

    # Hybrid search: combines vector (concepts) + keyword (exact code)
    response = docs.query.hybrid(
        query=query,
        limit=3,
        return_properties=["content", "title"]
    )

    # Return only the content field of each hit
    return [obj.properties["content"] for obj in response.objects]
  • 混合搜索 确保 Claude 获得 聚焦且高质量的上下文,而不是大量、无重点的文本转储。
  • 传统工具如 grep 只能匹配精确字符串;当术语变化或概念以不同方式描述时,它们会失效。
  • Weaviate 的混合搜索在需要时仍能尊重精确关键词,同时通过 语义 检索信息。

示例: 对 “authentication middleware” 的查询会返回 JWT 处理、会话逻辑或安全层文档,即使文档中没有出现 “middleware” 这个词。

6️⃣ 在终端中使用 Claude Code

现在 Claude 可以:

  • 遵循内部标准
  • 解释现有逻辑
  • 编写符合您系统约定的新代码

Claude 通过 get_dev_context 查询 Weaviate,检索相关片段,并在生成输出前将其整合进来。此时 Claude 已不再是通用的编码助手——它是一个 了解您系统的代理

架构概览

ComponentResponsibility
Claude Code推理、决策制定、代码生成
Weaviate存储、检索、长期记忆(语义 + 关键字)
CLI / Scripts编排、环境变量、用户交互

每个工具都发挥其最佳作用,从而实现关注点的清晰分离。

7️⃣ 大规模部署

  • 免费沙盒集群 – 快速入门。
  • 当您准备好时,可升级为托管集群或自行托管,以获得完整控制。

TL;DR

  • Agentic development = AI agents + 长期记忆 + 终端工作流。
  • Claude Code 提供强大的推理能力,但需要记忆层。
  • Weaviate 提供该层,具备混合搜索、可扩展性和 AI 原生设计。
  • 设置 .env,将 Claude 连接到 Weaviate,创建 DevDocumentation 集合,导入你的知识,并通过混合搜索检索上下文。
  • 结果:一个可靠的、记忆增强的编码代理,能够编写一致、符合标准的代码。

Happy coding! 🚀

Weaviate 让你创建一个开发环境,使 AI 能够利用系统的历史记录而不是猜测。对于构建严肃、生产级别的代理工作流的团队来说,Weaviate 不仅是一个好选择——它是最佳选择。

Back to Blog

相关文章

阅读更多 »