Components of A Coding Agent

作者: Sebastian Raschka | 来源: Sebastian Raschka's Blog | 日期: 2026-04-05

核心观点

这篇文章系统性地解释了coding agent的六大核心组件。对于理解LLM如何在真实编码环境中工作,这篇文章提供了权威的参考框架。

关键洞见: 当前的LLM(如GPT-5.4、Claude Opus 4.6、GLM-5)在基础能力上已经非常接近,真正的差异化往往在于agent harness——即围绕模型的外层软件架构。

LLM vs Reasoning Model vs Agent vs Harness

六大核心组件

1. Live Repo Context (WorkspaceContext)

当用户说"修复测试"或"实现XYZ"时,模型需要知道:

Agent在开始工作前收集这些"稳定事实"作为workspace summary,而不是每次都从零开始。

2. Prompt Shape And Cache Reuse

Coding sessions是重复性的:

智能的runtime不会在每个turn重建所有内容,而是构建稳定的prompt prefix,只在需要时添加变化的部分。

3. Structured Tools, Validation, And Permissions

工具是agent能力的延伸:

关键:需要对危险操作进行权限控制和验证。

4. Context Reduction And Output Management

随着对话进行,context会增长。需要:

5. Transcripts, Memory, And Resumption

会话持久化能力:

6. Delegation And Bounded Subagents

子代理委托能力,让agent可以调用其他agent完成子任务。

实践示例: Mini Coding Agent

Sebastian Raschka提供了一个极简的开源实现,用纯Python实现,包含约400行代码,展示了所有6个核心组件。

GitHub: https://github.com/rasbt/mini-coding-agent
特性: Workspace snapshot collection, stable prompt + turn state, structured tools, approval handling, transcript/memory persistence, bounded delegation

为什么这很重要

文章指出一个重要观点:

如果把最新的开源LLM(如GLM-5)放入类似的harness中,它很可能在Codex或Claude Code中与GPT-5.4或Claude Opus 4.6性能相当。虽然这只是推测,但说明harness可能是区分不同LLM系统的关键因素。

换句话说:模型是引擎,harness帮助模型发挥最大潜力。这解释了为什么Claude Code或Codex能够比相同模型在普通聊天界面中表现更强。

相关资源