Pimo 是面向开发者的终端 AI 编程助手,支持通过自然语言分析代码仓库、制定开发计划、执行代码修改与调试,并对执行结果进行独立审查。
产品提供 ReAct、Plan 和 Team 三种执行模式:ReAct 通过推理与工具调用逐步完成任务;Plan 将复杂需求拆分为具有依赖关系的任务,并行执行相互独立的步骤;Team 通过 Planner、Worker、Reviewer 分工协作,形成规划、执行和核验闭环。
针对长时间开发任务,系统提供权限控制、执行记录、工作区快照及故障恢复能力。任务中断后可从稳定边界恢复;对于外部操作状态不明确的情况,保留人工确认环节,提升长任务执行的可控性。
我主要负责核心执行链路、权限治理、可靠恢复和长上下文治理。
基于 Java 17 实现 ReAct 工具调用循环,打通模型请求、Tool Call 解析、并行工具执行及结果回灌;通过任务 DAG 实现依赖校验与调度,并构建 Planner、Worker、Reviewer 多角色协作流程,支持 MCP 工具扩展。
针对只读任务中 Worker 仍可能修改文件的问题,设计 RunIntent 与 EffectiveCapability,将用户意图、角色权限和当前策略取交集,同时约束模型可见工具和实际执行层,使权限要求落实到工具调用过程。
使用 SQLite Checkpoint、ToolJournal、ArtifactStore 和 Side-Git 保存运行状态、工具结果及工作区快照;通过带代际标识的 Fencing Lease 拒绝旧进程晚到写入。9 组真实子 JVM 故障用例全部通过,测试范围内已完成节点重执行和租约双写均为 0。
定位工具结果反复回灌导致单轮输入由约 4.8K 增长至 49.5K Token 的问题,通过渐进读取、角色工具预算、结构化证据交接和本地压缩治理上下文。在固定 E2E 对照中,压缩步骤耗时由约 109 秒降至 2 毫秒,额外模型开销由约 20K Token 降至 0;优化后的 12 组 E2E 评测均无超时。