Post

Agent Street

A pixel-art simulation town where 16 MBTI-driven AI agents live, trade stocks, chat, and form fragile market equilibria โ€” powered by LLMs and real stock data.

Agent Street

๐Ÿ˜๏ธ

Python License GitHub Stars Agents

Agent Street ๆ˜ฏไธ€ไธชๅƒ็ด ้ฃŽ็”Ÿๆˆๅผๆ™บ่ƒฝไฝ“ๆจกๆ‹Ÿๅฐ้•‡ใ€‚19 ไฝ AI ไบคๆ˜“ๅ‘˜๏ผˆ16 MBTI ๆ€งๆ ผ + 3 ไฝ่ง‚ๅฏŸ่€…๏ผ‰ๅœจ็œŸๅฎž่กŒๆƒ…้ฉฑๅŠจไธ‹ไบคๆ˜“ใ€ไบค่ฐˆใ€ๅฝขๆˆ่„†ๅผฑ็š„ๅธ‚ๅœบๅ‡่กกใ€‚

๐ŸŒ ๅœจ็บฟไฝ“้ชŒ

๐Ÿ‘‰ ็‚นๅ‡ป่ฎฟ้—ฎ Agent Street

1
2
3
4
git clone https://github.com/huiihao/agent-street.git
cd agent-street
pip install -r requirements.txt
python run.py

๐Ÿ’ก ๆ ธๅฟƒๆฆ‚ๅฟต

1
2
3
4
5
6
7
8
9
10
11
12
13
14
็œŸๅฎž K ็บฟ  โ”€โ”€ๅผบๅˆถๆ˜ ๅฐ„โ”€โ”€โ†’  ๐Ÿช ๅฐ้•‡่‚กๅธ‚
                              โ”‚
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ–ผ                โ–ผ           โ–ผ            โ–ผ           โ–ผ
๐Ÿง  ่ง‚ๅฏŸยทๅๆ€ยท่ฎฐๅฟ†  ๐Ÿ’ฌ ่Šๅคฉยทไผ ๆ’ญ  ๐Ÿ“ˆ ๆ€งๆ ผ้ฉฑๅŠจ  ๐Ÿ”ญ๐Ÿ“๐Ÿ”ฎ ่ง‚ๅฏŸ่€…
                  ๆƒ…็ปช         ไบคๆ˜“        ๆŠฅๅ‘Š
 โ”‚                โ”‚           โ”‚            โ”‚
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜            โ”‚
                  โ–ผ                        โ”‚
        โš–๏ธ ๅฏนๅ†ฒๅผ•ๆ“Ž (House MM)              โ”‚
        ๅธๆ”ถๅ‡€ไธๅนณ่กก โ†’ ไปทๆ ผ โ‰ก ็œŸๅฎžไปทๆ ผ       โ”‚
                  โ”‚                        โ”‚
                  โ–ผ                        โ”‚
  ๐Ÿ”„ ่„†ๅผฑๅ‡่กก โ†’ ๆ‰“็ ด โ†’ ๆ–ฐๅ‡่กก โ†’ ๅ†ๆ‰“็ ด โ†’ โ€ฆโ€ฆ

ๅކๅฒ K ็บฟ้€ tick ๆŽจ่ฟ›ใ€‚ๆ™บ่ƒฝไฝ“่ง‚ๅฏŸไปทๆ ผๅ˜ๅŒ–ใ€ๅฝขๆˆๅๆ€ใ€็›ธไบ’ไบค่ฐˆใ€ไธ‹่พพ่ฎขๅ•ใ€‚ๆ‰€ๆœ‰ๅ‡€ไธๅนณ่กก็”ฑ House ๅšๅธ‚ๅ•†ๅธๆ”ถ๏ผŒไฟ่ฏๅฐ้•‡่‚กไปท โ‰ก ็œŸๅฎž่‚กไปทใ€‚ๆ™บ่ƒฝไฝ“ๆƒ…็ปชไธŽ็œŸๅฎžๅธ‚ๅœบ่ตฐๅŠฟไน‹้—ด็š„ๅผ ๅŠ›๏ผŒๅฝขๆˆไธ€ไธชไธๆ–ญ่ขซๆ‰“็ ด็š„่„†ๅผฑๅ‡่กกใ€‚


๐Ÿ—บ๏ธ ๅฐ้•‡ๅœฐๅ›พ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Actual 20ร—14 tile map:

Legend:  . grass  = road  | road_v  # building  * tree  ~ water

