Skip to content

NeoCode 项目燃尽图 #13

@phantom5099

Description

@phantom5099

1. 燃尽图与工程效率 (Burn-down & Velocity)

我们将任务量化为 Story Points (SP) ,总积压工作量为 120 SP 。
Image

关键指标 (Engineering Metrics)

  • 团队速率 (Velocity) : 预计 20 SP/周。
  • 交付偏差 (Variance) : -5% (略领先于计划,归功于基础 TUI 组件的高复用性)。
  • 技术债率 (Tech Debt Ratio) : 15% (当前 write.go 采用全量覆写,亟需重构为行级编辑)。

2. 里程碑达成情况 (Milestone Tracking)

Image

3. 核心积压任务 (Strategic Backlog)

为了实现“专业级”的 AI 编程助手,我们不仅要完成功能,更要解决 Token 效率、执行可靠性、安全性 三大硬核问题:

Epic 1: 认知与决策 (Reasoning Engine)

  • [Task] 异步 ReAct 状态机实现 :将目前的同步请求改为基于 context 的异步状态机,支持用户随时中断(Interruption)。
  • [Task] 幻觉检测与自修复 (Self-Correction) :当 Bash 执行报错时,Agent 需自动分析错误堆栈并尝试修正代码,而非直接抛错给用户。

Epic 2: 高性能工具链 (Advanced Perception)

  • [Task] 行级差异算法 (LCS Algorithm) :自研或引入高性能 Diff 算法,仅向 LLM 展示变更行,极大程度节省上下文 Token。
  • [Task] 嵌入式静态分析 (Embedded AST) :集成 go/ast 做轻量级符号提取,让 Agent 具备“定义跳转”级别的感知力。

Epic 3: 企业级安全 (Hardened Sandbox)

  • [Task] PTY 伪终端隔离 :使用 creack/pty 实现交互式命令支持,并增加 IO 流 实时过滤,防止敏感信息泄露。
  • [Task] 操作审计日志 (Trace Log) :完整记录 Agent 的每一条指令及其对文件系统的物理改动,支持一键生成 Change Report 。

4. 风险评估 (Risk Management)

Image

5. 架构演进建议 (Technical Roadmap)

  1. Phase 1 (Current) : 单进程 TUI 工具 -> 解决“能不能改”的问题。
  2. Phase 2 (W3-W4) : 引入 Task Graph 与 Memory Snapshot -> 解决“改得准不准”的问题。
  3. Phase 3 (W5-W6) : Environment Isolation (Docker 可选) -> 解决“改得稳不稳”的问题。

6. 执行蓝图

第 2 周:最小可行产品 (MVP) 攻坚周

本周核心目标:跑通「接收指令 -> 自动修改 -> 编译校验 -> 反馈结果」的端到端闭环。

  • 周一 (3.23) - 今日:基础工具鲁棒性加固
    • 任务 :重构 write.go 和 read.go 。
    • 具体点 :增加自动创建父目录逻辑、路径合法性校验(禁止越权访问 ../ )、处理不同系统的换行符(CRLF/LF)兼容性。
    • 产出 :一套工业级的文件操作原子工具。
  • 周二 (3.24):受控 Bash 环境与安全拦截
    • 任务 :完善 internal/server/service/security_service.go 。
    • 具体点 :实现命令黑名单(拦截 rm , mv , setx 等),为 exec.Command 增加 30 秒强制超时,防止 Agent 运行死循环脚本。
    • 产出 :受控的终端执行沙箱。
  • 周三 (3.25):会话管理与 Token 剪枝 (初版)
    • 任务 :优化 session_memory_repository.go 。
    • 具体点 :实现基础的 Token 计数器。当对话超过 4 轮时,自动丢弃最早的工具执行结果(Observation),仅保留核心 Thought。
    • 产出 :支持长对话而不崩溃的内存管理系统。
  • 周四 (3.26):ReAct 决策循环 (MVP 简化版)
    • 任务 : chat_service.go 中引入简单的 for 循环(上限 3 次迭代)。
    • 具体点 :硬编码 Prompt 模版,强制模型按 Thought: / Action: / Observation: 格式输出,并编写解析器提取工具调用参数。
    • 产出 :具备初步“思考-行动”能力的 Agent 原型。
  • 周五 (3.27):错误捕获与自动重试逻辑
    • 任务 :处理工具执行失败后的反馈链路。
    • 具体点 :如果 write.go 报错权限不足,系统应将错误信息自动喂回给 LLM,引导它尝试其他路径或修改策略。
    • 产出 :具备初步“抗挫折能力”的闭环链路。
  • 周六 (3.28):MileStone 1 演示准备 (Bug Fix Demo)
    • 任务 :构建一个包含简单逻辑错误(如 if a > b 写成 if a < b )的 Go 测试项目。
    • 具体点 :通过 TUI 输入“修复这个项目的单元测试”,演示 Agent 自动定位文件、修改代码、运行 go test 并最终报告成功的全过程。
    • 产出 :第一个端到端可运行的演示视频/Demo。
  • 周日 (3.29):MVP 总结与文档同步
    • 任务 :同步 README.md 的功能列表。
    • 具体点 :记录当前 MVP 的已知限制(如不支持多文件同时改、不支持交互式输入),并为第三周的“核心功能深化”准备任务积压(Backlog)。
    • 产出 :完整的 MVP 阶段性技术总结报告。

