智能体
一个经过训练学会行动的模型加上能够让他在特定环境中工作的的基础设施就是一个智能体(Agency)
心智转换:从开发 Agency 到开发 Harness
开发 Agency 有两个含义
- 训练模型
- 构建 Harness
Harness = Tools + Knowledge + Observation + Action Interfaces + Permissions
Tools: 文件读写、Shell、网络、数据库、浏览器
Knowledge: 产品文档、领域资料、API 规范、风格指南
Observation: git diff、错误日志、浏览器状态、传感器数据
Action: CLI 命令、API 调用、UI 交互
Permissions: 沙箱隔离、审批流程、信任边界
模型做决策。Harness 执行。模型做推理。Harness 提供上下文。模型是驾驶者。Harness 是载具。
Harness 工程师到底在做什么
如果你在读这个仓库,你很可能是一名 harness 工程师 -- 这是一个强大的身份。以下是你真正的工作:
实现工具。 给 agent 一双手。文件读写、Shell 执行、API 调用、浏览器控制、数据库查询。每个工具都是 agent 在环境中可以采取的一个行动。设计它们时要原子化、可组合、描述清晰。
策划知识。 给 agent 领域专长。产品文档、架构决策记录、风格指南、合规要求。按需加载(s 05),不要前置塞入。Agent 应该知道有什么可用,然后自己拉取所需。
管理上下文。 给 agent 干净的记忆。子 agent 隔离(s 04)防止噪声泄露。上下文压缩(s 06)防止历史淹没。任务系统(s 07)让目标持久化到单次对话之外。
控制权限。 给 agent 边界。沙箱化文件访问。对破坏性操作要求审批。在 agent 和外部系统之间实施信任边界。这是安全工程与 harness 工程的交汇点。
收集任务过程数据。 Agent 在你的 harness 中执行的每一条行动序列都是训练信号。真实部署中的感知-推理-行动轨迹是微调下一代 agent 模型的原材料。你的 harness 不仅服务于 agent -- 它还可以帮助进化 agent。
你不是在编写智能。你是在构建智能栖居的世界。这个世界的质量 -- agent 能看得多清楚、行动得多精准、可用知识有多丰富 -- 直接决定了智能能多有效地表达自己。
Claude Code 本质
Claude Code = 一个 agent loop + 工具 (bash, read, write, edit, glob, grep, browser...) + 按需 skill 加载 + 上下文压缩 + 子 agent 派生 + 带依赖图的任务系统 + 异步邮箱的团队协调 + worktree 隔离的并行执行 + 权限治理
核心模式
def agent_loop(messages):
while True:
response = client.messages.create(
model=MODEL, system=SYSTEM,
messages=messages, tools=TOOLS,
)
messages.append({"role": "assistant",
"content": response.content})
if response.stop_reason != "tool_use":
return
results = []
for block in response.content:
if block.type == "tool_use":
output = TOOL_HANDLERS[block.name](**block.input)
results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": output,
})
messages.append({"role": "user", "content": results})
评论 (0)