面试官问你:“一个 Agent 有哪些核心组件?”如果你回答“一个 LLM 加上几个工具”,面试官会觉得你的理解得太粗糙了,根本不懂 Agent。讲真,我有读过 Claude Code 的源码,发现 90% 的代码都是在做基础设施,LLM 和工具调用只是冰山一角。
为什么?
因为一个能跑的 Agent,至少需要五大核心组件协作。模型是大脑,工具是手脚,记忆是经验,规划是策略,Harness 是躯干。缺一不可。

哈喽大家好,我是二哥呀。今天用 3 分钟,带你拆透 Agent 的完整架构。
面试官问这道题,考察两个方面:第一,你能不能清晰列出 Agent 的核心组件;第二,这些组件之间怎么协作,你有没有架构级别的理解。
好,接下来给你满分回答,照着背就完事了。
LLM、tool use、Memory、Planning、Harness,这五个组件,逐个来看。
逐个来看。
第一,模型,也就是 Model。负责推理、决策、选工具、填参数。你给它一段对话历史和一组工具定义,它告诉你下一步该干什么。但模型只会想,不会动手。
第二,工具,也就是 Tools。让 Agent 能和外界交互——读文件、跑代码、搜索、调 API。每个工具带名称、描述和参数的 JSON Schema,注册到工具表里。模型返回 tool_calls,Harness 从工具表里找到对应函数直接执行。
第三,记忆,也就是 Memory。短期记忆记住当前任务干到哪了;长期记忆跨会话存储项目知识和用户偏好,比如 Claude Code 的 CLAUDE.md。
第四,规划,也就是 Planning。ReAct 一步一步走,Plan-and-Execute 先出全局计划再逐步执行。
重点来了,第五个——Harness,运行时环境。
Harness 是把前面四个组件串起来的躯干。它管四件事。管循环——模型返回 tool_calls 就继续跑,返回纯文本就停。管权限——哪些工具可以自动执行,哪些必须问用户。管上下文——对话历史太长就进行摘要压缩,防止撑爆窗口。管错误恢复——工具报错了是重试还是换策略。Harness 不做任何“思考”,但没有它,模型、工具、记忆、规划全是散装零件,拼不成一个能跑的 Agent。
面试官如果继续追问:“模型和 Harness 哪个更重要?”
告诉他——模型和 Harness 同等重要。模型是引擎,Harness 是引擎之外的底盘、刹车、方向盘、车身等等。
就像Claude Code不能没有Opus,Codex 不能没有GPT,反之亦然。好的Agent,必须用上最顶级的模型,但也必须有一个强大的 Harness。
最后送大家一句口诀——模型是脑工具是手,记忆规划各有用;Harness 负责串联,谁也离不开谁。
这道题你学废了吗?想解锁更多 Agent 面试题的源码级拆解,点赞关注,我是二哥,下期见!
回复