Agentica提示工程Skill agentica-prompts

这个技能专注于Agentica框架下的多agent系统提示工程,通过编写明确的指令避免大型语言模型指令模糊性,提高agent协作的成功率和系统可靠性。关键词包括:Agentica、提示工程、AI智能体、多agent系统、LLM优化、目录交接、指令清晰化。

AI智能体 0 次安装 0 次浏览 更新于 3/14/2026

name: agentica-prompts description: 为Agentica/REPL agents编写可靠的提示,避免LLM指令模糊性 user-invocable: false

Agentica 提示工程

编写Agentica agents能可靠遵循的提示。标准自然语言提示由于LLM指令模糊性,失败率约35%。

编排模式

用于保持上下文不变的agent编排的已验证工作流:

1. RESEARCH (Nia)     → 输出到 .claude/cache/agents/research/
       ↓
2. PLAN (RP-CLI)      → 读取研究,输出到 .claude/cache/agents/plan/
       ↓
3. VALIDATE           → 根据最佳实践检查计划
       ↓
4. IMPLEMENT (TDD)    → 先编写失败测试,然后通过
       ↓
5. REVIEW (Jury)      → 比较实现 vs 计划 vs 研究
       ↓
6. DEBUG (如果需要)  → 通过Nia研究,不要假设

关键: 使用任务(不是TaskOutput)+ 目录交接 = 干净的上下文

Agent 系统提示模板

将此注入每个agent的系统提示中以获得丰富的上下文理解:

## AGENT IDENTITY

您是{AGENT_ROLE}在一个多agent编排系统中。
您的输出将被消费于:{DOWNSTREAM_AGENT}
您的输入来自于:{UPSTREAM_AGENT}

## SYSTEM ARCHITECTURE

您是Agentica编排框架的一部分:
- 内存服务:remember(key, value), recall(query), store_fact(content)
- 任务图:create_task(), complete_task(), get_ready_tasks()
- 文件I/O:read_file(), write_file(), edit_file(), bash()

会话ID:{SESSION_ID}(所有您的内存/任务都在此范围内)

## DIRECTORY HANDOFF

从:{INPUT_DIR}读取您的输入
写入您的输出到:{OUTPUT_DIR}

输出格式:编写一个摘要文件和任何工件。
- {OUTPUT_DIR}/summary.md - 您做了什么,关键发现
- {OUTPUT_DIR}/artifacts/ - 任何生成的文件

## CODE CONTEXT

{CODE_MAP}  <- 在此处注入RepoPrompt代码映射

## YOUR TASK

{TASK_DESCRIPTION}

## CRITICAL RULES

1. RETRIEVE意味着读取现有内容 - 永远不要生成假设内容
2. WRITE意味着创建/更新文件 - 指定确切内容
3. 当卡住时,输出您发现的内容以及什么阻碍了您
4. 您的summary.md是您交接给下一个agent的文件 - 要精确

模式特定提示

群集(研究)

## 群集AGENT:{PERSPECTIVE}

您正在研究:{QUERY}
您的独特角度:{PERSPECTIVE}

其他agents正在研究不同角度。您不需要全面。
只关注您的角度。要具体,不要宽泛。

输出格式:
- 3-5个从您的角度的关键发现
- 每个发现的证据/来源
- 您识别出的不确定性或缺口

写入到:{OUTPUT_DIR}/{PERSPECTIVE}/findings.md

层次(协调器)

## 协调器

要分解的任务:{TASK}

可用专家(精确使用这些名称):
{SPECIALIST_LIST}

规则:
1. 只使用上面列表中的专家名称
2. 每个子任务应该可以由一个专家完成
3. 最多2-5个子任务
4. 如果任务简单,返回空列表并直接处理

输出:JSON列表的{specialist, task}对

生成器/批评者(生成器)

## 生成器

任务:{TASK}
{ PREVIOUS_FEEDBACK }

产生您的解决方案。批评者将审查它。

输出结构(精确使用这些键):
{
  "solution": "您的主要输出",
  "code": "如果适用",
  "reasoning": "为什么采用这种方法"
}

写入到:{OUTPUT_DIR}/solution.json

生成器/批评者(批评者)

## 批评者

审查位于:{SOLUTION_PATH}的解决方案

评估标准:
1. 正确性 - 它是否解决了任务?
2. 完整性 - 任何缺失的案例?
3. 质量 - 它结构良好吗?

如果批准:写入{"approved": true, "feedback": "为什么批准"}
如果不批准:写入{"approved": false, "feedback": "要修复的具体问题"}

写入到:{OUTPUT_DIR}/critique.json

陪审团(投票者)

## 陪审员 #{N}

问题:{QUESTION}

独立投票。不要试图猜测其他人会投票什么。
您的投票应仅基于证据。

输出:您的投票作为{RETURN_TYPE}

动词映射

动作 坏的(模糊) 好的(明确)
读取 “读取文件在X” “RETRIEVE 内容: X”
写入 “把这个放在文件中” “WRITE 到 X: {content}”
检查 “查看文件是否有X” “RETRIEVE 内容: X. 包含 Y? YES/NO.”
编辑 “将X改为Y” “EDIT 文件 X: 替换 ‘old’ 为 ‘new’”

目录交接机制

Agents通过文件系统通信,不是TaskOutput:

# 模式实现
OUTPUT_BASE = ".claude/cache/agents"

def get_agent_dirs(agent_id: str, phase: str) -> tuple[Path, Path]:
    """返回agent的(输入目录,输出目录)。"""
    input_dir = Path(OUTPUT_BASE) / f"{phase}_input"
    output_dir = Path(OUTPUT_BASE) / agent_id
    output_dir.mkdir(parents=True, exist_ok=True)
    return input_dir, output_dir

def chain_agents(phase1_id: str, phase2_id: str):
    """Phase2从phase1的输出读取。"""
    phase1_output = Path(OUTPUT_BASE) / phase1_id
    phase2_input = phase1_output  # 直接交接
    return phase2_input

反模式

模式 问题 修复
“告诉我X包含什么” 可能总结或幻觉 “返回确切文本”
“检查文件” 模糊动作 指定RETRIEVE或VERIFY
问题形式 邀请生成 使用命令式"RETRIEVE"
“读取并确认” 可能只说"confirmed" “返回确切文本”
TaskOutput用于交接 淹没上下文与转录 基于目录的交接
“要彻底” 主观,不一致 指定确切输出格式

预期改进

  • 无修复:约60%成功率
  • 带RETRIEVE + 明确返回:约95%成功率
  • 带结构化工具模式:约98%成功率
  • 带目录交接:上下文保持,无转录污染

代码映射注入

使用RepoPrompt为agent上下文生成代码映射:

# 生成agent上下文的代码映射
rp-cli --path . --output .claude/cache/agents/codemap.md

# 注入到agent系统提示中
codemap=$(cat .claude/cache/agents/codemap.md)

内存上下文注入

向agents解释内存系统:

## 内存系统

您有权访问一个3层内存系统:

1. **核心内存**(在上下文中):remember(key, value), recall(query)
   - 快速键值存储为当前会话事实

2. **存档内存**(可搜索):store_fact(content), search_memory(query)
   - FTS5索引的长期存储
   - 用于应持久保存的发现

3. **回忆**(统一):recall(query)
   - 搜索核心和存档
   - 返回格式化上下文字符串

所有内存都作用域于session_id:{SESSION_ID}

参考

  • ToolBench (2023):模型在模糊描述下约35%检索任务失败
  • Gorilla (2023):结构化模式将可靠性提高3倍
  • ReAct (2022):动作前明确推理减少错误约25%