***..............***
*..................*
..###...###...###...
..###...###...###...
::::::::::::::::::::
....................
..##....###....##...
..##....###....##...
::::::::::::::::::::
...*....~~....*....
...*....~~....*....
::::::::::::::::::::
........###.........
.**..*..###..*..**..
๐Ÿ  ๅปบ็ญ‘ๅๆ ‡ๅฑ…ๆฐ‘
๐Ÿ”ต Blue Roof(2,2)INTJ ยท INTP ยท ENTJ ยท ENTP
๐Ÿ”ด Red Roof(9,2)INFJ ยท INFP ยท ENFJ ยท ENFP
๐ŸŸข Green Roof(14,2)ISTJ ยท ISFJ ยท ESTJ ยท ESFJ
๐ŸŸก Yellow Roof(2,6)ISTP ยท ISFP ยท ESTP ยท ESFP
โ˜• Morning Brew(9,6)็คพไบคไธญๅฟƒ
๐Ÿ“š Data Library(15,6)ๆ•ฐๆฎๆŸฅ่ฏข
๐Ÿข Trading Floor(2,9)่ฎขๅ•ๆ‰ง่กŒ
๐ŸŒณ Willow Park(9,9)ไผ‘้—ฒๅŒบ
๐Ÿ“ Math Tower(18,2)่ง‚ๅฏŸ่€… ๐Ÿ”ญ
๐Ÿ”ฎ Fortune Tent(1,11)่ง‚ๅฏŸ่€…

โœจ ๅŠŸ่ƒฝ็‰น็‚น

็‰นๆ€ง่ฏดๆ˜Ž
๐Ÿง  16 MBTI ๆ€งๆ ผๆฏ็งๆ€งๆ ผ็‹ฌ็‰น็š„ไบคๆ˜“็ญ–็•ฅๅ’Œ้ฃŽ้™ฉๅๅฅฝ
๐Ÿ’ฌ Agent ้—ดๅฏน่ฏๅฎžๆ—ถ่Šๅคฉไผ ๆ’ญๆƒ…็ปช๏ผŒๅฝขๆˆ็พคไฝ“ๅฟƒ็†
๐Ÿ“ˆ ็œŸๅฎž่กŒๆƒ…้ฉฑๅŠจๅކๅฒ K ็บฟ้€ tick ๆŽจ่ฟ›ๅธ‚ๅœบ
โš–๏ธ House ๅšๅธ‚ๅ•†ๅธๆ”ถๅ‡€ไธๅนณ่กก๏ผŒไฟ่ฏไปทๆ ผไธ€่‡ดๆ€ง
๐Ÿ”„ ่„†ๅผฑๅ‡่กกๆ™บ่ƒฝไฝ“ๆƒ…็ปช vs ็œŸๅฎžๅธ‚ๅœบ็š„ๅŠจๆ€ๅผ ๅŠ›
๐Ÿค– LLM ้ฉฑๅŠจๅฏ้€‰ LLM ไธบๆ™บ่ƒฝไฝ“ๆไพ›่ฏญ่จ€ๅ’ŒๆŽจ็†่ƒฝๅŠ›
๐ŸŽจ ๅƒ็ด ้ฃŽ UI20ร—14 tile ๅฐ้•‡ๅœฐๅ›พ๏ผŒๅคๅคๆธธๆˆ้ฃŽๆ ผ
๐Ÿ”ญ ่ง‚ๅฏŸ่€…็ณป็ปŸ็‹ฌ็ซ‹ Agent ็›‘ๆŽงๅธ‚ๅœบๅนถ็”Ÿๆˆๅˆ†ๆžๆŠฅๅ‘Š

๐Ÿ“– ไฝฟ็”จๆ–นๆณ•

ๅฟซ้€ŸๅฏๅŠจ

1
2
3
4
5
# ๅฎ‰่ฃ…ไพ่ต–
pip install -r requirements.txt

# ๅฏๅŠจๅŽ็ซฏ
python run.py

้…็ฝฎ LLM๏ผˆๅฏ้€‰๏ผ‰

Agent Street ๅฏๅœจๆ—  LLM ๆจกๅผไธ‹่ฟ่กŒ๏ผŒๆ™บ่ƒฝไฝ“ไฝฟ็”จ้ข„่ฎพๆ€งๆ ผๆจกๆฟใ€‚ๅฏ็”จ LLM ไปฅ่Žทๅพ—ๆ›ดไธฐๅฏŒ็š„ๅฏน่ฏๅ’ŒๆŽจ็†๏ผš

1
2
export OPENAI_API_KEY=sk-xxx
# ๆˆ–ๅœจ .env ๆ–‡ไปถไธญ้…็ฝฎ

