A bilingual AI agent is not something you switch on; it is something you write down. Large models can already read and write both Chinese and English well, but left alone they guess which language, which script and which tone you want. The fix is to state your language rules in the agent’s configuration, and the four AgentSoul files give each rule a sensible home.
Why bilingual agents drift
If you write to an agent in Chinese with English technical words mixed in, it may answer in either language, switch halfway through, or translate terms you would never translate yourself. It may choose Simplified characters when your family reads Traditional, or a formal register when you wanted a friendly one. None of this is a failure of the model. It is missing information, and configuration files are where that information belongs.
Where each language rule goes
- soul.md, who the agent is: its own voice in each language. Add a rule such as “Reply in the language the user writes in; keep code, commands and file names in English.”
- user.md, who it serves: your preferences in userPrefs. For example “Prefers Simplified Chinese for everyday chat and English for technical writing; reads Traditional characters too.”
- agents.md, how it works: per-task rules in steps. For example “Draft emails to clients in English; summaries for family in Chinese.”
- identity.md, how it presents: a display name that works in both languages, so it reads naturally in either context.
Five decisions worth writing down
- Default language: which one the agent uses when it cannot tell.
- Mirroring: whether it should follow the language of your last message, or stick to a default.
- Script: Simplified or Traditional Chinese, and whether that changes by audience.
- Register: friendly 你 or respectful 您, casual or formal, and whether it differs for work and family.
- Glossary: terms to keep in English, such as product names, technical words and acronyms, and terms that must always be translated.
A short glossary does more than you might expect. A line like “Keep these in English: pull request, deploy, API, sprint” prevents a coding agent from inventing translations that no colleague would recognise.
Your Enneagram result can inform these choices too. A Type 2 soul that naturally softens its words may need a rule to stay plain and direct in English business writing. A Type 8 soul that is blunt by default may need a reminder to use a gentler register with elders in Chinese. The type tells you where the agent’s instincts lie; the language rules tell it how to carry those instincts across two cultures.
Starting from AgentSoul
In the AgentSoul iPhone app, Gao Dao 高导 converses in Chinese, so many bilingual users find it the natural place to tell their stories. Flash Forge 闪电熔铸 reads chat screenshots in either language, and the app interface switches between English and Simplified Chinese in Settings. Whichever forge you use, you receive the same four Markdown files.
Send them to your computer with AirDrop, Files or email, open them in a text editor and add your language rules. Then place them where your agent can read them. Claude Code reads a CLAUDE.md file and can import other files with an @path reference; Cursor supports project rules and reads AGENTS.md; OpenClaw workspaces boot from soul.md, identity.md, user.md and agents.md. If you use a chat assistant, paste the key rules into its custom instructions.
Test it in both directions
After editing, try a few messages: one in Chinese, one in English, one mixed. Ask for something technical and something personal. If the agent slips, make the rule more specific rather than longer. A clear sentence such as “Never translate code identifiers” works better than a paragraph of general advice. Over time, the files become a small, honest record of how you actually live between two languages.
Questions
Will my AgentSoul files make the agent reply in Chinese?
Not unless you tell it to. Add a clear language rule to soul.md or user.md; the files are plain Markdown and you can edit them in any text editor.
Should I write the files in Chinese or English?
Either works with current large models. Many bilingual builders keep field names in English, so tools recognise them, and write the content in whichever language they think in.
Can one agent handle Cantonese or Traditional Chinese?
Many models can, but you need to say so explicitly, for example by naming Traditional characters as the default script in user.md.