REAL WORKSPACE · CONNECTION 08

连接代码阅读与检索

让 Agent 先准确找到代码、调用链和变更历史,再开始修改。

ripgrep代码索引符号检索只读优先
01

先选一条正确的连接路线

不要一次开放所有能力。先选择最小可用入口,验证价值后再升级。

大仓库

代码搜索平台

使用 Sourcegraph 或企业内部索引跨仓库查符号、引用、历史和所有者。

增强

语义检索 / RAG

为文档和代码摘要建立检索层,但结果必须回到源文件与具体行号验证。

02

按这六步完成第一次接入

把身份、权限、工具边界和验收一起配置,而不是只追求“接口能通”。

  1. 01
    定义可读范围

    明确工作区根目录、允许的仓库、排除目录和敏感文件规则。

  2. 02
    先启用文本搜索

    提供 rg、文件列表与 git log;不要一开始就把所有代码上传到外部向量库。

  3. 03
    增加符号能力

    按语言接入 LSP、索引器或代码搜索平台,用于查定义、引用和调用方。

  4. 04
    返回可验证证据

    每个搜索结果都带仓库、文件、行号、Commit 或索引时间,避免只给抽象摘要。

  5. 05
    处理索引时效

    显示最后索引时间;修改前回读本地文件,避免基于陈旧索引改代码。

  6. 06
    建立检索基准

    准备 10 个已知答案的问题,评估召回、噪音、权限过滤和跨仓库能力。

03

配置示例

字段和值都是示例占位符,请按你使用的 Agent、平台和密钥管理方式调整。

terminal · 本地检索基线示例 · 不含真实密钥
# 查符号与调用线索
rg -n "PaymentService|process_payment" src tests

# 排除生成目录
rg -n "TODO|FIXME" . -g '!dist/**' -g '!vendor/**'

# 查变更历史
git log -S "process_payment" --oneline --all

搜索工具应默认遵守 .gitignore,并额外排除密钥、导出数据、生产备份和大型生成目录。

04

最小权限建议

把读取、草稿和高影响动作分开,避免一个 Token 同时拥有全部能力。

动作默认等级建议边界
文件名 / 文本搜索 只读 限定工作区与排除规则。
符号 / 引用检索 只读 返回文件、行号和索引版本。
跨仓库搜索 只读 继承用户在每个仓库的可见权限。
建立外部索引 确认 先确认代码是否允许离开内网及其保留策略。
05

上线前验收

不要只测成功路径;撤销权限、重复执行和失败回退同样重要。

  • 无法搜索未授权仓库和明确排除的敏感目录。
  • 结果带文件路径、行号和索引时间。
  • Agent 修改前会重新读取本地最新文件。
  • 对已知问题的搜索结果可复现且噪音可控。
FIRST SAFE PROMPT 找出 PaymentService 的定义、主要调用方和最近一次行为变更;只引用源文件与 git 历史,不要修改代码。
!
语义相似不等于代码事实

向量检索适合发现候选,但不能替代编译器、文本搜索和源文件。架构结论、调用关系和修改位置必须回到真实代码验证。

06

继续查看官方文档

平台界面和权限名称会更新,实际接入时以官方文档和企业管理员策略为准。