第3 周:核心功能深化 (决策引擎 Week)

目标:从「单次对话」进化为「ReAct 闭环 Agent」

  • 周一 (3.30) : ReAct 状态机原型 。重构 chat_service.go ,实现 for 循环调用 LLM,解析 Thought/Action/Observation 结构。
  • 周二 (3.31) : 显式任务清单 (Todo List) 。在内存中维护 tasks.go ,让 Agent 能够将大任务拆解为子任务并实时反馈进度。
  • 周三 (4.01) : 重复操作检测 (Loop Guardian) 。开发检测算法,若 Agent 连续 3 次执行相同错误命令,强制中断并请求用户干预。
  • 周四 (4.02) : 上下文动态剪枝 (Token Pruning) 。实现滑动窗口算法,当 Token 接近阈值时,自动压缩历史 Observation 。
  • 周五 (4.03) : 幻觉自纠错 (Self-Correction) 。当 Bash 返回 exit code 1 时,注入特定 Prompt 引导模型分析堆栈并重试。
  • 周六 (4.04) : MileStone 1.5 联调 。完成一个“自主寻找文件并修复一个小 Bug”的端到端测试。

第 4 周:进阶功能探索 I (精准感知 Week)

目标:让 Agent 具备「外科医生」般的手术精度

  • 周一 (4.06) : 嵌入式 ripgrep (Part 1) 。实现 go:embed 逻辑,确保 rg 二进制在 Win/Mac/Linux 跨平台释放执行。
  • 周二 (4.07) : ripgrep 结构化解析 (Part 2) 。解析 rg --json 输出,将其转化为带有上下文(上下 3 行)的搜索结果。
  • 周三 (4.08) : 精准行级编辑 (Line Replacer) 。废弃 write.go 全量覆写,实现 ReplaceLines(start, end, content) 。
  • 周四 (4.09) : 文件读写原子性保证 (Atomic Write) 。引入临时文件重命名机制,防止写入过程中断导致文件损坏。
  • 周五 (4.10) : 交互式 Diff 预览 。在 TUI 中实现侧边栏或弹窗,向用户展示修改建议并等待 (y/n) 确认。
  • 周六 (4.11) : MileStone 2 演示 。展示 Agent 如何在 100 个文件中精准定位并只修改 2 行代码。

第 5 周:进阶功能探索 II (安全与稳健 Week)

目标:构建「企业级」的防灾与隔离体系

  • 周一 (4.13) : 版本快照系统 (Snapshot) 。利用 Git 或本地 .neocode/backups 在每次修改前自动备份,支持 /revert 命令。
  • 周二 (4.14) : PTY 交互式终端集成 。集成 creack/pty ,让 Agent 能处理 npm install 等带进度条的交互式命令。
  • 周三 (4.15) : 命令超时与内存限制 。为所有工具调用增加强制 Context Timeout ,防止恶意脚本跑死 CPU。
  • 周四 (4.16) : 多模型协同 (Ensemble) 。实现逻辑:简单任务用 DeepSeek,复杂决策/重构任务自动路由至 Claude 3.5。
  • 周五 (4.17) : 工作区并发锁 (Workspace Lock) 。解决 Agent 在处理多个并发请求(未来扩展)时的文件争用问题。
  • 周六 (4.18) : 性能压力测试 。在 5000+ 文件规模的开源库(如 Go 源码)中测试搜索与定位延迟。

第 6 周:收官与展示 (Delivery Week)

目标:完成「开源级」的交付质量

  • 周一 (4.20) : 文档大扫除 。完善 README.md ,编写详细的 docs/architecture.md 和 docs/tools.md 。
  • 周二 (4.21) : 示例工程 (Example Repo) 。构建一个带有典型 Bug 的测试仓库,作为演示和用户上手的案例。
  • 周三 (4.22) : 演示视频制作 。录制 Agent 如何从 0 到 1 诊断问题、编写测试、修改代码并最终跑通测试的全过程。
  • 周四 (4.23) : 结营展示 PPT 制作 。提炼技术难点(如 ReAct 循环、行级编辑、ripgrep 嵌入)。
  • 周五 (4.24) : 全链路回归测试 。进行最后的 Bug Bash,清理控制台输出,优化日志。
  • 周六 (4.25) : 结营展示 (Final Demo Day) 。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions