LangGraph Engineer
Summary
TLDR「Lang graph Engineer」というプロジェクトについて紹介しています。これは、L graphを用いた開発の際に、アプリケーションの骨組みを自動生成するツールです。ユーザーからの要件をもとに、ノードやエッジの構成を提案し、ビジネスロジックの実装を促します。L graph Studio上で公開されているため、公開リンクから試してみることができます。このツールは、開発者がL graphの基礎的な構造を考えることなく、ビジネスロジックに集中できるように設計されています。
Takeaways
- 🚀 プロジェクト「Lang Graph Engineer」は、L-graphアプリケーションの骨組みを自動生成するサイドプロジェクトです。
- 🤖 Lang Graph Engineerは、ユーザーからの要件を収集し、L-graphアプリケーションの骨組みを作成するエージェントです。
- 📝 骨組みにはノードとエッジが含まれていますが、ノードやエッジの中身はユーザーが自分で記述する必要があります。
- 🛠️ Lang Graph Studioが新機能として、公開リンクを通じてL-graphデプロイメントを共有できるようになりました。
- 🔍 「gather requirements」ノードは、アプリケーションの要件を収集するための対話型のノードです。
- 📝 「draft answer」ノードは、収集された情報をもとにL-graphアプリケーションのドラフトを作成します。
- 🔄 「check node」は、生成されたマークダウンにPythonスニペットが含まれているかを基本的なチェックを行います。
- 📑 「critique node」は、LLM(Large Language Model)を使用して生成されたPythonコードを評価します。
- 🔧 Lang Graph Engineerはオープンソースで、各ノードに対応するPythonファイルがリポジトリにあります。
- 📚 ユニットテストファイルがAPIの説明役として機能しており、生成されたコードの質向上に役立っています。
- 🔄 チェックに合格すると「critique node」へ、不合格の場合は「draft answer」ノードに戻り再生成が行われます。
- 💻 最終的なコードはLang Graph Studioで確認・テストでき、必要に応じてビジネスロジックを実装することができます。
Q & A
プロジェクトの名前は何ですか?
-プロジェクトの名前はLang Graph Engineerです。
Lang Graph Engineerの目的は何ですか?
-Lang Graph Engineerの目的は、Lang Graphアプリケーションのスキャフォルディングを構築するのを支援することです。
このプロジェクトの主な機能は何ですか?
-このプロジェクトの主な機能は、要求を取得し、それに基づいてLang Graphアプリケーションの基本的な構造を生成することです。
生成されたグラフのノードとエッジの内容はどうなりますか?
-生成されたグラフのノードとエッジの内容はユーザーが記述する必要があり、プロジェクトはその構造だけを提供します。
Lang Graph Engineerが提供する具体的なノードの例を挙げてください。
-具体的なノードの例として、要求を収集するノード(gather requirements node)や、ドラフトを生成するノード(draft answer node)があります。
チェックノードは何をしますか?
-チェックノードは生成されたドラフトがPythonのスニペットを含むMarkdownを生成したかを確認します。
生成されたコードの品質を評価するために使用される方法は何ですか?
-生成されたコードの品質を評価するために、プログラムチェックとLLM(大規模言語モデル)によるチェックの2つの方法が使用されます。
Lang Graph Engineerのコードはどこで確認できますか?
-Lang Graph Engineerのコードはオープンソースリポジトリで確認できます。
プロジェクトの公開リンクはどこで確認できますか?
-プロジェクトの公開リンクは動画の説明欄に記載されています。
今後の改善点として考えられているものは何ですか?
-今後の改善点として、追加のチェックやプロンプトの改善、Lang Graph Studioへの統合などが考えられています。
Outlines
🛠️ L-Graphエンジニアの紹介
L-Graphエンジニアは、L-Graphアプリケーションの骨組みを自動生成するサイドプロジェクトです。このツールは、開発者がL-Graphを用いた開発を効率化し、ビジネスロジックに集中できるように設計されています。L-Graphエンジニアは、ユーザーからの要件を収集し、ノードとエッジの構成を自動生成しますが、ノードやエッジの内容はユーザーが自分で記述する必要があります。このプロセスは、L-Graph Studio上で公開されているベータ機能として公開されており、誰でも試すことができます。
🔍 L-Graphエンジニアの動作確認
L-Graphエンジニアの動作を確認するために、ビデオスクリプトでは、ツールに「rag app」の生成を要求します。ツールは、要件を収集し、草稿を作成し、チェックを行い、批判的なフィードバックを元に修正を繰り返します。生成されたコードは、プログラミング的チェックとLLMによる批判的チェックを通過し、最終的にユーザーが確認できる形で提供されます。このプロセスでは、L-GraphのAPIの使い方をユニットテストから得た情報に基づいてコードを生成し、ユーザーはビジネスロジックを実装する部分に焦点を当てることができます。
Mindmap
Keywords
💡L-graph
💡Lang graph Engineer
💡スキャフォールディング
💡ノード
💡エッジ
💡ビジネスロジック
💡ユニットテスト
💡LLM (Large Language Model)
💡チェックノード
💡クリティックノード
💡オープンソース
Highlights
Introduction to a side project called Lang Graph Engineer, designed to assist in building scaffolding for L graph applications.
Lang Graph Engineer aims to automate the creation of the structural framework for L graph apps, leaving the user to focus on business logic.
The project is showcased using Lang Graph Studio, deployed on Lang Graph Cloud, demonstrating a new beta feature of public sharing.
Explanation of the workflow involving different nodes such as 'gather requirements', 'draft answer', 'check node', and 'critique node'.
The 'gather requirements' node initiates a conversation to understand the user's needs for the L graph application.
The 'draft answer' node generates a preliminary version of the L graph application based on the gathered requirements.
The 'check node' performs basic checks to ensure the draft contains a Python snippet, with plans for more comprehensive checks in the future.
The 'critique node' uses an LLM to evaluate the generated Python code for reasonableness, adding an AI-based review process.
If the critique node approves, the process concludes; if not, it loops back to the 'draft answer' for revisions.
Lang Graph Engineer is an open-source repository, allowing users to view and contribute to the codebase.
Inside the repository, each node has a corresponding Python file, demonstrating the modularity of the project.
The 'draft' node uses a simple prompt and unit test file to generate code, leveraging L graph's API for accuracy.
The 'agentp' file defines the agent's behavior, central to the Lang Graph Engineer's functionality.
A live demonstration of the application generating an L graph app, starting with vague input and refining through interaction.
The output includes a new feature in Lang Graph Studio that allows easy viewing of the desired output types.
The generated code is tested in a notebook, showing that it runs correctly with the correct imports and structure.
The inner workings of the 'retrieve documents' and 'generate answer' nodes are left for the user to implement with their business logic.
The video concludes with an invitation to try out the publicly available Lang Graph Engineer and an offer for feedback.
Transcripts
hello today I want to talk a little bit
about a project that we've been working
on kind of as a side project but we're
excited to share it both one as an
example of what you can build with L
graph but then also two as something
that's hopefully useful when you're
developing with L graph so it's called
Lang graph engineer and the idea is that
it will help you build the scaffolding
for your L graph
applications so the idea is that we have
this graph this agent which you can talk
to it will get requirements from you and
then it will create the scaffolding of a
lingraph app and what does that mean
that means that it will try to get all
the nodes and edges correct but it won't
try to necessarily fill in the contents
of the nodes or edges we'll leave that
to you and the logic that that you write
I think this is helpful because you
shouldn't have to think deeply about
Lang graph constructs in order to build
an agent but you should have to think
about your business logic and so that's
kind of like the line that we're trying
to draw here we'll try to write the lane
graph boiler plate for you but you'll
have to write the business logic that
lives inside the nodes and edges of your
graph so this is the Lang graph
application that we've created that
represents Lang graph engineer and what
you're seeing right now is Lang graph
Studio it's deployed on Lang graph cloud
and it's deployed publicly so this is a
new beta feature we're testing where you
can share public links to a langra
deployment and so in the link down below
where you can try this out you'll you'll
see the public link to try it
out so here is roughly what the langra
engineer app is doing so there's a few
different nodes so there's this gather
requirements node which can go to either
draft answer or to the end what this
node does is it tries to talk to you and
gather requirements for the application
so it tries to get more information from
you about what exactly you want to
do once it has enough information it
will call this draft answer node and
this will go to a separate agent this
agent is focused on writing the laying
graph application for you so it will
generate a full graph and then it will
go to this check Noe this check node is
a very basic check to make sure that the
draft node generated some markdown that
contains a python
snippet in the future we'll add other
checks in here like making sure that all
import statements are correct or even
trying to run the
code after we run these checks which are
programmatic checks if it passes we'll
go onto a critique node if it fails
we'll feed that back into the draft
answer node and it will try
again what does the critique node do the
critique node uses an llm to critique
the outputs so it will pass the
generated python code into an llm and
say hey does this look reasonable so
we're running two different types of
checks here one are programmatic checks
the others using an llm if the critique
node thinks it's good then it will go go
to the end and it will
finish you can find all the code for
this in Lang graph
engineer so this is an open source repo
and if we look inside this folder we can
see that there's a python file roughly
for each of of the nodes so let's look
inside the draft node because this is
doing a lot of the heavy lifting so we
can see that it's a pretty simple prompt
it's
basically some brief description about
what Lang graph is a path to a unit test
file so I'll talk more about this later
and then it has some more
instructions some of these instructions
include how to generate things and then
others include the specific format so to
use this python markdown
syntax we pass in a unit test file
because we actually have a lot of pretty
good unit test coverage in L graph and
these unit tests are actually a really
good way of describing the API of what
Lang graph should do and how you should
invoke it so actually we found that by
passing this in it's able to generate
pretty reasonable looking
results there's other files here for
other nodes and you can check those out
agentp is another great file to look at
this is where the agent is actually
defined so let's try it out let's ask it
to generate a rag app
please so this is pretty vague it's not
entirely sure what uh you know it should
do and so it asks some kind of like
follow-up questions um do I have any
specific steps um
um
retrieve documents first then generate
answer um it's pretty
straightforward so now it's calling the
draft answer because it has enough
information
this is the draft node
responding we can see that is writing
some code it did the check pretty fast
because the checks deterministic and now
the critique node and so the critique
node seems good so it's finished if we
want to look at the output we can click
this button here and we can see the full
output so this is a new thing we've
added to Lang graph Studio to make it
easy to see the desired types of
output so let's copy this
code let's put it in a notebook see if
it actually
runs so it actually runs so it it got
kind of like the ability to define a uh
workflow a graph it got all the Imports
correct now if you notice here the the
innards of the retrieve documents node
and the generate answer node they're
still completely mocked out you got to
put your logic here and that's the idea
you'll put your business logic will help
create the
scaffolding that's it for this video
as I mentioned this is publicly
available so you can try it out um we'll
be improving it uh over the next few
weeks so we'll be adding in some more
checks we'll be improving the prompts
maybe adding in some other critique
steps maybe integrating it into langra
studio so it can run
locally thank you all for watching and
please reach out if any questions
5.0 / 5 (0 votes)