Agentica-Claude代理集成与调试技能Skill agentica-claude-proxy

这个技能提供整合Agentica SDK与Claude Code CLI代理的详细指南,用于设置AI代理、调试幻觉问题、修复权限错误,并优化工具使用。关键词包括:Agentica, Claude, 代理集成, 调试, 反幻觉提示, SSE流, REPL响应格式, 权限错误, AI工具集成。

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

name: agentica-claude-proxy description: 用于整合Agentica SDK与Claude Code CLI代理的指南 allowed-tools: [Read, Bash] user-invocable: false

Agentica-Claude代码代理集成

在开发或调试Agentica-Claude代理集成时使用此技能。

何时使用

  • 设置Agentica代理以使用Claude代码工具
  • 调试代理幻觉问题
  • 修复文件操作中的权限错误
  • 理解REPL响应格式

架构概述

Agentica代理 → S_M_BASE_URL → Claude代理 → claude -p → Claude CLI(带工具)
                 (localhost:2345)   (localhost:8080)

关键要求

1. --allowedTools标志(必需)

Claude CLI在-p模式下限制文件操作。您必须添加:

subprocess.run([
    "claude", "-p", prompt,
    "--append-system-prompt", system_prompt,
    "--allowedTools", "Read", "Write", "Edit", "Bash",  # 必需
])

没有此标志,代理在写入/编辑操作时会报告“权限被拒绝”。

2. SSE流格式(必需)

Agentica期望SSE流,而不是纯JSON:

# 响应格式
yield f"data: {json.dumps(chunk)}

"
yield "data: [DONE]

"

3. REPL响应格式(必需)

代理必须将结果作为Python代码块返回,带有return语句:

return "您的结果在这里"

Agentica的RELP解析器提取\``python```之间的代码。

反幻觉提示工程

除非您明确警告代理,否则它们会在未实际使用工具的情况下幻觉成功:

## 反幻觉警告

**停止并仔细阅读此内容:**

您可以访问这些工具:Read, Write, Edit, Bash

当任务要求您创建/修改/运行某些内容时:
1. 首先:实际调用工具(Read, Write, Edit或Bash)
2. 其次:等待工具结果
3. 第三:然后根据实际发生的情况返回您的答案

**不要**跳过工具调用并声称成功!

如果您没有调用工具,您不能声称操作成功。

路径沙箱

Claude Code和Agentica都有沙箱:

  • Claude Code阻止/tmp/路径
  • Agentica阻止项目目录外的文件

**解决方案:**使用项目相对路径,如workspace/而不是/tmp/

调试

检查代理日志

cat logs/agent-<N>.log

注意:日志仅显示最终对话响应,不显示工具调用。

直接测试代理

curl -s http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model": "claude", "messages": [{"role": "user", "content": "在workspace/test.txt创建文件"}], "stream": false}'

验证文件操作

# 代理声称创建文件后
ls -la workspace/test.txt
cat workspace/test.txt

服务器命令

启动服务器

# 终端1:代理
uv run python scripts/agentica/claude_proxy.py --port 8080

# 终端2:Agentica服务器
cd workspace/agentica-research/agentica-server
INFERENCE_ENDPOINT_URL=http://localhost:8080/v1/chat/completions uv run agentica-server --port 2345

使用Swarm

S_M_BASE_URL=http://localhost:2345 uv run python your_script.py

健康检查

curl http://localhost:8080/health  # 代理
curl http://localhost:2345/health  # Agentica

参考文件

  • 代理实现:scripts/agentica/claude_proxy.py
  • REPL_BASELINE提示:scripts/agentica/claude_proxy.py:49-155
  • 全面测试:workspace/test_swarm_all_tools.py
  • DependencySwarm:scripts/agentica/dependency_swarm.py

常见错误

错误 原因 修复
“权限被拒绝” 缺少–allowedTools 添加--allowedTools Read Write Edit Bash
代理声称成功但文件未创建 幻觉 添加反幻觉提示部分
“无法访问/tmp/…” 沙箱限制 使用项目相对路径
“APIConnectionError” 错误响应格式 使用SSE流(data: {…}

) | | “NameError: view_file” | 代理使用REPL函数 | 添加带有原生工具示例的REPL_BASELINE |