Claude Code · 动手实践题

实现一个 Agent Loop

核心循环本身很简洁,真正的难点在 harness —— 围绕循环的工程化设计。规模、工具、形态不限,评审重点是你在上下文、工具、执行边界等方面的取舍

Agent Loop
Message
Response
LLM claude / gpt / …
Tools Bash / Shell
可选切入方向 · 任选其一深入(不限于此)
Memory
Skills
Resilience
Sandbox
Prompt Cache
Context Eng.
Observability
Subagents
More…
验收要求
完整的循环

LLM 能自主判断是否调用工具、处理工具结果、并持续推理直到给出最终答复

至少包含 Bash / Shell 工具

可在此基础上扩展任意其它工具,数量、形态不限

可交互验收

能通过网页、CLI、Notebook 等任意界面真实对话体验

harness 工程化的深度思考

Agent Loop 本身很简洁,评审的核心是你对 harness 的设计取舍:上下文如何组织、工具如何抽象、错误如何恢复、执行边界如何划定。无论口头讲解还是落到代码,都请清晰呈现

可选方向 · 任选其一作为切入点

以下方向非穷尽,都是展示 harness 设计思考的好载体;也欢迎自带你关心的议题

Memory — 跨轮次 / 跨会话的上下文管理
Skills / Multi-tool — 多工具协作、工具选择策略
Resilience — 模型调用重试、loop 错误恢复、工具失败兜底、执行安全边界
Sandbox — 工具执行隔离、权限与资源边界
Prompt Cache — 提示词缓存,降低延迟与成本
Context Engineering — 长对话压缩、窗口管理、上下文裁剪
Observability — 追踪、日志、Token / 成本统计
Subagents — 子 agent 分派、多角色协作
Other — 以上并非清单,欢迎自带你关注的 harness 议题
参考任务
CPU / 内存占用排查

找出当前最占 CPU 或内存的进程,说明它是什么、在做什么、是否需要关注

压力点 · top / ps 输出行数多、噪声大 —— 考察上下文裁剪、输出摘要、多步推理的链路管理

磁盘空间诊断与清理

"/根分区快满了" —— 定位最占空间的目录,给出清理方案并(在允许范围内)执行

压力点 · du 可能长时间无输出;清理动作触及 rm —— 考察长耗时工具、执行边界 / sandbox、危险动作的确认机制

端口占用排查

查清某个端口被谁占用、对应进程是什么、服务是否健康

压力点 · lsof / netstat 输出非结构化、平台差异、可能需要 sudo —— 考察工具组合、权限错误的恢复与兜底

偶发问题根因定位

"某服务过去 1 小时内偶发超时 / 502,不稳定复现" —— 让 agent 组合日志、进程、网络信号给出合理假设

压力点 · 非确定性问题、工具本身可能抖动或超时 —— 直接考察 Resilience(重试、容错)与观测性设计