最复杂的系统,最简单的内核先看一段代码。这是Claude Code的核心执行逻辑——不是简化后的伪代码,这就是它的实际结构:
async function agentLoop(initialMessages: Message[]) {
let messages = initialMessages;
while (true) {
// 1. 调用模型
const response = await callModel(messages);
// 2. 如果没有工具调用,结束
if (!response.toolCalls?.length) {
return response.text;
}
// 3. 执行工具,收集结果
const toolResults = await executeTools(response.toolCalls);
// 4. 把结果追加到消息列表,继续循环
messages = [...messages, response, ...toolResults];
}
}
就这?对,就这。一个while循环,调模型 → 跑工具 → 把结果喂回去 → 再调模型。没有状态图、没有任务队列、没有预设pipeline。任何写过LangChain的人都能在20行代码里实现同样的逻辑。但Claude Code的50万行代码里,95%不在这个循环本身,而在围绕它构建的一系列基础设施。
【How Claude Code Works ? Claude Code到底是怎么工作的?】
http://t.cn/AXoLJaMM
发布于 浙江
