{"id":17526956,"url":"https://github.com/Globe-Engineer/agents","last_synced_at":"2025-03-06T06:31:11.820Z","repository":{"id":204526960,"uuid":"705426507","full_name":"Globe-Engineer/agents","owner":"Globe-Engineer","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-04T15:51:49.000Z","size":84,"stargazers_count":29,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-01-04T16:50:47.662Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Globe-Engineer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-16T01:19:44.000Z","updated_at":"2023-12-19T09:47:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"68f5fa12-0c66-4736-ade3-b9b27419a2ce","html_url":"https://github.com/Globe-Engineer/agents","commit_stats":null,"previous_names":["globe-knowledge-solutions/agents","globe-engineer/agents"],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Globe-Engineer%2Fagents","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Globe-Engineer%2Fagents/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Globe-Engineer%2Fagents/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Globe-Engineer%2Fagents/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Globe-Engineer","download_url":"https://codeload.github.com/Globe-Engineer/agents/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242161566,"owners_count":20081895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-20T15:02:39.464Z","updated_at":"2025-03-06T06:31:11.812Z","avatar_url":"https://github.com/Globe-Engineer.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Globe Agent Frameworks\n\nThis repo is a collection of useful LLM prompting/programming techniques that we've empirically found to be very useful.\nAll the examples use the OpenAI ChatGPT API using a [custom wrapper](https://github.com/Globe-Knowledge-Solutions/chatgpt-wrapper) that you can install with:\n\n```bash\npip install chatgpt-wrapper\n```\n\n---\n***RANT:***\n\nWe made this because open source LLM agent programming frameworks are becoming absurdly complicated and over-abstracted.\nLibraries seem to be designed with virality as the primary objective rather than functionality, so they are extremely feature dense and bloated.\nThey are so abstracted away from the actual prompts being sent to LLMs that you can't possibly optimize for your usecase.\n\n---\n\nThis repo is NOT a library in the sense that you can install it and use it via an API. Instead, we distill the most useful ideas we've found into minimal reproducable code examples that showcase useful concepts in the space of agent programming.\n\nThe goal is to encourage **forking** and **copy-pasting** of both code and ideas.\n\nIf you find this code useful or interesting, tag @ivan_yevenko and/or @sincethestudy on twitter and share your agent code. You should also join our [discord](https://discord.gg/79WH83sS3M) to share what you're working on. We run AI agent hackathons like [this one](https://colab.research.google.com/drive/1qxemv5_hCLxNu5NJUG4NuwE5_2Kh365Z?usp=sharing\u0026authuser=1#scrollTo=wpiW9JIhoXpL) and discord is the best way to find out about them.\n\n## Reasoners\nIn the `reasoners/` folder, we introduce the concepts of internal monologue, objective-oriented programming and structured outputs. It lets us write code that looks like this:\n\n```python\nreasoner.set_objective(\"do some task\")\nwhile not reasoner.objective_complete:\n    thought = reasoner.internal_monlogue(\"I need to come up with a plan\")\n    plan = reasoner.extract_info(\"Here is my plan written in list form:\\n{plan}\", List[str])\n    for step in plan:\n        execute_step(step)\n    reasoner.evaluate_objective()\n```\n\n## Context Management\nThe `context_management/` folder shows some examples of more advanced context management for LLMs\n\n```python\ncontext = Context()\n\nmemory_manager = MemoryManager(context)\nmemory_manager.add_memory(\"date\", lambda: datetime.datetime.now().strftime(\"%B %d, %Y\"))\nmemory_manager.add_memory(\"user's birthday\", \"January 1st\")\nmemory_manager.add_memory(\"gift recommendations\", \"A, B, C, D...\")\n\nwith context.branch():\n    memory_manager.load_memories(\"date\", \"user's birthday\", \"gift recommendations\")\n    plan = plan_birthday()\n```\n\n## Code Generation\nCode generation is the new function calling. Check out the `code_gen/` folder for an example of function generation. We'll be adding to this folder over time.\n\n---\nmade by Ivan Yevenko\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGlobe-Engineer%2Fagents","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGlobe-Engineer%2Fagents","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGlobe-Engineer%2Fagents/lists"}