ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

把Claude Code变成函数:AgentField Harness编排与6大编码Agent Provider实战

把Claude Code变成函数:AgentField Harness编排与6大编码Agent Provider实战 把Claude Code变成函数AgentField Harness编排与6大编码Agent Provider实战【免费下载链接】agentfieldBuild, run and scale AI agents like API and microservices项目地址: https://gitcode.com/gh_mirrors/ag/agentfieldAgentField 是一款开源的 AI Backend 控制平面AI Backend Control Plane它的app.harness()API 能把 Claude Code、Codex、Gemini CLI 等编码 Agent 变成可被任意服务调用的函数——一次函数调用背后是一个会读文件、改代码、跑测试并自我迭代的多轮编码 Agent。这正是 AgentField 的Harness 编排能力你不再需要手工拼队列、重试和沙箱控制平面替你处理全部脏活。什么是 Harness 编排编码 Agent 不只是聊天窗口很多人用 Claude Code 的方式是打开终端、粘贴提示词、等结果。这在个人开发时没问题但当第二个服务、一个定时任务、或另一个 Agent 也想触发它时你就得自己写进程管理、输出解析、失败重试和成本核算。AgentField 把这套东西标准化为一个方法方法用途特征app.ai()单轮 LLM 调用一问一答返回结构化数据app.harness()多轮编码任务浏览文件 → 编辑代码 → 运行测试 → 迭代最终按约定契约返回关键设计是同一套结构化输出契约不管底层跑的是哪个编码 Agent你的业务代码拿到的都是同一个带 Schema 的结果对象。这就是把 Claude Code 变成函数的核心。一次调用一个函数app.harness() 快速上手用 Python SDK一个编码任务只需要几行更多细节见 docs/harness-providers.mdfrom pydantic import BaseModel class Report(BaseModel): files_changed: list[str] summary: str tests_passed: bool result await app.harness( 修复 tests/test_auth.py 中失败的测试, schemaReport, providerclaude-code, # 省略则使用默认 provider cwd/path/to/repo, ) print(result.summary)Go 和 TypeScript 完全等价例如 Go SDK 里是agent.Harness(ctx, task, schema, dest, harness.Options{Cwd: repoRoot})。Provider 选择遵循一条固定优先级链理解它就理解了全部切换逻辑调用时显式传参app.harness(task, providercodex)环境变量AGENTFIELD_HARNESS_PROVIDERclaude-code默认值aforgeAgentField 自家 Harness随安装包自动预置6大编码 Agent Provider 速览安装与认证一张表AgentField 默认自带AForge并内置了主流编码 CLI 的适配器你只需要装好上游 CLIProvider安装方式认证特点aforge默认af aforge ensure随 af 自动附带OPENROUTER_API_KEY开箱即用无需额外配置claude-codepip install agentfield[harness-claude]Claude 登录或ANTHROPIC_API_KEY原生 Python/TS SDK 接入进程内执行codexnpm install -g openai/codexCodex 登录或OPENAI_API_KEYOpenAI 编码 Agentgemininpm install -g google/gemini-cliGemini 登录或 API Key纯 CLI 子进程opencodeOpenCode 官方安装脚本在 OpenCode 内配置内置并发上限保护pinpm install -g earendil-works/pi-coding-agent登录或 API Key轻量编码 Agent 额外还有omp、grok等 Provider。Python 用户一条pip install agentfield[harness-all]装齐全部封装AForge 和 Gemini 为纯 CLI 形态。完整表格见 docs/harness-providers.md。付费运行前先做一次免费体检——af harness doctor只做静态预检、绝不会触发模型计费af harness doctor --provider codex,opencode,pi --json换 Worker 不改业务代码Harness 编排最爽的一点同一循环代码只换provider参数底层 Worker 就从 AForge 换成 Claude Code 或 Codexreport await app.harness(task, schemaReport) # AForge report await app.harness(task, schemaReport, providerclaude-code) # Claude Code report await app.harness(task, schemaReport, providercodex) # Codex也可以把默认值固化到 Agent 上整个 Agent 只写一次app Agent( node_idmy-agent, harness_configHarnessConfig(providercodex, modelsonnet), )模型字符串还支持#后缀指定推理强度例如modelopenrouter/google/gemini-2.5-flash#low。想深入了解架构分层Runner 负责重试、Schema 编排、成本追踪Provider 只负责执行可以读 docs/design/harness-v2-design.md。安全护栏预算、轮次与工具白名单编码 Agent 拥有改文件、跑命令的能力生产环境必须管住它。AgentField 的 Harness 层围绕膜membrane概念提供边界控制工作区隔离、行为漂移检测、结果验证和爆炸半径限制。每次调用都可以按需收紧cwd把 Agent 锁死在指定仓库目录max_turns限制多轮迭代上限防止死循环烧钱max_budget_usd单次任务预算封顶tools工具白名单只放行Read、Grep等只读工具即可做分析不改码任务重试与并发Runner 内置指数退避重试AFORGE_MAX_CONCURRENT、OPENCODE_MAX_CONCURRENT控制并发子进程数依赖在执行中途消失时Provider 会抛出带安装命令的HarnessProviderUnavailable错误而不是静默失败——错误信息本身就告诉你怎么修。实战场景一次 API 调用驱动一个工程团队Harness 真正的威力出现在编排层。在 ReasonerAgentField 的普通函数单元里调用app.harness()编码 Agent 就成了工作流中的一个节点受控制平面统一排队、路由、追踪app.reasoner() async def fix_issue(issue: dict) - dict: result await app.harness( f修复: {issue[title]}\n\n{issue[description]}, schemaIssueFixResult, cwdissue[repo_path], max_turns150, tools[Read, Write, Edit, Bash, Glob, Grep], ) return result.model_dump()一个请求扇出到成百上千个 Agent 调用时控制平面负责队列、重试和全链路追踪——这正是 AgentField 作为 AI Backend 在技术栈中的位置官方示例examples/go_agent_nodes/cmd/harness_duo展示了如何把同一个任务并发扇出给 Pi 和 OMP 两个 Provider再汇总结果——多 Provider 对比、A/B 验证的完整可运行模板见 examples/go_agent_nodes/cmd/harness_duo/。延伸阅读文档与源码路径Provider 完整文档安装表、模型变体、并发参数docs/harness-providers.md架构设计文档docs/design/harness-v2-design.mdPython Provider 适配器源码sdk/python/agentfield/harness/providers/Go Provider 与 Runner 源码sdk/go/harness/多 Provider 并发扇出示例examples/go_agent_nodes/cmd/harness_duo/TypeScript SDK 入口sdk/typescript/src/index.ts一句话总结app.ai()管单轮智能app.harness()管多轮编码——六个 Provider 一个接口Claude Code 从此不再是聊天窗口而是你系统里一个带 Schema、带预算、带追踪的函数。【免费下载链接】agentfieldBuild, run and scale AI agents like API and microservices项目地址: https://gitcode.com/gh_mirrors/ag/agentfield创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表