modify-agent
Modify agent code, add tools, or change configuration. Use when: (1) User says 'modify agent', 'add tool', 'change model', or 'edit agent.py', (2) Adding MCP servers to agent, (3) Changing agent instructions, (4) Understanding SDK patterns.
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
Modify the Agent
Main File
agent_server/agent.py - Agent logic, model selection, instructions, MCP servers
Key Files
| File | Purpose |
|---|---|
agent_server/agent.py |
Agent logic, model, instructions, MCP servers |
agent_server/start_server.py |
FastAPI server + MLflow setup |
agent_server/evaluate_agent.py |
Agent evaluation with MLflow scorers |
agent_server/utils.py |
Databricks auth helpers, stream processing |
databricks.yml |
Bundle config & resource permissions |
SDK Setup
import mlflow
from databricks_openai import AsyncDatabricksOpenAI
from agents import set_default_openai_api, set_default_openai_client, Agent
from agents.tracing import set_trace_processors
# Set up async client (recommended for agent servers)
set_default_openai_client(AsyncDatabricksOpenAI())
set_default_openai_api("chat_completions")
# Use MLflow for tracing (disables SDK's built-in tracing)
set_trace_processors([])
mlflow.openai.autolog()
Adding MCP Servers
from databricks_openai.agents import McpServer
# UC Functions
uc_server = McpServer(
url=f"{host}/api/2.0/mcp/functions/{catalog}/{schema}",
name="uc functions",
)
# Genie Space
genie_server = McpServer(
url=f"{host}/api/2.0/mcp/genie/{space_id}",
name="genie space",
)
# Vector Search
vector_server = McpServer(
url=f"{host}/api/2.0/mcp/vector-search/{catalog}/{schema}/{index}",
name="vector search",
)
# Add to agent
agent = Agent(
name="my agent",
instructions="You are a helpful agent.",
model="databricks-claude-3-7-sonnet",
mcp_servers=[uc_server, genie_server, vector_server],
)
After adding MCP servers: Grant permissions in databricks.yml (see add-tools skill)
Changing the Model
Available models (check workspace for current list):
-
databricks-claude-3-7-sonnet -
databricks-claude-3-5-sonnet -
databricks-meta-llama-3-3-70b-instruct
agent = Agent(
name="my agent",
model="databricks-claude-3-7-sonnet", # Change here
...
)
Note: Some workspaces require granting the app access to the serving endpoint in databricks.yml. See the add-tools skill and examples/serving-endpoint.yaml.
Changing Instructions
agent = Agent(
name="my agent",
instructions="""You are a helpful data analyst assistant.
You have access to:
- Company sales data via Genie
- Product documentation via vector search
Always cite your sources when answering questions.""",
...
)
Running the Agent
from agents import Runner
# Non-streaming
messages = [{"role": "user", "content": "hi"}]
result = await Runner.run(agent, messages)
# Streaming
result = Runner.run_streamed(agent, input=messages)
async for event in result.stream_events():
# Process stream events
pass
Converting to Responses API format: Use process_agent_stream_events() from agent_server/utils.py to convert streaming output to Responses API compatible format:
from agent_server.utils import process_agent_stream_events
result = Runner.run_streamed(agent, input=messages)
async for event in process_agent_stream_events(result.stream_events()):
yield event # Yields ResponsesAgentStreamEvent objects
External Resources
- databricks-openai SDK
- Agent examples
- Agent Framework docs
- Adding tools
- OpenAI Agents SDK
- Responses API
Next Steps
- Discover available tools: see discover-tools skill
- Grant resource permissions: see add-tools skill
- Test locally: see run-locally skill
- Deploy: see deploy skill
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-03-11
- Mise à jour de l’index
- 2026-03-11
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!