在我们传统的软件开发团队中,一个草台班子通常会有产品经理、设计师、软件开发工程师、测试工程师,商业分析运营师等等。这些角色各司其职,共同合作,完成一个软件产品的开发和上线运营。
然而,今天,GitHub 上开源的 MetaGPT,可以帮你零成本搭建一个这样的草台班子
,还有模有样的完成整个软件开发的各个工序,包括:
直到你的需求上线。
一言以蔽之,MateGPT 设计为了处理复杂任务,它可以将不同的角色分配给GPT模型,形成一个协作性软件开发团队
。
MetaGPT 目前在 GitHub 上开源,地址:https://github.com/geekan/MetaGPT ,现在是40.4k
星,这个项目的特点如下:
我们可以看看产品经理这个角色他干了些什么事情:
class ProductManager(Role):
"""
Represents a Product Manager role responsible for product development and management.
Attributes:
name (str): Name of the product manager.
profile (str): Role profile, default is 'Product Manager'.
goal (str): Goal of the product manager.
constraints (str): Constraints or limitations for the product manager.
"""
name: str = "Alice"
profile: str = "Product Manager"
goal: str = "efficiently create a successful product that meets market demands and user expectations"
constraints: str = "utilize the same language as the user requirements for seamless communication"
todo_action: str = ""
def __init__(self, **kwargs) -> None:
super().__init__(**kwargs)
self.set_actions([PrepareDocuments, WritePRD])
self._watch([UserRequirement, PrepareDocuments])
self.rc.react_mode = RoleReactMode.BY_ORDER
self.todo_action = any_to_name(WritePRD)
async def _observe(self, ignore_memory=False) -> int:
return await super()._observe(ignore_memory=True)
这个 ProductManager
类代表了产品经理的角色,负责产品开发和管理。主要职责和具体工作如下:
name
: 产品经理的名称,默认是 "Alice"。profile
: 角色的描述,默认为 "Product Manager"。goal
: 产品经理的目标,即“高效创建满足市场需求和用户期望的成功产品”。constraints
: 限制条件,如需要使用与用户需求相同的语言进行无缝交流。todo_action
: 待办任务,初始化时设置为 WritePRD
。PrepareDocuments
和 WritePRD
。todo_action
为 WritePRD
。_observe(self, ignore_memory=False)
:_observe
方法,在忽略记忆的情况下调用父类的 _observe
方法,监控任务的执行状态。其他不一一赘述,感兴趣可以翻看源码。
确保系统中已安装 Python 3.9+,可以使用以下命令进行安装:
pip install --upgrade metagpt
# 或者使用以下命令
# git clone https://github.com/geekan/MetaGPT && cd MetaGPT && pip install --upgrade -e .
安装完成后,就直接可以在命令行中使用 MetaGPT:
metagpt "创建一个 2048 游戏" # 这会在 ./workspace 目录下创建一个代码仓库
下图是生成的的 2048 这个游戏的效果,他们贴在了官网的 example 中。可以看到 性价比相当不错
,只花费了0.4 刀,那还是gpt-4-turbo-preview
这个模型,如果是gpt-4o
,那么可以显而易见的是更加便宜,而且,也不仅仅说是只能使用 OpenAI 的模型,国内的 kimi
,开源的模型如,ollama
/ groq
也都是可用的。所以就算你手头拮据,使用开源的模型来体验下,也是可以的。
MetaGPT 会生成一系列中间产物,如需求文档、架构设计、代码实现等,这些产物可以帮助开发者更好地理解和实现需求。比如,我看到 2048 这个游戏的产物中,有系统设计架构图:
需求的分析及细化:
可以看到,真的是每个角色都有自己的产物,这样的话,对于个人开发者来说,真的是非常的友好,不用再去担心自己的需求分析,架构设计,代码实现等等,都是 MetaGPT 帮你完成的。
这里:https://www.deepwisdom.ai/usecases 可以看他用户上传的很多 case,可以直接下载看产物,非常有意思。
MetaGPT 这种方式,使得软件开发过程中的许多繁琐步骤得以自动化处理,从而极大地提高了开发效率。同时,通过模拟真实的团队角色和工作流程,MetaGPT 也为开发者提供了更直观和系统化的开发体验。这不仅能解决单一任务的实现问题,还能够通过多智能体的协作,处理更复杂、更高级的开发需求。但是,他是否真的可以用来完成我们真实的开发需求,我觉得还是需要打个问号的,毕竟,软件开发是一个复杂的过程,其中涉及到的技术、业务、设计等方面的知识都是非常庞大的,MetaGPT 能否真的做到像一个真实的团队一样,完成一个软件产品的开发,还有待进一步的验证。
那么,我们不放思考下,这里面还能做哪些改进呢?
但是,也不可否认,MetaGPT 用来模拟我们的一个突发的点子,或者是一个小的项目,还是非常有用的,毕竟,我们不可能每个项目都有一个完整的团队,这个时候,MetaGPT 就可以帮助我们完成这个项目的开发验证。
关注 老码沉思录 ,获取更加全面的技术分享。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。