Getting Started
Create Your First Mesh
Welcome! In a few minutes you’ll have a Mesh that can process a structured request and respond intelligently. We’ll start with a simple “analyze an issue” example and layer in concepts as you go.
You’ll go through these phases:
- Prep (sign in / gather a model key)
- Model Provider
- Model Set
- Pick your path (AI Creator or Manual)
- Agent (manual path only)
- Mesh
- Invoke & iterate
- Optional enhancements (grounding, tools)
Relax, we’ll walk through each step.
0. Prep
Sign in at https://app.partite.ai with a Google or GitHub account. You will use the hosted cloud UI for all steps in this guide. Self-hosted modes exist, but they add infrastructure work - skip them until you need full data residency.
Have at least one foundation model API key ready (OpenAI, Anthropic, or Google). That’s all you need for now.
1. Add a Model Provider and Profiles
In the UI, create a Model Provider (e.g. “OpenAI” or “Anthropic”). Paste credentials / keys.
Tip: Name providers clearly, especially if you’ll mix vendors.
Next, you might want to add a Model Profile or two. A Model Profile is a specific model + its tuning (temperature, reasoning mode, etc.).
Create one or two profiles:
- A cheaper / faster one (for simple support or routing tasks).
- A more capable one (for heavier reasoning).
You can also just use the pre-configured profiles created by the system when you added your model provider.
2. Create Your First Model Set
Now create a Model Set:
- Choose a default profile.
- Add a rule or two (e.g. “if agent complexity >= medium use advanced_model”). Rules match on tags + complexity so you don’t hardcode model choices inside prompts.
At this point you understand providers and cost/right-sizing. Perfect moment to choose your build path.
3. Pick Your Path
You now have the foundation pieces (Provider + Model Set). Decide how you want to assemble the rest:
Path A: AI-Powered Creator (fast prototype)
- Open the Mesh creation page with auto-create.
- Describe your goal (“Analyze bug reports and summarize likely root cause”).
- It generates Agents, a Mesh, and wiring.
- Skip directly to Step 5 (Invoke) and refine later.
Path B: Manual (more control)
- Continue below to handcraft an Agent and Mesh.
- Recommended if you want to learn the concepts deeply.
If you tried Path A and want to learn internals, you can still read on - everything is editable.
4 (Manual Path). Create Your First Agent
Think of an Agent as a focused specialist. Keep scope tight.
Configure:
- Identity: Optional persona (“You are a calm diagnostics assistant”).
- Task Instructions: Clear, outcome-focused (“Diagnose the reported issue. Ask for missing reproduction steps only if essential.”).
- Input Message Schema: Start small. Example:Every field needs a description - this really helps output accuracy.
{ "type": "object", "properties": { "issueText": { "type": "string", "description": "Raw user report text" }, "environment": { "type": "string", "description": "Runtime or OS if known" } }, "required": ["issueText"] } - Memory Slots (optional): Add one if you’ll retain context across turns (“recent_diagnostics”).
- MCP Tools (optional now): Skip unless you have a tool (logs, repo search, etc.).
- User Interaction Flags: Enable asking questions only if you expect back‑and‑forth.
Each edit versions the Agent automatically. Use complexity + tags to influence Model Set rules later.
5. Assemble a Mesh
Create a Mesh:
- Associate the Model Set you built earlier (so rules apply).
- Add an Intent (entry point):
- Pick the Agent Version you just created.
- Define one or more Output Message Types the Agent can emit. Example:
{ "type": "object", "properties": { "summary": { "type": "string", "description": "High level explanation" }, "probableCause": { "type": "string", "description": "Most likely root cause" }, "nextStep": { "type": "string", "description": "Recommended action" } }, "required": ["summary"] }
- (Optional) Add Call Links later as you decompose tasks (“LogSearcher” agent, “FixGenerator” agent).
- (Optional) Add Transfer Links for router patterns (“Classifier” passes control to “Security” vs “Performance” agent).
Labeling: Edits modify the draft. When happy, apply a label like “prod”. Future updates happen on the draft until you label again (“staging”, test, then re-label to “prod”).
6. Invoke the Mesh (Conversation API)
You’re ready to talk to it. Two styles:
Streaming (see thoughts, progress, tasks live):
curl -X POST https://api.partite.ai/conversations/new \
-H "Authorization: Bearer <API_KEY_ID>:<API_KEY_SECRET>" \
-H "Content-Type: application/json" \
-d '{
"meshLabel": "prod",
"intent": "AnalyzeIssue",
"input": {
"issueText": "App crashes when saving after upgrade to v2.3",
"environment": "macOS 14"
}
}'
# Stream events (thinking, messages, tasks, response):
curl -N -H "Authorization: Bearer <API_KEY_ID>:<API_KEY_SECRET>" \
https://api.partite.ai/conversations/<conversation_id>/requests/<request_id>/eventsNon‑streaming (simpler blocking fetch):
# After creating the conversation (same POST as above):
curl -H "Authorization: Bearer <API_KEY_ID>:<API_KEY_SECRET>" \
https://api.partite.ai/conversations/<conversation_id>/requests/<request_id>/responseEvent types you may see: thinking, message, task, task_response, response, error, cancelled. response / error / cancelled are terminal.
7. Iterate Productively
Healthy loop:
- Review responses (and trace data if available).
- Tighten instructions (remove fluff; clarify edge cases).
- Evolve schema (add a field only when repeatedly missing data).
- Split responsibilities (new Agent + Call Link) if output feels unfocused.
- Adjust Model Set rules (promote complex agents to stronger models).
- Label draft → test → promote.
Rollback = re-target a previous label or Agent Version. No guesswork.
8. Optional: Grounding Early
If certain fields must be factually sourced (IDs, metrics, brief facts), add x-partite-grounding-config to those schema properties. This enforces citations without stuffing raw data into prompts. Start small; enable on the highest risk fields.
9. Add Tools (When Ready)
MCP Connections let agents:
- Fetch logs
- Search code
- Pull metrics
- Generate artifacts (reports, patches)
Associate only the tools relevant to the Agent’s purpose. Fewer tools = clearer reasoning.
10. Common Early Pitfalls (And Fixes)
| Pitfall | Fix |
|---|---|
| Giant input schema day one | Start with 1–2 essential fields; grow deliberately |
| Vague instructions | State objective + constraints + when to ask user |
| Single “do everything” agent | Decompose after first signs of diffuse output |
| Hardcoding model everywhere | Use Model Set rules (tags + complexity) |
| Missing field descriptions | Add them; models rely heavily on them |
11. Troubleshooting Quick Checks
- Getting empty outputs? Verify required schema fields are present in request.
- Strange model choice? Inspect Model Set rule order.
- Overlong responses? Tighten Output Message Type descriptions.
- Not seeing progress events? Confirm user interaction flags (thinking/messages) enabled.
12. Next Steps
When the basics feel solid:
- Add a second Agent for code fixes.
- Introduce a router agent via Transfer Links.
- Enable grounding on “probableCause”.
- Attach artifacts (logs, screenshots) to conversations.
- Export config to Terraform for review / promotion workflow.
- Add a webhook to trigger analysis automatically on new issue events.
You now have the full lifecycle: Configure -> Label -> Invoke -> Observe -> Refine -> Expand.
Enjoy building; your mesh will grow naturally as you slice responsibilities into focused agents. Reach out if you hit friction.