๐Ÿ’ก LLM ้…็ฝฎๅปบ่ฎฎ

  • ๆŽจ่ไฝฟ็”จ gpt-4o-mini ๆˆ– deepseek-chat ็ญ‰ไฝŽๆˆๆœฌๆจกๅž‹๏ผŒ16 ไธช Agent ๅนถๅ‘่ฐƒ็”จๆ—ถๆˆๆœฌๅฏๆŽง
  • ๅฏๅœจ .env ๆ–‡ไปถไธญ้…็ฝฎ LLM_MODELใ€LLM_BASE_URL ็ญ‰ๅ‚ๆ•ฐไปฅๅˆ‡ๆขไธๅŒๆœๅŠกๅ•†
  • ๆ—  LLM ๆจกๅผไธ‹ๆ™บ่ƒฝไฝ“ๅŒๆ ทๅฏไปฅๆญฃๅธธไบคๆ˜“๏ผŒไป…ๅฏน่ฏๅ’Œๅๆ€ๅŠŸ่ƒฝๅ—้™

่ง‚ๅฏŸๅธ‚ๅœบ

  1. ๆต่งˆๅ™จๆ‰“ๅผ€ http://127.0.0.1:8000
  2. ่ง‚ๅฏŸ 16 ไฝ MBTI ไบคๆ˜“ๅ‘˜ๅœจๅฐ้•‡ไธญ็งปๅŠจใ€ไบค่ฐˆใ€ไบคๆ˜“
  3. ๆŸฅ็œ‹่ง‚ๅฏŸ่€…็”Ÿๆˆ็š„ๅฎžๆ—ถๅธ‚ๅœบๆŠฅๅ‘Š
  4. ่ฟฝ่ธช่„†ๅผฑๅ‡่กก็š„ๅฝขๆˆไธŽๆ‰“็ ด

๐Ÿ—๏ธ ๆŠ€ๆœฏๆžถๆž„

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                  Frontend (Web)                 โ”‚
โ”‚  20ร—14 Tile Map ยท Agent Chat ยท Market Board    โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                  Backend (Python)               โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  Agent  โ”‚  โ”‚  Town   โ”‚  โ”‚  Market Engine โ”‚  โ”‚
โ”‚  โ”‚ Engine  โ”‚  โ”‚  World  โ”‚  โ”‚  (House MM)    โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚           LLM Interface (optional)       โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚               Data Layer                        โ”‚
โ”‚  Stock K-lines ยท Agent Memory ยท Event Logs     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“ฆ ้กน็›ฎ็ป“ๆž„

1
2
3
4
5
6
7
8
9
10
11
agent-street/
โ”œโ”€โ”€ frontend/          # Web ๅ‰็ซฏ๏ผˆๅƒ็ด ้ฃŽ UI๏ผ‰
โ”œโ”€โ”€ backend/           # Python ๅŽ็ซฏ
โ”‚   โ”œโ”€โ”€ agents/        # ๆ™บ่ƒฝไฝ“ๅผ•ๆ“Ž
โ”‚   โ”œโ”€โ”€ models/        # ๅฐ้•‡ๅœฐๅ›พไธŽๅธ‚ๅœบๆจกๅž‹
โ”‚   โ””โ”€โ”€ tools/         # ๅทฅๅ…ท่„šๆœฌ
โ”œโ”€โ”€ docs/              # ๆ–‡ๆกฃไธŽๆˆชๅ›พ
โ”œโ”€โ”€ run.py             # ๅฏๅŠจๅ…ฅๅฃ
โ”œโ”€โ”€ requirements.txt   # Python ไพ่ต–
โ”œโ”€โ”€ README.md          # ่‹ฑๆ–‡ๆ–‡ๆกฃ
โ””โ”€โ”€ README_CN.md       # ไธญๆ–‡ๆ–‡ๆกฃ

๐Ÿค ่ดก็Œฎ

ๆฌข่ฟŽๆไบค Issue ๅ’Œ Pull Request๏ผ

  1. Fork ๆœฌไป“ๅบ“
  2. ๅˆ›ๅปบ็‰นๆ€งๅˆ†ๆ”ฏ (git checkout -b feature/AmazingFeature)
  3. ๆไบคไฟฎๆ”น (git commit -m 'Add some AmazingFeature')
  4. ๆŽจ้€ๅˆฐๅˆ†ๆ”ฏ (git push origin feature/AmazingFeature)
  5. ๆ‰“ๅผ€ Pull Request
This post is licensed under CC BY 4.0 by the author.