欢迎来到 Damn Agent
Damn Agent 的阅读方式、内容边界和核心入口。
Damn Agent 是一个面向开发者的 AI Agent 技术学习文档站。它不把智能体描述成一个单点能力,而是把它拆成可学习、可实现、可评测的工程系统。
你会在这里学到什么
- 如何理解 Agent Loop,以及它和普通 LLM 调用的区别。
- 如何设计工具调用、记忆、状态、上下文和人工接管。
- 如何用评测、日志、轨迹回放和权限控制让 Agent 更可靠。
- 如何比较 LangGraph、Mastra、AutoGen、CrewAI 等框架。
- 如何拆解研究型 Agent、代码 Agent 和运维 Agent 的真实工作流。
核心入口
- 智能体基础:从 ReAct、工具、记忆、规划到多 Agent 和 MCP。
- Agent Loop:理解观察、规划、执行、检查的循环结构。
- 工具调用与记忆:区分工具接口、上下文、记忆和状态。
- Harness 工程构件:拆解 Session、Harness、Sandbox 等工程边界。
- Claude Code 源码解析:把代码 Agent 的查询引擎、工具系统和扩展机制放到真实案例里看。
- 维护者:查看网站维护者头像和公开 ID。
一个最小心智模型
flowchart LR
A[用户目标] --> B[澄清边界]
B --> C[规划步骤]
C --> D[调用工具]
D --> E[观察结果]
E --> F{是否满足目标}
F -- 否 --> C
F -- 是 --> G[输出结论与证据]
最小 Agent 伪代码
type StepResult = {
observation: string;
done: boolean;
};
async function runAgent(goal: string) {
const state = { goal, trace: [] as StepResult[] };
while (state.trace.length < 8) {
const plan = await planNextStep(state);
const observation = await callTool(plan.tool, plan.input);
const result = await reflect(goal, observation);
state.trace.push(result);
if (result.done) {
return summarize(state);
}
}
return escalateToHuman(state);
}
这段代码不是为了直接复制,而是提醒你:Agent 的关键是循环、状态、工具边界和停止条件。