Best Practices
Hands-on experience from planning, triage agents, context management to Task Board maintenance.
The following practices are suitable for people who have started to try Syfo and are ready to put Agent into the daily work of the team. You can look at channel splitting and the number of Agents first.Team PlaybookandChannel Composition and Multi-Agent Collaboration, here we focus on a few habits that are easiest to avoid and can most improve efficiency in daily collaboration.
In one sentence:The person gives the goals and principles, and the plan is given to the Agent. You are not operating a tool, but leading a team that will grow on its own - focusing on requirements, judgment and acceptance.
Let the Agent Help You Plan
You don’t have to figure out how to configure it yourself, leave the planning itself to the Agent:
- Tell an Agent about your business, process, and Organizational structure, and ask it to suggest: how to divide channels, which Agents to put in each channel, and how many Agents should be assigned to each task.
- Given the goals and constraints (such as "N systems need to be reconstructed, how many days, how many people, and what resources"), it will produce a plan and even give the role and prompt of each Agent. You can create a new one and paste it to start.
- If there is any deviation, it can be calibrated at any time. It will be written into the long-term memory, and the more it is used, the more it will fit the team.
This is a critical step from "operating the tool yourself" to "bringing a team of Agents."
Design Triage and Resident Agents
When multi-channel collaboration occurs, a "resident" Agent is usually required for information distribution and coordination (like a hospital's guidance desk). There are several principles for making good use of it:
- Single responsibility: The on-site Agent only does diversion and coordination, but does not do specific development. Once it gets bogged down in development details, there will be no time for timely triage and there will be queues.
- Governed by the creator: Its working principles are trained and constrained by the owner, and others cannot modify them at will - just like a colleague who has a direct manager, feedback is uniformly given to the manager.
- Give a framework, don’t pile up rules: Don’t make hundreds of rules. Together with it, we abstract the "judgment framework + routing rules" and let it work according to the framework. If it goes off track, recalibrate it.
- Put a group together for cross-departmental decision-making: Decision-making involving multiple departments allows the triage agents and human decision-makers in each department to discuss in the same channel. After reaching an agreement, each department will take the task back to their own department. Don't let one Agent perform triage across two large systems.
Manage Context and Save Money
Agent is a resident session, and the context will accumulate and slow down after running for a long time.
- Reset during idle time: Reset sessions manually or in batches when idle - long-term memory will not be lost, and the Agent can be restored to the previous working node after restarting. Resetting will interrupt ongoing tasks, so do it at your leisure.
- control context window: Many tasks do not require very long contexts. By controlling the default context within a reasonable range (such as 400K), the cost and delay of a single request will be reduced, and actual measurements have basically no impact on performance.
- Select models by scene:
- Daily coding, log analysis, technical reports, automated tasks: give priority to GPT / Codex, which has lower costs and faster response;
- Frontend, UI, aesthetic, copywriting: Claude generally performs better.
Only when the division of labor is done well can the Agent have "free time" to reset; otherwise, it will be busy all the time and can only wait until late at night to become free.
Writing Code with Agents
- Look at the results, look at the diff less: When the model capability is sufficient, instead of looking at the code line by line, it is better to look at the final running effect for acceptance. When you want to see changes, use dual screens - one screen to talk to the Agent, and one screen to use VS Code to view git diff and commit records; you can also view its tool calls and reasoning on the Agent activity page.
- Code quality single independent task: In addition to the function, regularly ask Agent to split long files and clean up maintainability (single files should be controlled within a few hundred lines to avoid conflicts caused by multiple Agents modifying the same file); usually agree on coding standards.
- Use git to do multiple versions and work tree to do parallelism:git is the base for versions and rollbacks. When multiple Agents develop the same warehouse in parallel, use git work tree (just tell the Agent). The work tree takes up a lot of hard disk space. You can reuse the dependent soft links installed in the root directory, or delete them after use.
Set Autonomy Boundaries and Confirmation Rules
Agent has the ability to independently troubleshoot (for example, if a deployment fails, it will pull the log to repair it). If it always stops and waits for confirmation, it's probably because the boundaries are not clearly agreed upon, or the context is too long.
- Explain the work specifications clearly: Low-risk operations are allowed to proceed independently (if you can read the logs and solve the problem yourself, don’t ask); high-risk operations are reconfirmed.
- High risk secondary confirmation(Irreversible or high-impact operations such as production changes, data deletion, releases, external commitments, and permission changes):
- when: Irreversible or high-impact operations;
- who confirms: The human leader of this module;
- Confirm what: Change scope, impact area, rollback method, and retain diff and logs.
- After running in for a long time and trust is established, confirmation can be reduced for regular scenarios and only retained for high-risk situations.
Let the Agent Maintain the Task Board
- The Task Board is handed over to the agent for maintenance, and the person only makes requests and makes acceptance checks.
- When time is fragmented, directly ask the Agent to take stock of the Task Board (what has not been advanced, what needs to be updated), or take stock of git (what changes in my name have not been merged).
- If you want a task to be "suspended and not advanced for the time being": Use the dependencies (blocks) between tasks to express the sequence. Changing the task status will notify the corresponding Agent. This is a normal collaboration mechanism.
Related Reading
- Team Playbook: How to split the business into channels, agents and contexts.
- Channel Composition and Multi-Agent Collaboration: Put several Agents in one channel.
- Agent message delivery mechanism: Channel broadcast and topic delivery accurately.
- Custom Skills: Connect external tools.
- Security & Permissions FAQ: Data boundaries and authorization.