嗨,HN,
我一直在思考当前人工智能发展的状态,并看到一个熟悉的模式正在显现。我们正处于与2007年移动开发相似的境地——数百个碎片化的框架和SDK,它们之间无法互操作。如今,我们有LangChain、OpenAI SDK、CrewAI、Vercel AI SDK、Mastra,以及每周出现的数十个新工具。每个工具都有不同的API、集成模式和工具定义。
我提出了“面向代理编程”(Agent-Oriented Programming,AOP)作为解决方案:将AI代理作为编程语言中的第一公民,类似于面向对象编程将对象从结构体提升为核心概念。
关键概念:
- 使用`agent`关键字代替类来定义AI构造
- 使用`tool`关键字代替`def`来定义代理能力
- 原生HTML元素,如`<agent>`和`<tool>`
- 新的HTTP方法用于代理操作(CHAT、TOOL、COMPOSE)
- 在Python、TypeScript、Go、Rust等语言中实现统一语法
与这种复杂性相比:
```python
class MyAgent:
def __init__(self):
self.openai = OpenAI(api_key="...")
self.search = SearchAPI(...)
def search_and_analyze(self, query):
results = self.search.query(query)
response = self.openai.chat.completions.create(...)
return response.choices[0].message.content
```
你可以这样写:
```python
agent ResearchAgent():
def __init__(self, model="gpt-4", provider="openai"):
super().__init__(model=model, provider=provider)
tool search_web(self, query: str) -> SearchResults:
return web_search(query)
tool analyze_content(self, content: str) -> Analysis:
return llm_analyze(content)
```
这遵循了相同的进化模式:过程式 → 面向对象 → 面向代理。
该提案包括实施路线图、跨语言语法示例,以及如何标准化碎片化的AI生态系统。
希望听到HN对这种方法的看法。这是自然的进化,还是我对碎片化问题想得太多了?
[https://www.aiop.dev/aop_intro.html](https://www.aiop.dev/aop_intro.html)
返回首页
24小时热榜
你好!我正在开发一款关于NES模拟的游戏,并刚刚完成了它的宣传片。这是一款免费的网页游戏,你可以编写模拟器的各个部分,游戏会对你的代码进行单元测试和视频测试。计划在完成后将其作为开源项目发布,但我很想听听你对宣传片的反馈。
我还有一个常见问题解答,可以在这里查看: [常见问题解答](https://afska.github.io/emudevz/#/homepage-faq)