Files
lupin-demo/AGENTS.md
2026-01-28 16:48:35 +08:00

54 lines
5.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

以下是适用于所有仓库的通用工作约定,项目级配置可覆盖此文件的条目。
1. 中文优先:所有与用户交互必须使用中文回答,包括错误信息、日志及说明。必要时可附带英文术语,但不应影响理解。
3. 提交前验证:修改代码后必须运行测试、类型检查和 linter确保所有检查通过后再提交 。请保持每次提交的改动集中、清晰,并使用描述性提交信息。
4. 依赖管理:添加或升级生产依赖前必须征求确认,避免引入重量级库 。优先使用轻量和社区成熟的包,避免重复依赖。
5. 小步迭代:避免大规模重构或一次性修改过多文件;优先分解为多个小改动,提交之间保持逻辑一致性。
6. 文档同步:公共函数、类和模块应编写文档,并在更新行为时同步更新文档或相关说明。
沟通与风格
1. 证据优先:回答问题时依赖可靠证据和文档;如不确定请使用搜索工具查证后再答复 。
2. 礼貌直接:保持礼貌、简洁和直接,不绕弯子;避免无依据的恭维或夸张的语气。
3. 提问澄清:当任务不明确或缺少关键信息时,先提出针对性澄清问题,而不是擅自做出假设。
4. 避免猜测:不要捏造事实;在信息不足时明确说明并建议进一步查证。
代理行为
1. 迭代执行遵循“思考→行动→观察”的循环ReAct 模式),逐步完成任务 。每次只专注于一个明确的子任务,待得到结果后再决定下一步 。
2. 工具清晰:使用工具前先定义清晰的名称、参数和用途;在调用时提供必要的参数,并关注输出是否符合预期 。
3. 错误与重试:处理异常时应捕获错误、记录日志并适当重试,但必须限制重试次数,避免死循环 。对意外格式的回复使用模式匹配或正则处理 。
4. 上下文控制:意识到语言模型有上下文窗口限制,必要时剪裁不相关的历史消息或分段处理 。
5. 简化流程:尽量合并相关工具调用,降低 LLM 调用次数;优先使用确定性逻辑(如纯函数)代替代理决策 。
工程习惯
1. 模块化设计:鼓励使用小而明确的函数和模块,避免巨型文件和过度耦合。遵循一致的命名规范和代码风格(如 PEP8、Prettier 等)。
2. 统一格式化:在提交前运行格式化工具(如 prettier --write 或 black确保代码风格一致。可在每个项目的 package.json 或 pyproject.toml 中定义格式化脚本。
3. 测试先行:为新增功能或修复缺陷编写或更新单元测试,并确保测试通过 。
4. 避免重复:公共逻辑应抽象为库或工具函数,避免在多个文件中复制粘贴代码。
<!--
安全与权限
1. 白名单操作:以下操作在无需用户确认的情况下默认允许:读取文件、列出目录、格式化单个文件、运行单元测试、执行单文件类型检查或 lint 。
2. 需要确认:以下操作必须事先征求用户明确批准:安装或升级依赖、推送代码到远程仓库、删除或移动文件、运行全面构建或端到端测试 。
3. 敏感系统:对接数据库、支付系统或外部 API 时,默认使用只读模式;若需要写入或收费操作,需遵循 Supabase/Stripe 安全规程,提前展示计划和风险并等待确认。
4. 密钥与凭据:不得在代码或日志中泄露 API 密钥、数据库连接字符串或其他敏感信息。如需配置环境变量,请在本地 .env 文件中设置,并在文档中说明名称而非值。
-->
流程简化与信息流
1. 精简工具调用:将常用的多步操作整合为单个工具或脚本,减少代理和 LLM 的往返次数 。
2. 充分记录:在自定义工具中使用日志(例如打印调试信息),记录输入参数、执行步骤和错误信息,以便模型理解并调整后续动作 。
3. 明确格式:在工具文档字符串中注明输入参数的格式、单位、时间格式等;输出应该清晰易懂,并在出错时提供帮助性提示 。
测试与验证
1. 必跑测试:在所有仓库中,修改任何代码后必须运行现有测试;无测试的项目应优先创建测试框架,如 pytest、jest、vitest 等,并逐步补齐覆盖率。
2. 持续集成:鼓励在项目中配置自动化的测试、构建和静态分析,以便代理能够调用相应命令验证更改。
3. 最小化差异:提交的代码差异应局限于所需修改的文件范围;避免无关文件的自动格式化或重写 。
维护与更新
1. 作为单一真相源:将此文件视为个人或团队的 AI 代理工作手册,不应在多处复制粘贴同样的指导信息 。
2. 与代码同步:当您的工作流、构建命令或安全策略发生变化时,请同步更新此文件,并在对应的项目级别文件中适当覆盖或补充 。
<!--
3. 验证加载:如需确认 Codex 是否正确读取了本文件,可运行 codex --ask-for-approval never "Summarize the current instructions.",它将列出正在生效的指导 。
4. 临时覆盖:若需暂时覆盖全局规则,可以创建 ~/.codex/AGENTS.override.md 并在完成后删除 。
-->