Claude 编码助手不是自动补全框。它是一个循环:读取任务,决定下一步做什么,使用工具,检查结果,并持续进行,直到代码真正被修复。
Claude Code 是一个常见的例子,但真正有用的是其背后的工作流程本身。如果你想了解官方产品的定义,可以从 Anthropic 文档中的 Claude Code 开始。
Claude 编码助手需要什么
一个真正的编码助手通常包含四个部分:
| 组件 | 功能 |
|---|---|
| 规划器 | 将请求转化为简短的任务列表 |
| LLM | 选择下一步操作 |
| 工具 | 读取文件、写入文件、运行命令 |
| 沙箱 | 保持工作环境隔离 |
如果移除沙箱,代理仍然可以讨论代码,但会失去使其真正有用的特性:安全执行。如果移除工具,它就会变成一个只有观点的聊天模型。这个循环之所以重要,是因为每个部分都依赖于其他部分。
编码助手循环如何工作
在实践中,流程很简单:
- 读取请求。
- 检查相关文件。
- 做一个小改动。
- 运行测试或命令。
- 读取失败或成功的结果。
- 修复下一个问题。
- 当结果足够好时停止。
这就是为什么编码助手给人的感觉与普通助手不同。它们不仅仅是解释该做什么,而是实际执行工作,然后根据结果做出反应。
Novita AI 如何驱动 Claude 编码助手
Novita 处理该循环中最重要的两个部分:
- Novita AI 的 LLM API 用于推理和代码生成
- Novita 代理沙箱 用于执行和工具使用
如果你正在构建一个类似 Claude 的工作流程,这种拆分是正确的做法。让模型负责规划,让沙箱负责运行,让你的应用来控制权限和审批。
使用 Novita AI 的 Claude 编码助手示例
from openai import OpenAI
from novita_sandbox.code_interpreter import Sandbox
import os
client = OpenAI(
base_url="https://api.novita.ai/openai",
api_key=os.environ["NOVITA_API_KEY"],
)
sandbox = Sandbox.create(timeout=1800)
这种设置为你提供了两个必要的构建块:一个用于决策下一步的模型,以及一个用于实际命令执行的沙箱。
常见问题
Claude Code 和编码助手是同一个东西吗?
Claude Code 是编码助手的一个例子。更广泛的概念是它背后的循环。
我需要沙箱吗?
如果代理需要运行代码,那么答案是肯定的。没有隔离,失败模式将是实实在在的风险。
Novita 在哪些方面提供帮助?
使用 Novita 处理模型调用和执行层。这能让技术栈保持简单且更易于控制。
代理不应该做什么?
它不应该自主拥有执行权。让应用程序验证操作,然后让沙箱运行它们。
推荐阅读
