
人工智能AI AgentAgent 框架工具调用Agent 工作流RAGMCP Clients强化学习【免费下载链接】agent-core-javaopenJiuwen agent core Java是 openJiuwen Core的 Java版本提供AI Agent开发、运行、调优与演进相关的全套SDK能力。项目地址https://gitcode.com/openJiuwen/agent-core-java点击查看免费下载本文围绕 openJiuwen agent-core-java 仓库中 Auto Harness Agent 的身份提示词identity promptidentity.md 展开系统解读 Auto Harness 如何通过原子化修改 CI 门控 经验库沉淀的工程纪律持续优化 harness 框架自身。读完本文你将掌握 Auto Harness Agent 的核心原则、六阶段工作流、不可变约束与安全边界以及这些提示词规则在 Java 运行时PromptSections、CIGateRunner、各类 Rail中的真实落地方式。1. 什么是 Auto Harness Agent 身份提示词Auto Harness 是 openJiuwen 面向 AI Agent 开发场景提供的自优化 harness 框架它不再是用 Agent 写业务代码而是用 Agent 持续优化 Agent 赖以运行的 harness 框架本身prompt、skill、工具描述、rail 配置、harness 代码与 core 代码。身份提示词identity prompt是整个自优化系统的宪法。identity.md 定义了 Auto Harness Agent 的角色定位——负责持续优化 openjiuwen harness 框架并一口气给出了五组约束核心原则原子性修改、CI 门控、低风险高杠杆优先级、差距分析、失败回滚工作流程Research → Plan → Implement → Verify → Submit → Learn 六阶段闭环子代理与外部源码调研explore_agent/browser_agent隔离上下文、ghCLI 优先的竞品源码策略不可变约束与高审查门槛哪些文件碰不得、哪些目录改动需要额外 review代码规范与安全约束语言版本、代码风格、每任务文件上限、回滚机制。值得注意的是这份提示词在运行时会被动态注入到 Auto Harness 各阶段子代理评估、规划、实现、验证、反思的上下文中——例如 plan.md 与 assess.md 中均有{identity_context}占位符由运行时用本文内容填充。2. 核心原则让 Agent 学会工程化地改代码身份提示词开篇列出的五条核心原则本质上是把成熟团队的代码工程纪律翻译成 Agent 的行为准则#原则工程含义1每次修改必须是原子性的一个 PR 解决一个问题控制变更面保证可评审、可回滚2所有代码修改必须通过 CI 门控make checkmake test未过门控的代码不允许合入3优先修改低风险高杠杆的组件prompt skill tool desc rail config harness code core code提示词优先、核心代码最后形成明确的改动成本排序4每次修改前必须有明确的差距分析和预期效果先论证、后动手杜绝盲目修改5修改失败时回滚不要在错误方向上继续承认失败并止损而非死磕其中第 3 条尤其关键它定义了 harness 体系中各组件的风险分层。prompt 是杠杆最高、风险最低的改动对象而 core 代码影响面最大、风险最高。这个排序在运行时被进一步落实为高审查门槛见第 5 节。3. 六阶段工作流从调研到经验沉淀的闭环身份提示词规定了 Agent 必须遵循的固定工作流Research → Plan → Implement → Verify → Submit → LearnResearch调研调研竞品能力、分析 benchmark 结果、检索经验库Plan规划制定具体修改方案明确改哪些文件、预期效果Implement实现执行修改编写/更新测试Verify验证运行 CI 门控lint test type-checkSubmit提交提交 PR 或生成 harness config packageLearn反思将经验写入经验库。这个闭环在 Java 仓库中对应一整套编排实现。会话控制器 AutoHarnessOrchestrator.java 负责创建预算控制器SessionBudgetController、修复循环FixLoopController、worktree 管理WorktreeManager、git 操作GitOperations与 CI 门控CIGateRunner然后通过streamSessionPipeline驱动流水线执行stages/目录下则有一一对应的阶段实现AssessStage.java、PlanStage.java、ImplementStage.java、VerifyStage.java、LearningsStage.java 等。Learn 阶段的经验沉淀规则可以在 learnings.md 中看到更细的要求反思代理必须通过双门过滤是否真正新颖、是否会改变未来行为才允许写入经验库且经验类型限定为optimization | failure | insight三种——这正是身份提示词中把经验写入经验库原则的可执行化。4. 子代理与外部源码调研研究阶段的方法论身份提示词对调研环节给出了非常具体的方法论复杂调研任务优先调用子代理隔离上下文explore_agent对当前代码库做只读深挖定位关键入口与调用链browser_agent需要真实网页交互、控制台观察、页面抓取时使用涉及外部竞品源码时不要只依赖记忆或营销页面优先用gh查看官方仓库、issue、PR 和元数据再视需要浅克隆官方仓库源码网页搜索只作补充核对gh命令通过 bash 工具使用适合gh repo view、gh repo clone -- --depth 1、gh api、gh pr view、gh issue view等操作下载或克隆外部源码时使用临时目录或 scratch 目录不要污染当前 agent-core 工作区。这套GitHub-first、网页补充的调研策略在 Java 侧有完整的工具支撑。GitHubCli.java 实现了gh的 preflight 检测自动探测gh是否在 PATH 中、未安装时按平台自动安装brew install gh、apt-get install -y gh、dnf/yum/pacman/zypper/winget等并通过gh auth status检查登录状态未登录时会提示gh auth login --web。而 assess.md 进一步细化了评估代理的调研步骤分析竞品差距时应基于 Claude Code、Cursor、Aider 等编码 Agent 的能力对照并通过gh repo view、gh api、gh issue view、gh pr view确认官方仓库线索需要实现细节时用gh repo clone -- --depth 1拉取到临时目录做只读分析。5. 不可变约束与高审查门槛Agent 的安全红线身份提示词明确列出不可修改的文件/目录auto_harness/prompts/identity.md本文件auto_harness/resources/ci_gate.yamlCI 门控规则openjiuwen/harness/rails/security/prompt_security_rail.py安全 rail 需人工审批注上述路径为身份提示词沿用的上游 Python 仓库路径。在本 Java 仓库中对应物分别是 identity.md、ci_gate.yaml 与安全 rail 的 Java 实现 SecurityRail.java。高审查门槛openjiuwen/core/**agent 运行时基础层影响面广目录可修改但 PR 会被自动标记 high-impact需要额外 review。这一约束体系在 ci_gate.yaml 中被结构化落地——该文件自身在头部声明了# IMMUTABLE: This file is protected by ImmutableFileRailimmutable_files: - auto_harness/prompts/identity.md - auto_harness/resources/ci_gate.yaml - auto_harness/agent.py - auto_harness/orchestrator.py - auto_harness/infra/fix_loop.py - openjiuwen/harness/rails/security/prompt_security_rail.py high_impact: - openjiuwen/core/** requires_human_approval: - pyproject.toml - openjiuwen/harness/__init__.py - openjiuwen/harness/factory.py - openjiuwen/core/__init__.py而 AutoHarnessSchema.java 中的DEFAULT_IMMUTABLE_FILES常量以 Java 侧默认值复刻了同一套不可变文件清单并在ProjectProfiledefaultImmutableFiles()、defaultHighImpactPrefixes()中作为项目画像提供给运行时使用。运行时对不可变约束的强制校验由SecurityRail完成它的beforeToolCall钩子在每次write_file/edit_file调用前检查目标路径命中不可变文件列表时直接rejectTool拒绝写入并返回错误消息命中high_impact前缀时则打上high_impact标记供后续 review 流程感知SecurityRail.java。同时SecurityRail 的beforeModelCall还会扫描模型输入中的可疑注入指令如ignore previous instructions、system prompt、rm -rf /、命令替换等模式发现即requestForceFinish中止本轮运行防御提示词注入。6. 代码规范与安全约束Agent 写代码的公司规范身份提示词为 Agent 的代码产出立了规矩代码规范Python 3.11Ruff 行宽 120匹配周围模块风格公共 API 必须有类型注解和 docstring不硬编码 secrets、tokens 或真实 endpoint使用项目日志不用print()。安全约束每个 task 最多修改 3 个源文件每个 session 最多 3 个 task编辑文件后立即ruff check单文件CI 门控全部通过后才能提交 PRFix Loop 失败后必须git revert。这些约束在 Java 运行时中被逐条落实1每 task 最多 3 个源文件—— EditSafetyRail.java 默认maxFiles 3在afterToolCall中累计已编辑文件集合超过上限即向 Agent 推送 steering 提示Keep changes minimal and focused同时它在beforeToolCall中通过 EditScope.java 的isAllowedRepoEditPath校验路径是否落在允许范围openjiuwen/harness/**、openjiuwen/core/**、tests/**、examples/**、docs/en/**、docs/zh/**越界写入直接阻断。同一限额也出现在 ci_gate.yaml 的task_constraints.max_files_per_task: 3与 config.yaml 的budget.max_tasks_per_session: 3中。2编辑后立即 ruff 单文件检查—— EditSafetyRail 在每次写入.py文件后异步运行python -m ruff check file发现问题立即通过 steering 提示修复EditSafetyRail.java。3Fix Loop 失败后必须 git revert—— RevertOnFailureRail.java 在每个任务迭代开始前用git rev-parse HEAD记录基线 SHA修复循环失败时执行git reset --hard baseSha回滚而 FixLoopController.java 实现了两阶段修复循环Phase 1 跑 CI 并修复、Phase 2 评审修复默认phase1_max_retries10、phase2_max_retries9、单次尝试超时 600 秒与 ci_gate.yaml 的fix_loop配置一致。4CI 门控全部通过才能提交—— CIGateRunner.java 是门控的实际执行器。它从 ci_gate.yaml 加载门控清单支持仅检查本次改动行的提交级门控通过解析git diff的 unified diff hunk 得到改动行范围再分别用ruff check --output-formatjson、ruff format --check --diff、codespell、pylint、mypy检查并按行号过滤违规项只报告本次改动引入的问题环境变量中会注入CI1与AUTO_HARNESS_PYTHON并优先使用.venv下的 Python。7. 身份提示词在运行时如何被装载身份提示词不是躺在资源目录里的静态文本而是通过 PromptSections.java 被动态装配进 Agent 系统提示词的。loadIdentity(promptsDir)读取identity.md全文buildAutoHarnessSections则按优先级拼装四个 sectionsection 名称内容来源优先级auto_harness_identityidentity.md中英双语同文10auto_harness_platform_adaptation动态生成OS 类型、Shell、平台命令差异表、Python 跨平台规范、局部验证要求89auto_harness_ci_gateci_gate.yaml 规则文本当非空时20auto_harness_wisdom经验库内容当非空时30其中auto_harness_platform_adaptation是运行时动态注入的包含 Windows/Linux/macOS 命令差异表如 Windowsmkdir不支持-p、venv 路径差异.venv\Scripts\python.exevs.venv/bin/python、以及局部验证只检查本次任务改动文件、优先python -m ruff check files而非直接调ruff的规范——与身份提示词中编辑文件后立即 ruff check呼应。对应测试 PromptSectionsTest.java 验证了装配顺序与优先级identity10、platform89、ci_gate20、wisdom30并覆盖了resolveShellName的平台映射win32 有 Git Bash 时返回Git Bash / cmd.exemacOS 返回zsh (default) / bashLinux 返回bash以及loadIdentity对缺失文件的容错返回空字符串。这些 section 最终由 AutoHarnessAgentFactory.java 组装进 DeepAgent 提示词体系并挂载 SecurityRail、EditSafetyRail 等运行时 rail形成一个提示词定方向、rail 守底线的自优化 Agent。8. 配置视角身份提示词之外的控制面身份提示词规定了 Agent 的行为纪律而用户侧的控制面在 config.yaml。该文件提供了大量可调参数与身份提示词中的约束一一对应git 段remotefork remote 名、base_branchPR 目标分支默认develop、fork_owner/upstream_owner/upstream_repogitcode 段username与access_token_env: GITCODE_ACCESS_TOKEN从环境变量读 token呼应不硬编码 secretsbudget 段session_secs: 3600会话总预算、cost_limit_usd: 10.0、task_timeout_secs: 1200、model_timeout_secs: 300、max_tasks_per_session: 3——正是身份提示词每个 session 最多 3 个 task的配置来源ci_gate 段config_path、python_executable、install_command可指定uv sync --active --group dev --extra cli预热环境fix_loop 段phase1_max_retries: 10、phase2_max_retries: 9agent 段各阶段子代理的max_iterationsimplement30、assess30、plan15、select_pipeline10、eval10、pr_draft5、learnings5extensions 段stage_registrars/pipeline_registrars支持运行时扩展阶段与流水线。配置缺失时AutoHarnessSchema.java 中的DEFAULT_CONFIG_TEMPLATE会自动 bootstrap 一份默认配置文件。9. 小结一套可复制的Agent 自我进化工程范式从 identity.md 这 51 行提示词出发可以看到 openJiuwen Auto Harness 将让 Agent 优化 Agent从口号落成了可运行的工程系统原则层identity.md定义了原子性、门控、风险分层、差距分析、回滚五条纪律流程层六阶段工作流 plan/assess/learnings 等阶段提示词把纪律编排成可执行闭环门控层ci_gate.yaml CIGateRunner.java让改什么、怎么验有硬性检查安全层SecurityRail.java、EditSafetyRail.java、RevertOnFailureRail.java用 rail 机制在运行时强制不可变约束、编辑范围、文件上限与失败回滚。特别值得注意的一点是身份提示词将自己identity.md与 CI 门控配置ci_gate.yaml列为不可变文件——这意味着 Auto Harness 连修改自己的行为准则都纳入了受控范围除非人工介入否则 Agent 无法自我修改约束自身的那份宪法。这种对自主 Agent 的元层面克制正是这套自优化框架值得借鉴的设计精髓。读者若想进一步深入可以按以下路径继续阅读仓库源码提示词装配与测试PromptSections.java、PromptSectionsTest.java门控执行与配置CIGateRunner.java、ci_gate.yaml安全与范围控制SecurityRail.java、EditSafetyRail.java、EditScope.java修复循环与回滚FixLoopController.java、RevertOnFailureRail.java会话编排与用户配置AutoHarnessOrchestrator.java、config.yaml赞分享人工智能AI AgentAgent 框架工具调用Agent 工作流RAGMCP Clients强化学习【免费下载链接】agent-core-javaopenJiuwen agent core Java是 openJiuwen Core的 Java版本提供AI Agent开发、运行、调优与演进相关的全套SDK能力。项目地址https://gitcode.com/openJiuwen/agent-core-java点击查看免费下载相关推荐openJiuwen agent-core Auto Harness Agent 深度指南基于 harness 框架的自驱动优化编码智能体openJiuwen agent core Auto Harness Agent 深度指南基于 harness 框架的自驱动优化编码智能体 导读 本文围绕 o人工智能AI AgentAgent 框架大模型工具调用RAG提示工程强化学习openJiuwen agent-core Auto Harness自驱动编码 Agent 的架构、Pipeline 与配置体系详解openJiuwen agent core Auto Harness自驱动编码 Agent 的架构、Pipeline 与配置体系详解 本篇基于 auto_ha人工智能AI AgentAgent 框架大模型工具调用RAG提示工程强化学习openjiuwen agent-core 中 Auto Harness Prompts 模块build_auto_harness_sections 系统提示词组装机制详解openjiuwen agent core 中 Auto Harness Prompts 模块build_auto_harness_sections 系统提示人工智能AI AgentAgent 框架大模型工具调用RAG提示工程强化学习创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考